Мазмұны:

4x4 электронды шахмат тақтасының демонстрациясы/ Arduino Mega + RFID оқу құралы + холл-эффект сенсорларымен: 7 қадам
4x4 электронды шахмат тақтасының демонстрациясы/ Arduino Mega + RFID оқу құралы + холл-эффект сенсорларымен: 7 қадам

Бейне: 4x4 электронды шахмат тақтасының демонстрациясы/ Arduino Mega + RFID оқу құралы + холл-эффект сенсорларымен: 7 қадам

Бейне: 4x4 электронды шахмат тақтасының демонстрациясы/ Arduino Mega + RFID оқу құралы + холл-эффект сенсорларымен: 7 қадам
Бейне: Как подключить второй аккум на электромобиль 2024, Қараша
Anonim
4x4 электронды шахмат тақтасының демонстрациясы/ Arduino Mega + RFID оқу құралы + холл эффектілі сенсорлармен
4x4 электронды шахмат тақтасының демонстрациясы/ Arduino Mega + RFID оқу құралы + холл эффектілі сенсорлармен

Сәлем жасаушылар, Мен Тахир Мириев, Таяу Шығыс техникалық университетінің 2018 түлегі, Анкара/ Түркия. Мен қолданбалы математика мамандығы бойынша оқыдым, бірақ мен әрқашан бұйымдар жасауды ұнататынмын, әсіресе электроникамен, дизайнмен және бағдарламалаумен жұмыс жасаған кезде. Біздің өнеркәсіптік дизайн бөлімінде ұсынылған бірегей прототиптік курстың арқасында мен шынымен қызықты нәрсе жасауға мүмкіндік алдым. Жобаны бір семестрге (4 ай) созылған Мерзімді жоба ретінде қарастыруға болады. Студенттерге Arduino микроконтроллері мен сенсорларын қолдана отырып, бұрыннан бар өнімдерді/демонстрацияларды жобалауға креативті тәсіл табу және өз идеяларын іске асыру міндеті жүктелді. Мен шахмат туралы ойладым, табысты жобалар бойынша біраз зерттеулер жүргізгеннен кейін байқадым, алдыңғы жобаларда жасаушылар негізінен Raspberry Pi-мен бірге MUX-пен бірге дайын шахмат қозғалтқыштарын (әр фигураның барлық қозғалыстары бағдарламаланған) қолданған. ескізгіштер, светодиодтар мен қамыс қосқыштары. Мен өз жобамда шахмат қозғалтқышы тұрғысынан кез келген сыртқы бағдарламалық жасақтамадан арылуды және RFID оқу құралын, Холл эффектілі сенсорларды және Arduino Mega көмегімен фигураларды тану мәселесінің шығармашылық шешімін табуды шештім.

1 -қадам: Фигураны тану мәселесі дегеніміз не және оны қалай шештім

Фигураны тану мәселесі деген не және оны қалай шештім
Фигураны тану мәселесі деген не және оны қалай шештім

Қарапайым тілмен айтқанда, сізде «миы» = микроконтроллері бар шахмат тақтасы бар делік, және сіз өзіңіздің тақтаңызда қолыңызда қандай фигураны ұстағаныңызды және оны қайда орналастырғаныңызды түсіндіруіңіз керек. Бұл фигураларды тану мәселесі. Егер шахмат қозғалтқышы тақтада бастапқы күйінде тұрса, бұл мәселені шешу маңызды емес. Неліктен бұлай болғанын түсіндірмес бұрын, кейбір ескертулерді айта кетейін.

Мұнда заттар қалай жұмыс істейтініне қызығушылық танытқандар үшін маған қамыс қосқыштары не үшін қажет екендігі туралы түсініктеме беруім керек (немесе мен Холл эффектілі сенсорларды қолдандым): егер сіз әр бөліктің астына магнит қойып, оны алып кетсеңіз. тақтадағы шаршы (әр шаршының астында қамыс қосқышы бар деп есептесек) сенсордың үстіндегі магнит өрісінің болуына/болмауына байланысты контроллерге шаршыда тұрған бөліктің бар -жоғын түсінуге болады.. Дегенмен, ол әлі де микроконтроллерге шаршыда дәл қай бөлік тұрғаны туралы ештеңе айтпайды. Бұл тек шаршыда кесек жоқ/жоқ екенін айтады. Бұл кезде біз шахмат қозғалтқышының көмегімен шешілетін фигураларды тану мәселесімен бетпе -бет келеміз. Осылайша, микроконтроллер жадта барлық адрестері бар әрбір бөлік басынан бастап қайда тұрғанын «біледі». Дегенмен, бұл бізге үлкен шектеулер әкеледі: сіз, айталық, кез келген бөлікті таңдай алмайсыз және оларды кездейсоқ тақтаға кез келген жерге орналастыра алмайсыз және ойынға талдау жасай алмайсыз. Сіз әрқашан басынан бастауыңыз керек, барлық бөлшектер бастапқыда тақтада болуы керек, себебі бұл бөлікті көтеріп, басқа шаршыға орналастырғаннан кейін микроконтроллердің өз орнын бақылауының жалғыз жолы. Шындығында, бұл мен байқаған мәселе болды және мен жұмыс жасауды шештім.

Менің шешімім шығармашылық болғанымен өте қарапайым болды. Мен тақтаның алдыңғы жағына RFID оқу құралын қойдым. Сонымен қатар, мен тек магнитті ғана емес, сонымен қатар RFID белгісін де тіркедім, оның әрбір бөлігінде бірегей идентификаторы бар. Фигураны қалаған квадратқа қоймас бұрын, оны алдымен RFID оқу құралына жақын ұстауға және оның идентификаторын оқуға, бөлікті анықтауға, жадта сақтауға, содан кейін оны қалаған жеріңізге қоюға болады. Сондай-ақ, қамысты қосқыштарды пайдаланудың орнына, схеманың дизайнын жеңілдету үшін мен дәл осылай жұмыс жасайтын холл-сенсорларды қолдандым, олардың айырмашылығы 0 немесе 1-ді микроконтроллерге сандық деректер ретінде жіберу болды, бұл «бар» дегенді білдіреді. немесе тиісінше шаршы алаңда «жоқ». Мен светодиодтарды да қостым (өкінішке орай, бір түсте емес, оларда жоқ), сондықтан сіз бөлікті көтерген кезде, көтерілген бөлікті орналастыруға болатын барлық шаршы орындар жанады. Мұны шахмат үйренушілерге арналған оқу тәжірибесі деп ойлаңыз:)

Ақырында, мен бірнеше техниканы қолданғаныма қарамастан, жоба қарапайым және түсінікті болып қалады, терең өңделмеген немесе күрделі емес. Менде 8х8 шахмат тақтасын жалғастыруға уақыт болмады (сонымен қатар Түркияда 64 холл-эффект датчиктері қымбат болғандықтан, мен проектке байланысты барлық шығындарды өз мойныма алдым), сондықтан мен 4x4 демо нұсқасын тек екі сынақтан өткіздім: Pawn және Королева. Шахмат қозғалтқышын пайдаланудың орнына мен Arduino үшін бастапқы кодты жаздым, ол төмендегі бейнеде көретіндердің бәрін жасайды.

2 -қадам: іс қалай жұмыс істейді

Image
Image

Жобаның қалай жасалғанын кезең-кезеңмен түсіндіруге өтпес бұрын, менің ойымша, иллюстрациялық бейнені қарап, интуитивті түсінік алған дұрыс болар еді.

Ескертпе №1: қызыл жарықдиодтардың бірі (қатарда бірінші/ солдан оңға қарай) жанып кетті, қарсы емес.

Ескертпе № 2: кеңінен қолданылғанымен, менің тәжірибемнен RFID технологиясы DIY қосымшаларында қолданудың ең жақсы идеясы емес деп айта аламын (әрине, егер сізде баламалар болса). Барлығы жұмыс істемей тұрып, мен шахмат фигураларын оқырманға жақын орналастыру және жеке куәлік дұрыс оқылғанша күту арқылы көптеген сынақтар өткіздім. Бұл үшін сериялық портты орнату керек, себебі RFID оқу құралының идентификаторды оқуы - бұл бас ауруы. Мәселені түсіну үшін адам өз бетімен тырысуы керек. Егер сізге қосымша көмек қажет болса, маған хат жіберіңіз ([email protected]) немесе скайпты қосыңыз (tahir.miriyev9r1), біз сөйлесуді жоспарлап, мәселелерді егжей -тегжейлі талқылай аламыз, мен бәрін мұқият түсіндіремін.

3 -қадам: Құралдар мен компоненттер

Құралдар мен компоненттер
Құралдар мен компоненттер
Құралдар мен компоненттер
Құралдар мен компоненттер
Құралдар мен компоненттер
Құралдар мен компоненттер

Міне мен жобада қолданған барлық құралдардың тізімі: Электронды компоненттер:

  • Нан тақтасы (x1)
  • Көп бағытты A1126LUA-T (IC-1126 SW OMNI 3-SIP ALLEGRO) Холлдық эффект сенсорлары (x16)
  • Негізгі 5 мм светодиодтар (x16)
  • Өткізгіш сымдар
  • 125 кГц RFID оқу құралы мен антенна (x1)
  • Arduino Mega (x1)
  • RFID 3M тегтері (x2)

Басқа материалдар:

  • Plexiglass
  • Жылтыр қағаз
  • қысқа тақтайшалар (ағаштан жасалған)
  • Акрил бояуы (қою жасыл және крем) x2
  • Жұқа картон
  • 10 мм дөңгелек магниттер (x2)
  • Ломбард пен патшайымның туындылары
  • Дәнекерлеуіш пен дәнекерлеу материалдары

4 -қадам: схемалар (фризинг)

Схемалар (фризинг)
Схемалар (фризинг)

Схемалар сәл күрделі, мен білемін, бірақ идея түсінікті болуы керек. Мен Фритзингті бірінші рет қолдандым (айтпақшы өте ұсынылады), мүмкін, қосылыстар дәлірек тартылуы мүмкін. Қалай болғанда да, мен схемадағы барлық нәрсені атап өттім. Ескертпе: Fritzing мәліметтер базасындағы компоненттер арасында RDIF Reader нақты үлгісін таба алмадым. Мен қолданған модель - 125 кГц RFID модулі - UART. Сіз Youtube -те осы модульді Arduino -мен қалай орнату керектігі туралы оқулықтарды таба аласыз.

5 -қадам: процесс

Процесс
Процесс

Заттардың қалай жасалғанын түсіндіруге уақыт келді. Қадамдық сипаттаманы орындаңыз:

1. A B C D 1 2 3 4 нөмірленген 16 квадрат жасау үшін тақтаның үстіңгі бөлігінің қабырғаларын кесу және желімдеу үшін 21х21 см картон, сонымен қатар қосымша картон алыңыз. Картон жұқа болғандықтан, сіз әр шаршыға 16 зал әсерлі сенсорды қоюға болады, олардың әрқайсысында 3 аяғы бар және әрқайсысында 2 аяғы бар 16 жарықдиодты.

2. Құрамдас бөліктерді орнатқаннан кейін, Холл эффектілі датчиктердің аяқтарын және светодиодты сымдарға дәнекерлеуді орындау қажет болады. Осы кезде мен түрлі -түсті сымдарды ақылды түрде таңдауға кеңес берер едім, осылайша сіз LED -тің + және - аяқтарымен, сонымен қатар Hall эффектілі сенсорлардың VCC, GND және PIN аяқтарымен шатастырмас үшін. Әрине, сенсорлары бар ПХД басып шығаруға болады, тіпті WS2812 типті жарықдиодты дәнекерленген, бірақ мен жобаны қарапайым етіп сақтап, тағы да «қолмен жұмыс жасауды» шештім. Бұл кезде сізге тек сымдар мен сенсорларды дайындау қажет, Фритзинг схемасынан кейінгі кезеңдерде әр сымның ұшын қай жерге бекіту керектігін көруге болады. Көп ұзамай олардың кейбіреулері тікелей Arduino Mega PIN кодына өтеді (олардың саны Arduino -да жеткілікті), басқалары нан тақтасына және барлық GND -ді сымның бір бөлігіне дәнекерлеуге болады. Arduino тақтасындағы GND -ге қосылуы керек. Бұл жерде бір маңызды ескерту: холлдық эффект сенсорлары ОМНИДИРЕКЦИОНАЛДЫ, яғни магниттің қай полюсі сенсорға жақын орналасатыны маңызды емес, ол жақын жерде магнит өрісі бар кезде 0 деректерді жібереді, ал ол болмаған кезде 1, дәлірек айтқанда, магнит сенсордан алыс (5 см дейік).

3. Ұқсас 21х21 см картон дайындап, оған Arduino Mega мен ұзын нан тақтасын бекітіңіз. Сіз сондай -ақ картоннан кез келген биіктіктегі 4 қабырғаны кесіп, оларды 21x21 см төртбұрышты тақталармен тігінен желімдеуге болады. Содан кейін жағдайды реттеу үшін Фритзинг схемасын орындаңыз. Жарық диодтары мен Холл эффектілі сенсорлармен жұмыс аяқталғаннан кейін RFID оқу құралын орнатуға болады.

4. Барлық светодиодтар мен сенсорлардың жұмыс істейтінін тексеріңіз, негізгі кодтарды қолдана отырып сигнал жіберіңіз. Бұл қадамнан аулақ болыңыз, себебі бұл бәрі дұрыс жұмыс істейтінін тексеруге және тақтаның одан әрі құрылысына өтуге мүмкіндік береді.

5. Төменде радиусы 10 см болатын екі магнит, сондай -ақ дөңгелек RFID тегтері бар ломбард пен патшайым дайындаңыз. Кейінірек сізге Arduino IDE сериялық экранынан осы тегтердің идентификаторларын оқу қажет болады.

6. Егер бәрі жақсы жұмыс істесе, сіз негізгі кодты бастап, бәрін сынап көре аласыз!

7 (міндетті емес). Сіз ағашпен көркем жұмыстар жасай аласыз, бұл сіздің демонстрацияңызға табиғи көрініс береді. Бұл сіздің еркіңіз бен қиялыңызға байланысты.

6 -қадам: Әр түрлі кезеңдегі кейбір фотосуреттер мен бейнелер

Image
Image
Әр түрлі кезеңдегі кейбір фотосуреттер мен бейнелер
Әр түрлі кезеңдегі кейбір фотосуреттер мен бейнелер
Әр түрлі кезеңдегі кейбір фотосуреттер мен бейнелер
Әр түрлі кезеңдегі кейбір фотосуреттер мен бейнелер

7 -қадам: бастапқы код

Бастапқы код
Бастапқы код

Енді біз прототиппен жұмыс жасаған кезде, біз оны төмендегі Arduino кодымен өмірге әкелуге дайынбыз. Мен кодты талдау процесін түсінікті ету үшін мүмкіндігінше көп пікір қалдыруға тырыстым. Шынымды айтсам, логика бір қарағанда күрделі болып көрінуі мүмкін, бірақ егер сіз кодтың логикасына тереңірек үңілсеңіз, ол жан -жақты болып көрінеді.

Ескерту: Нағыз шахмат тақтасына ұқсас, мен абстрактілі түрде квадраттарды A1, A2, A3, A4, B1,…, C1,…, D1,.., D4 деп санадым. Алайда, кодта бұл белгіні қолдану практикалық емес. Сондықтан мен массивтерді қолдандым және квадраттарды тиісінше 00, 01, 02, 03, 10, 11, 12, 13,…, 32, 33 ретінде ұсындым.

Назар аударғаныңызға рақмет! Барлығын сынап көріңіз және мен жіберіп алған қателіктер, жақсартулар, ұсыныстар және т.б. туралы түсініктемелерде еркін жаза аласыз. Егер сізге жоба бойынша қандай да бір көмек қажет болса, маған хат жіберіңіз (miriyevt@gmail).com) немесе скайпты қосыңыз (tahir.miriyev9r1), осылайша біз сөйлесуді жоспарлап, заттарды егжей -тегжейлі талқылай аламыз. Сәттілік!