Мазмуну:

Электрондук шахмат тактасынын 4x4 демосу/ Arduino Mega + RFID Reader + Холл эффекти сенсорлору менен: 7 кадам
Электрондук шахмат тактасынын 4x4 демосу/ Arduino Mega + RFID Reader + Холл эффекти сенсорлору менен: 7 кадам

Video: Электрондук шахмат тактасынын 4x4 демосу/ Arduino Mega + RFID Reader + Холл эффекти сенсорлору менен: 7 кадам

Video: Электрондук шахмат тактасынын 4x4 демосу/ Arduino Mega + RFID Reader + Холл эффекти сенсорлору менен: 7 кадам
Video: Электрондук китепти көчүрүп алуунун оңой жолу 2024, Ноябрь
Anonim
Электрондук шахмат тактасынын 4x4 демосу/ Arduino Mega + RFID Reader + Холл эффекти сенсорлору менен
Электрондук шахмат тактасынын 4x4 демосу/ Arduino Mega + RFID Reader + Холл эффекти сенсорлору менен

Салам жаратуучулар, Мен Тахир Мириевмин, Жакынкы Чыгыш Техникалык Университетинин 2018 бүтүрүүчүсү, Анкара/ Түркия. Мен прикладдык математика адистигине ээ болчумун, бирок мен ар дайым буюмдарды жасоону жакшы көрчүмүн, айрыкча ал электроника, дизайн жана программалоо менен бир аз иштешкенде. Прототиптөө боюнча уникалдуу курстун аркасында, биздин өнөр жай дизайны бөлүмүндө, мен чындыгында кызыктуу нерсени жасоого мүмкүнчүлүк алдым. Долбоор бүтүндөй бир семестрге (4 айга) созулган мөөнөттүү долбоор катары каралышы мүмкүн. Студенттерге мурунтан эле бар продуктыларды/демонстрацияларды иштеп чыгууга креативдүү мамиле табуу жана Arduino микроконтроллери менен сенсорлорун колдонуу менен өз идеяларын ишке ашыруу тапшырмасы берилди. Мен шахмат жөнүндө ойлонуп жаткам, ийгиликтүү долбоорлор боюнча бир аз изилдөө жүргүзгөндөн кийин, мурунку долбоорлордо жаратуучулар негизинен даяр шахмат кыймылдаткычтарын (ар бир фигуранын бардык кыймылдары өзөктө программаланган) колдонгонун байкадым, Raspberry Pi менен бирге кээ бир MUX Эс, LED жана камыш өчүргүчтөр. Менин долбоорумда, мен шахмат кыймылдаткычы боюнча тышкы программалык камсыздоолордон арылууну жана RFID окурмандын, Холл эффектинин сенсорлорунун жана Ардуино Меганын жардамы менен Фигураларды таануу көйгөйүнүн чыгармачыл чечимин табууну чечтим.

1 -кадам: Фигураны таануу көйгөйү деген эмне жана аны кантип чечтим

Фигураны таануу көйгөйү деген эмне жана аны кантип чечтим
Фигураны таануу көйгөйү деген эмне жана аны кантип чечтим

Жөнөкөй сөз менен айтканда, сизде "мээ" = микроконтроллери бар шахмат тактасы бар дейли, жана сиз өзүңүздүн доскаңызга кайсы фигураны кармаганыңызды жана аны кайда койгонуңузду түшүндүрүшүңүз керек. Бул фигураны таануу көйгөйү. Бул маселени чечүү, эгерде сизде шахматтын кыймылдаткычы бар болсо, тактада баштапкы позициясында турат. Мунун себебин түшүндүрүүдөн мурун, бир аз эскертүү берейин.

Бул жерде кандайча иштээрине ынтызар болгондор үчүн, камыш өчүргүчтөрдүн бизге эмне үчүн керек экени боюнча түшүндүрмө беришим керек (же менин жагдайымда, Hall-эффект сенсорлорун колдондум): эгер сиз ар бир бөлүктүн астына магнит коюп, аны тартып алсаңыз борттогу квадрат (ар бир квадраттын астында камыш которгуч бар деп ойлоп), сенсордун үстүндө магнит талаасынын жоктугуна/жоктугуна байланыштуу, контролеруңузга аянтта турган бөлүк бар же жок экенин түшүндүрө аласыз.. Бирок, ал дагы эле микроконтроллерге аянтта кайсы бөлүк турганы жөнүндө эч нерсе айтпайт. Бул аянтта бир даана жок/жок экенин гана айтат. Бул жерде биз шахмат кыймылдаткычынын жардамы менен чечиле турган Фигураларды таануу көйгөйү менен бетме -бет келебиз, шахмат оюну башталганда бардык бөлүктөр баштапкы абалына коюлат. Микроконтроллер ар бир бөлүктүн башынан баштап, бардык даректери эсинде сакталып калганын "билет". Ошентсе да, бул бизге чоң чектөө алып келет: сиз, айталы, бир нече бөлүктү тандап, аларды туш келди тактанын каалаган жерине коюп, оюнду талдай баштай албайсыз. Сиз ар дайым башынан башташыңыз керек, бардык бөлүктөр тактада болушу керек, анткени бул бир нерсени көтөрүп башка аянтка койгондон кийин микроконтроллердин жайгашуусун көзөмөлдөөнүн бирден -бир жолу. Негизи, бул мен байкаган көйгөй болчу жана ошого карай иштөөнү чечтим.

Менин чечимим чыгармачыл болсо да, абдан жөнөкөй болчу. Мен тактанын алдыңкы тарабына RFID окурманын койдум. Ошол эле учурда, мен магнитти бөлүктөрдүн астына эле эмес, RFID этикеткасына да коштум, анын ар бир бөлүгүнүн уникалдуу идентификатору бар. Демек, фигураны каалаган квадратка коюудан мурун, алгач фрагменти RFID окурманына жакын кармап, анын идентификаторун окууга, бөлүгүн аныктоого, эстутумга сактоого, анан каалаган жериңизге коюуга болот. Ошондой эле, камыш өчүргүчтөрдү колдонуунун ордуна, схеманын дизайнын жөнөкөйлөтүү үчүн, мен окшош иштеген холл-эффект сенсорлорун колдондум, алардын айырмасы 0 же 1ди микроконтроллерге санариптик маалымат катары жөнөтүү, бул "бар" дегенди билдирет же тиешелүү түрдө аянтта "жок". Мен ошондой эле LEDлерди коштум (тилекке каршы бир түстө эмес, алар жок болчу), ошондуктан сиз бөлүктү көтөргөнүңүздө, көтөрүлгөн бөлүктү коюуга мүмкүн болгон бардык чарчы жерлер күйүп калат. Муну шахмат үйрөнүүчүлөр үчүн билим берүүчү практика катары ойлонуп көрүңүз:)

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

2 -кадам: Иштер кантип иштейт

Image
Image

Долбоор кантип жасалганын этап-этабы менен түшүндүрүүгө өтүүдөн мурун, мен иллюстрациялуу видеону көрүп, мен айтып жатканым боюнча интуитивдүү түшүнүк алганым жакшы деп ойлойм.

Эскертүү #1: кызыл светодиоддордун бири (биринчи катарда/ солдон оңго) күйүп кеткен, каршы эмес.

Эскертүү #2: кеңири колдонулганына карабастан, менин тажрыйбамдан улам RFID технологиясы DIY колдонмолорунда колдонуу үчүн эң жакшы идея эмес деп айта алам (албетте, эгер сизде альтернативалар болсо). Баары иштей электе, мен шахмат фигураларын окурманга жакын коюп, ID туура окулганга чейин күтүп, көптөгөн сыноолорду өткөрдүм. Бул үчүн сериялык портту орнотуу керек, анткени RFID окурмандын идентификаторду окуусу - бул жөн эле баш оору. Маселени түшүнүү үчүн адам өзү аракет кылышы керек. Эгер сизге көбүрөөк жардам керек болсо, мага жазыңыз ([email protected]) же скайпка кошуңуз (tahir.miriyev9r1), ошондо биз сүйлөшүүнү пландап, майда -чүйдөсүнө чейин талкуулай алабыз, мен баарын кылдат түшүндүрүп берем.

3 -кадам: Куралдар жана компоненттер

Куралдар жана компоненттер
Куралдар жана компоненттер
Куралдар жана компоненттер
Куралдар жана компоненттер
Куралдар жана компоненттер
Куралдар жана компоненттер

Бул жерде мен долбоор үчүн колдонгон бардык шаймандардын тизмеси: Электрондук компоненттер:

  • Нан тактасы (x1)
  • Ар тараптуу A1126LUA-T (IC-1126 SW OMNI 3-SIP ALLEGRO) Hall эффекти сенсорлору (x16)
  • Негизги 5 мм LED (x16)
  • Өткөргүч зымдар
  • 125 kHz RFID Reader жана Антенна (x1)
  • Arduino Mega (x1)
  • RFID 3M Tags (x2)

Башка материалдар:

  • Plexiglass
  • Жылтырак кагаз
  • кыска тактайлар (жыгач)
  • Акрил боек (кочкул жашыл жана крем) x2
  • Жука картон
  • 10 мм тегерек магниттер (x2)
  • Ломбард менен ханышанын кесимдери
  • Лампалар жана ширетүүчү материалдар

4 -кадам: Схемалар (Фритинг)

Схемалар (Fritzing)
Схемалар (Fritzing)

Схемалар бир аз татаал, билем, бирок идея так болушу керек. Бул Фритзингди биринчи жолу колдондум (айтмакчы, абдан сунушталган), балким, байланыштар такыраак тартылышы мүмкүн. Эмнеси болсо да, мен схеманын ичиндеги бардыгын белгилеп койдум. Эскертүү: Fritzing базасындагы компоненттердин ичинен RDIF Readerдин так моделин таба алган жокмун. Мен колдонгон модель 125Khz RFID модулу - UART. Сиз Youtubeдан бул модулду Arduino менен кантип орнотуу керектиги жөнүндө үйрөткүчтөрдү таба аласыз.

5 -кадам: Процесс

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

Нерселер кантип жасалганын түшүндүрүүгө убакыт келди. Сураныч, этап-этабы менен сүрөттөмөнү ээрчиңиз:

1. A B C D 1 2 3 4 менен 16 квадратты саноо үчүн, 21x21 см өлчөмүндөгү картонду, ошондой эле тактанын үстүңкү бөлүгүнүн дубалдарын кесүү жана чаптоо үчүн кошумча картонду алыңыз. Картон жука болгондуктан, ар бир аянтка 16 зал эффектиси бар сенсорлорду койсоңуз болот, алардын ар биринин 3 буту жана ар биринин 2 буту бар 16 LED бар.

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

3. Окшош 21х21 см өлчөмдөгү картонду даярдап, анын үстүнө Arduino Mega менен узун нанды тактаңыз. Каалаган бийиктиктеги 4 дубалды кайрадан картондон кесип, тигинен тигил 21x21 см чарчы тактай менен чаптап койсоңуз болот. Андан кийин нерселерди жөндөө үчүн Fritzing Schematics ээрчиңиз. Жарык диоддору жана Холл эффектинин сенсорлору менен бүткөндөн кийин RFID окурманын орното аласыз.

4. Негизги коддорду колдонуп сигналдарды жөнөтүү менен, бардык светодиоддордун жана сенсорлордун иштээрин текшериңиз. Бул кадамдан качпаңыз, анткени ал баары туура иштээрин текшерип, тактанын андан аркы курулушуна өтөт.

5. Төмөндө тиркелген 10 см радиустагы эки магнит менен, ошондой эле RFID тегерек тегдери бар Күрөө менен Канышаны даярдаңыз. Кийинчерээк, Arduino IDEдеги Serial Screenден ошол тегдердин идентификаторлорун окууңуз керек болот.

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 катары көрсөткөм.

Көңүл бурганыңызга рахмат! Баарын сынап көрүңүз жана мен ката кетирген каталар, жакшыртуулар, сунуштар ж..com) же скайпка (tahir.miriyev9r1) кошуңуз, ошондо биз сүйлөшүүнү пландап, майда -чүйдөсүнө чейин талкуулай алабыз. Ийгилик каалайм!