Përmbajtje:

Demo 4x4 e një tabele elektronike shahu/ Me Arduino Mega + RFID Reader + Sensorë me efekt Hall: 7 hapa
Demo 4x4 e një tabele elektronike shahu/ Me Arduino Mega + RFID Reader + Sensorë me efekt Hall: 7 hapa

Video: Demo 4x4 e një tabele elektronike shahu/ Me Arduino Mega + RFID Reader + Sensorë me efekt Hall: 7 hapa

Video: Demo 4x4 e një tabele elektronike shahu/ Me Arduino Mega + RFID Reader + Sensorë me efekt Hall: 7 hapa
Video: САМЫЙ СТРАШНЫЙ ДЕМОН ИЗ ПОДВАЛА КОТОРОГО МНЕ ПРИХОДИЛОСЬ ВИДЕТЬ 2024, Korrik
Anonim
Demo 4x4 e një tabele elektronike shahu/ Me Arduino Mega + RFID Reader + Sensorë me efekt Hall
Demo 4x4 e një tabele elektronike shahu/ Me Arduino Mega + RFID Reader + Sensorë me efekt Hall

Përshëndetje krijues, Unë jam Tahir Miriyev, 2018 i diplomuar nga Universiteti Teknik i Lindjes së Mesme, Ankara/ Turqi. Unë u diplomova në Matematikë të Aplikuar, por gjithmonë më pëlqente të bëja gjëra, veçanërisht kur përfshinte disa punë dore me elektronikë, dizajn dhe programim. Falë një kursi unik mbi prototipimin, të ofruar në departamentin tonë të Dizajnit Industrial, mora një shans për të bërë diçka vërtet interesante. Projekti mund të trajtohet si Projekt Afatgjatë, i cili zgjati për një semestër të tërë (4 muaj). Nxënësve iu caktua një detyrë për të gjetur një qasje krijuese për hartimin e produkteve/demonstrimeve tashmë ekzistuese dhe për të realizuar idetë e tyre duke përdorur mikrokontrolluesit dhe sensorët Arduino. Po mendoja për shahun, dhe pasi bëra disa kërkime mbi projekte të suksesshme, vura re se në projektet e mëparshme krijuesit në thelb përdornin motorë shahu të gatshëm (ku të gjitha lëvizjet e secilës figurë ishin programuar në thelb), së bashku me Raspberry Pi, disa MUX 's, çelësat LED dhe kallami. Në projektin tim, megjithëse, vendosa të heq qafe çdo softuer të jashtëm në aspektin e një motori shahu dhe të gjej një zgjidhje krijuese për problemin e Njohjes së Figurave, duke përdorur lexuesin RFID, sensorët e efektit Hall dhe Arduino Mega.

Hapi 1: Çfarë është problemi i njohjes së figurës dhe si e zgjidhi atë

Çfarë është problemi i njohjes së figurës dhe si e zgjidhi atë
Çfarë është problemi i njohjes së figurës dhe si e zgjidhi atë

Për ta thënë thjesht, supozoni se keni një tabelë shahu me një "tru" = mikrokontrollues, dhe ju duhet ta bëni tabelën tuaj të kuptojë se cilën figurë keni mbajtur në dorën tuaj dhe ku e keni vendosur. Ky është problemi i Njohjes së Figurave. Zgjidhja për këtë problem është e parëndësishme kur keni një motor shahu me të gjitha pjesët që qëndrojnë në pozicionet e tyre fillestare në tabelë. Para se të shpjegoj pse është kështu, më lejoni të bëj disa vërejtje.

Për ata që janë entuziastë për mënyrën se si funksionojnë gjërat këtu, më duhet të bëj një sqarim pse kemi nevojë për ndërprerës kallami (ose në rastin tim, kam përdorur sensorë të efektit Hall): nëse vendosni një magnet nën secilën pjesë dhe e merrni atë nga një katror në tabelë (duke supozuar se ka një ndërprerës kallami nën çdo katror) për shkak të ekzistencës/mosekzistimit të fushës magnetike mbi sensorin, mund ta bëni kontrolluesin tuaj të kuptojë nëse ka/nuk është një pjesë që qëndron në shesh Me Sidoqoftë, ende nuk i thotë asgjë mikrokontrolluesit për saktësisht se cila pjesë qëndron në shesh. Thotë vetëm se ka/nuk ka një copë në një shesh. Në këtë pikë, ne jemi ballë për ballë me një problem të njohjes së figurës, i cili mund të zgjidhet duke përdorur një motor shahu, me të gjitha pjesët e vendosura në pozicionet e tyre fillestare kur fillon loja e shahut. Në këtë mënyrë mikrokontrolluesi "e di" ku çdo pjesë qëndron që nga fillimi, me të gjitha adresat e fiksuara në kujtesë. Sidoqoftë, kjo na sjell një kufizim të madh: ju nuk mund të zgjidhni, le të themi, ndonjë numër pjesësh dhe t'i vendosni ato rastësisht kudo në tabelë dhe të filloni të analizoni lojën. Gjithmonë duhet të filloni nga fillimi, të gjitha pjesët duhet të jenë në tabelë fillimisht, pasi kjo është mënyra e vetme që mikrokontrolluesi të gjurmojë vendndodhjet e tyre pasi të keni ngritur një copë dhe të vendoseni në ndonjë shesh tjetër. Në thelb, ky ishte problemi që vura re dhe vendosa të punoja drejt tij.

Zgjidhja ime ishte mjaft e thjeshtë, edhe pse krijuese. Vendosa një lexues RFID në anën e përparme të një bordi. Ndërkohë, unë bashkova jo vetëm një magnet nën copa, por edhe një etiketë RFID, me secilën pjesë që kishte një ID unike. Prandaj, para se të vendosni një figurë në çdo katror të dëshiruar, së pari mund ta mbani copën afër lexuesit RFID dhe ta lini të lexojë ID, ta identifikojë pjesën, ta ruani në kujtesë dhe pastaj mund ta vendosni kudo që dëshironi. Gjithashtu, në vend të përdorimit të çelsave të kallamishteve, për të thjeshtuar modelin e qarkut, kam përdorur sensorë me efekt salle, të cilët punojnë në mënyrë të ngjashme, me ndryshimin e vetëm të dërgimit të 0 ose 1 në një mikrokontrollues si të dhëna dixhitale, që nënkupton "ka" ose "nuk ka" ndonjë pjesë në shesh, respektivisht. Unë shtova edhe LED (për fat të keq jo me të njëjtën ngjyrë, nuk kishte), kështu që kur të ngrini copën, të gjitha vendet katrore, ku mund të vendoset një pjesë e ngritur, do të ndizen. Mendojeni si një praktikë edukative për nxënësit e shahut:)

Së fundi, do të doja të vëreja se pavarësisht faktit që kam përdorur disa teknika, projekti mbetet i thjeshtë dhe i kuptueshëm, jo i përpunuar thellë ose tepër i komplikuar. Nuk kisha kohë të mjaftueshme për të vazhduar me tabelën e shahut 8x8 (gjithashtu sepse 64 sensorë me efekt salle janë të kushtueshëm në Turqi, i mbulova të gjitha shpenzimet që lidhen me projektin), prandaj bëra versionin demo 4x4 me vetëm dy pjesë të testuara: Pengu dhe Mbretëresha. Në vend që të përdor një motor shahu, unë shkrova një kod burimi për Arduino, i cili gjeneron gjithçka që do të shihni në videon më poshtë.

Hapi 2: Si funksionojnë gjërat

Image
Image

Para se të kalojmë në shpjegimin hap pas hapi se si është bërë projekti, mendoj se do të ishte më mirë të shikoja një video ilustruese dhe të merrja një ide intuitive për atë për të cilën po flas.

Shënim #1: një nga LED -të e kuqe (e para në rresht/ nga e majta në të djathtë) është djegur, nuk ka rëndësi.

Shënim #2: megjithëse përdoret gjerësisht, nga përvoja ime mund të them se teknologjia RFID nuk është ideja më e mirë për t'u përdorur në aplikacionet DIY (natyrisht nëse keni alternativa). Para se të funksiononte gjithçka, unë bëra shumë prova me vendosjen e pjesëve të shahut pranë lexuesit dhe duke pritur derisa të lexonte saktë ID -në. Porti serik duhet të krijohet për këtë sepse mënyra se si lexuesi RFID lexon ID është vetëm një dhimbje koke. Dikush duhet të përpiqet vetë për të kuptuar çështjen. Nëse keni nevojë për më shumë ndihmë, ju lutem më dërgoni me email ([email protected]) ose shtoni në skype (tahir.miriyev9r1), në mënyrë që të mund të caktojmë një bisedë dhe të diskutojmë gjërat në detaje, unë do të shpjegoj gjithçka tërësisht.

Hapi 3: Mjetet dhe Komponentët

Mjetet dhe Komponentët
Mjetet dhe Komponentët
Mjetet dhe Komponentët
Mjetet dhe Komponentët
Mjetet dhe Komponentët
Mjetet dhe Komponentët

Këtu është lista e të gjitha mjeteve që kam përdorur për projektin: Komponentët elektronikë:

  • Breadboard (x1)
  • Omnidirectional A1126LUA-T (IC-1126 SW OMNI 3-SIP ALLEGRO) Sensorë të efektit Hall (x16)
  • LED -të bazë 5 mm (x16)
  • Telat e kërcyesit
  • 125 kHz RFID Lexues dhe Antenë (x1)
  • Arduino Mega (x1)
  • Etiketa RFID 3M (x2)

Materiale të tjera:

  • Pleksiglas
  • Letër me shkëlqim
  • dërrasa të shkurtra (prej druri)
  • Bojë akrilike (jeshile e errët dhe krem) x2
  • Karton i hollë
  • 10 mm magnet të rrumbullakët (x2)
  • Pjesë peng dhe Queen
  • Hekuri i saldimit dhe materialet e saldimit

Hapi 4: Skemat (Fritzing)

Skemat (Fritzing)
Skemat (Fritzing)

Skemat janë pak të komplikuara, e di, por ideja duhet të jetë e qartë. Ishte hera e parë që përdor Fritzing (rekomandohet shumë nga rruga), me siguri lidhjet mund të krijohen më saktë. Gjithsesi, unë shënova gjithçka brenda skemave. Shënim: Unë nuk mund të gjej modelin e saktë të RDIF Reader midis përbërësve në bazën e të dhënave të Fritzing. Modeli që kam përdorur është moduli RFID 125Khz - UART. Ju mund të gjeni mësime në Youtube se si ta vendosni këtë modul me Arduino.

Hapi 5: Procesi

Procesi
Procesi

Koha për të shpjeguar se si u krijuan gjërat. Ndiqni përshkrimin hap pas hapi:

1. Merrni një karton 21x21 cm, si dhe ndonjë karton shtesë për të prerë dhe ngjitur muret e pjesës së sipërme të tabelës, në mënyrë që të bëni 16 katrorë me A B C D 1 2 3 4 të numëruar. Meqenëse kartoni është i hollë, mund të vendosni 16 sensorë me efekt salle në çdo katror, me 3 këmbë secila dhe 16 LED me 2 këmbë secila.

2. Pasi të keni vendosur komponentët, do t'ju duhet të bëni disa saldime, për të bashkuar këmbët e sensorëve me efekt Hall dhe LED për telat e kërcyesit. Në këtë pikë, unë do të rekomandoja përzgjedhjen e telave me ngjyrë në një mënyrë të zgjuar, në mënyrë që të mos ngatërroheni me këmbët + dhe - të LED -ve, gjithashtu këmbët VCC, GND dhe PIN të sensorëve të efektit Hall. Sigurisht, dikush mund të printojë një PCB me sensorë dhe madje edhe tip LED WS2812 të ngjitur tashmë, por unë vendosa ta mbaj projektin të thjeshtë dhe të bëj edhe më shumë "punë dore". Në këtë pikë, gjithçka që duhet të bëni është të përgatitni litarë dhe sensorë, në fazat e mëvonshme që vijojnë nga skema Fritzing ju mund të shihni se ku duhet të lidhni skajin e secilit tel. Së shpejti, disa prej tyre do të shkojnë drejtpërdrejt në PIN -et në Arduino Mega (ka mjaft prej tyre në Arduino), të tjera në tabelën e bukës dhe të gjitha GND -të mund të ngjiten në një copë të vetme kordoni (duke bërë bazë të përbashkët) të cilat më vonë duhet të lidhet me GND në tabelën Arduino. Një shënim i rëndësishëm këtu: Sensorët e efektit Hall janë OMNIDIRECTIONAL, që do të thotë se nuk ka rëndësi se cili pol i magnetit do të mbahet pranë sensorit, ai do të dërgojë 0 të dhëna ndërsa ka një fushë magnetike aty pranë dhe 1 kur nuk ka, domethënë, magneti është larg (më larg se të themi 5 sm) nga sensori.

3. Përgatitni karton të ngjashëm 21x21 cm dhe fiksojeni Arduino Mega dhe një dërrasë të gjatë mbi të. Ju gjithashtu mund të prisni përsëri 4 mure të çdo lartësie të dëshiruar nga kartoni dhe t'i ngjitni vertikalisht me ato dy shtresa të dërrasave katrore 21x21 cm. Pastaj ndiqni Skemat Fritzing për të rregulluar gjërat. Ju gjithashtu mund të vendosni lexuesin RFID pasi të keni mbaruar me LED dhe sensorë të efektit Hall.

4. Provoni nëse funksionojnë të gjitha LED dhe sensorët, duke dërguar sinjale duke përdorur kodet bazë. Mos e shmangni këtë hap pasi do t'ju lejojë të provoni nëse gjithçka funksionon si duhet dhe kaloni në ndërtimin e mëtejshëm të tabelës.

5. Përgatitni Pawn dhe Queen, me dy magnete të një rrezeje 10 cm të bashkangjitur më poshtë, si dhe etiketa të rrumbullakëta RFID. Më vonë, do t'ju duhet të lexoni ID -të e atyre etiketave nga Serial Screen në Arduino IDE.

6. Nëse gjithçka funksionon shkëlqyeshëm, mund të filloni kodin kryesor dhe të provoni gjërat!

7 (sipas dëshirës). Ju mund të bëni ndonjë punë artistike me dru, e cila do t'i japë demonstrimit tuaj një pamje më të natyrshme. Kjo varet nga vullneti dhe imagjinata juaj.

Hapi 6: Disa fotografi dhe video nga faza të ndryshme

Image
Image
Disa fotografi dhe video nga faza të ndryshme
Disa fotografi dhe video nga faza të ndryshme
Disa fotografi dhe video nga faza të ndryshme
Disa fotografi dhe video nga faza të ndryshme

Hapi 7: Kodi Burimor

Kodi i burimit
Kodi i burimit

Tani, kur të kemi mbaruar me një prototip, ne jemi gati ta sjellim atë në jetë me kodin Arduino më poshtë. Unë u përpoqa të lija sa më shumë komente që të mundja, në mënyrë që ta bëja të kuptueshëm procesin e analizës së kodit. Për të qenë i sinqertë, logjika mund të duket pak komplekse nga shikimi i parë, por nëse gërmoni më thellë në logjikën e kodit, do të duket më gjithëpërfshirëse.

Shënim: Ngjashëm me tabelën e vërtetë të shahut, unë numërova në mënyrë abstrakte katrorë si A1, A2, A3, A4, B1,…, C1,…, D1,.., D4. Sidoqoftë, në kod, nuk është praktike të përdoret ky shënim. Prandaj kam përdorur vargje dhe i kam përfaqësuar katrorët si 00, 01, 02, 03, 10, 11, 12, 13,…, 32, 33 respektivisht.

Faleminderit per vemendjen! Provoni gjithçka dhe jini të lirë të shkruani në komente për çdo lloj gabimi që kam humbur, përmirësime, sugjerime etj. Mezi pres të dëgjoj disa opinione rreth projektit. Nëse keni nevojë për ndonjë lloj asistence me projektin, më dërgoni me email ([email protected]) ose shtoni në skype (tahir.miriyev9r1), në mënyrë që të mund të caktojmë një bisedë dhe të diskutojmë gjërat në detaje. Fat i mirë!