Orodha ya maudhui:
- Hatua ya 1: Wiring Up Matrix ya LED
- Hatua ya 2: Mpangilio wa Matrix ya LED
- Hatua ya 3: Kushughulikia Matrix ya LED
- Hatua ya 4: Kuunda Pad ya Kugusa
- Hatua ya 5: pedi ya kugusa - Jinsi inavyofanya kazi
- Hatua ya 6: Kuweka Kila kitu Pamoja
- Hatua ya 7: Kupanga Tic Tac Toe
- Hatua ya 8: Hotuba na Maboresho Zaidi
Video: Arduino na Touchpad Tic Tac Toe: Hatua 8 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:56
Au, zoezi la kuingiza na kuongeza pato, na kufanya kazi na bits. Na uwasilishaji wa shindano la Arduino.
Huu ni utekelezaji wa mchezo wa kidole wa miguu ukitumia safu ya 3x3 ya LED za bicoloured kwa onyesho, pedi ya kugusa rahisi, na Arduino ya kufunga kila kitu pamoja. Ili kuona jinsi inavyofanya kazi, angalia video: Je! Mradi huu unahitaji nini: Vipengee na matumizi ya bodi moja ya manukato (au bodi ya kuvua) LEDs bicoloured tisa, cathode ya kawaida resistors tisa zinazofanana, katika safu ya 100-220 ohm resistors sita zinazofanana, katika 10kohm - 500kohm safu Moja moja, kubadili mara mbili Kundi la pini za kichwa Kundi la waya wa umeme Karatasi moja ndogo ya mraba ya akriliki ya uwazi, ~ 1 mm nene, 8 cm upande Futa mkanda wa kunasa Heatshrinks (hiari) Yote hapo juu ni vitu vya kawaida kabisa, gharama ya jumla haipaswi kuzidi USD $ 20. Kifaa kimoja cha kuanzisha Arduino (Arduino Duemilanove, Arduino IDE, kompyuta, kebo ya USB) Zana za kawaida za umeme (multimeter, bunduki ya solder, snips za waya, mkata waya) Kila kitu kinachohusiana na Arduino kinaweza kuwa kupatikana kwenye https://www.arduino.cc. Endelea na ujenzi!
Hatua ya 1: Wiring Up Matrix ya LED
Ili LED iwe nuru, miongozo yake yote lazima iunganishwe. Ikiwa tungetaka pini kwa kila moja ya taa za 18 (9 nyekundu, 9 kijani), tungepoteza haraka pini kwenye Arduino. Walakini, na multiplexing, tutaweza kushughulikia LED zote na pini 9 tu! Ili kufanya hivyo, taa za taa zimefungwa kwa njia ya msalaba, kama inavyoonyeshwa kwenye takwimu ya kwanza. Taa za LED zimewekwa katika safu za tatu, na cathode zao zimewekwa katika safu ya sita. Kwa kuweka laini fulani ya anode juu, na laini fulani ya cathode chini, na kuwa na impedance ya juu kwa anode zingine zote na mistari ya cathode, tunaweza chagua ni LED gani tunayotaka kuwaka, kwani kuna njia moja tu inayowezekana ambayo sasa inaweza kuchukua. Kwa mfano, katika kielelezo cha pili, kuweka anode ya kijani kibichi 1 juu, na cathode 1 chini, chini kushoto LED za kijani zinawaka.. Njia ya sasa katika kesi hii imeonyeshwa kwa samawati. Lakini vipi ikiwa unataka kuwasha taa zaidi ya moja kwenye mistari tofauti? Tutatumia uvumilivu wa maono kufanikisha hili. Kwa kuchagua jozi za mistari ya LED haraka sana, inatoa udanganyifu kwamba LED zote zilizochaguliwa zinawashwa kwa wakati mmoja.
Hatua ya 2: Mpangilio wa Matrix ya LED
Mchoro wa mzunguko hapa chini unaonyesha jinsi LED zina waya wa mwili (G1-G9: LED za kijani, R1-R9: LED nyekundu). Mchoro huu ni wa LED moja nyekundu na kijani, ikiwa unatumia taa za kawaida za cathode nyekundu / kijani, kuna mguu mmoja tu wa cathode kwa jozi nyekundu / kijani ambayo unapaswa waya. ya Arduino (pini 3, 5, 6, 9, 10, 11 kwenye Duemilanove), ili tuweze kuwa na athari kama kufifia baadaye. Mistari ya cathode huenda kwenye pini 4, 7 na 8. Kila mstari wa cathode na anode zina vipinga 100 ohm kwa ulinzi.
Hatua ya 3: Kushughulikia Matrix ya LED
Kwa nambari ya vidole vya miguu, tutahitaji kuwa na uwezo wa kuhifadhi habari zifuatazo juu ya LEDs: - ikiwa LED imewashwa au la - ikiwa imewashwa, ikiwa ni nyekundu au kijani Njia moja ya kufanya hivyo ni kuhifadhi hali katika safu ya seli 9, kwa kutumia tarakimu tatu kuwakilisha hali (0 = off, 1 = nyekundu, 2 = kijani juu). Kila wakati tunahitaji kuangalia hali za LED, kwa mfano, kuangalia ikiwa kuna hali ya kushinda, tutahitaji kuzunguka kwa safu. Hii ni njia inayoweza kutumika, lakini badala ya kufikiria. Njia iliyoboreshwa zaidi itakuwa kutumia vikundi viwili vya bits tisa. Kikundi cha kwanza cha bits tisa huhifadhi hali ya kuzima ya LED, na kikundi cha pili cha bits tisa huhifadhi rangi. Halafu, kudanganya majimbo ya LED inakuwa tu suala la hesabu kidogo na kuhama. Hapa kuna mfano uliofanya kazi. Wacha tuseme tunachora gridi yetu ya kidole cha kidole kwa picha, na tumia kwanza 1s na 0s kuwakilisha hali ya kuzima (1 imewashwa, 0 imezimwa): 000 000 = tumbo na chini kushoto LED imewashwa 100 100 010 = tumbo na diagonal LED zinawasha 001 Ikiwa tunahesabu seli kutoka chini kushoto, tunaweza kuandika vielelezo hapo juu kama safu ya bits. Katika kesi ya kwanza, hiyo itakuwa 100000000, na katika kesi ya pili, itakuwa 001010100. Ikiwa tutafikiria hizi kama viwakilishi vya binary, basi kila safu ya bits inaweza kubanwa kuwa nambari moja (256 katika kesi ya kwanza, 84 katika kesi ya pili). Kwa hivyo badala ya kutumia safu kuhifadhi hali ya tumbo, tunaweza kutumia nambari moja tu! Vivyo hivyo, tunaweza kuwakilisha rangi ya LED kwa njia ile ile (1 ni nyekundu, 0 ni kijani). Wacha kwanza tuchukue taa zote zinawashwa (kwa hivyo hali ya kuzima inawakilishwa na 511). Matrix hapa chini itawakilisha hali ya rangi ya LEDs: 010 kijani, nyekundu, kijani 101 nyekundu, kijani, nyekundu 010 kijani, nyekundu, kijani Sasa, wakati wa kuonyesha tumbo la LED, lazima tu tupitie kila bits, kwanza katika hali ya kuzima, na kisha katika hali ya rangi. Kwa mfano, hebu sema hali yetu ya kuwasha ni 100100100, na hali ya rangi ni 010101010. Hapa kuna algorithm yetu ya kuwasha taa ya LED: Hatua ya 1. Fanya uongeze kidogo wa hali ya kuzima na 1 ya densi (yaani kidogo kuficha). Hatua ya 2. Ikiwa ni kweli, LED imewashwa. Fanya sasa nyongeza kidogo ya hali ya rangi na binary 1. Hatua ya 3. Ikiwa ni kweli, weka taa nyekundu ya LED. Ikiwa ni uwongo, weka taa ya kijani kibichi. Hatua ya 4. Shift wote hali ya kuzima na hali ya rangi, kidogo moja kulia (yaani kuhama kidogo). Hatua ya 5. Rudia Hatua 1 hadi 4 mpaka vipande vyote tisa vimesomwa. Kumbuka kuwa tunajaza tumbo nyuma - tunaanza na seli 9, halafu rudi chini hadi kwenye kiini cha 1. Pia, hali za kuzima na rangi zinahifadhiwa kama aina ya nambari isiyosajiliwa (neno) badala ya aina ya nambari iliyosainiwa. Hiyo ni kwa sababu katika kuhama kidogo, ikiwa hatuko makini, tunaweza kubadilisha ishara ya ubadilishaji bila kujua. Imeambatanishwa na nambari ya kuwasha taa ya LED.
Hatua ya 4: Kuunda Pad ya Kugusa
Kitambaa cha kugusa kimejengwa kutoka kwa karatasi nyembamba ya akriliki, kubwa ya kutosha kufunika juu ya tumbo la LED. Kisha, weka mkanda chini kwenye safu ya safu na waya kwenye karatasi ya akriliki, ukitumia mkanda wazi. Futa mkanda pia hutumiwa kama nafasi ya kuhami kati ya waya, kwenye makutano. Hakikisha unatumia zana safi, kuzuia mafuta ya kidole kuingia upande wa kunata wa mkanda. Madoa ya alama ya kidole hayanaonekana tu kuwa mabaya, lakini fanya mkanda usiwe na nata. Kuondoa mwisho mmoja wa kila mstari, na unganisha upande mwingine kwa waya mrefu. Solder resistor katika-line na waya, kabla ya kuunganishwa kwenye viunganisho. Vipinga vilivyotumika hapa ni 674k, lakini thamani yoyote kati ya 10k na 1M inapaswa kuwa sawa. Uunganisho kwa Arduino hufanywa kwa kutumia pini 6 za analog, na pini 14-16 zilizounganishwa na safu za gridi ya waya, na pini 17-19 imeunganishwa na nguzo.
Hatua ya 5: pedi ya kugusa - Jinsi inavyofanya kazi
Kama vile tulivyotumia mseto wa msalaba-mseto kuweka matrix ya LED na pini ndogo, tunaweza kutumia multiplexer sawa ya msalaba kuanzisha safu ya sensorer ya kugusa, ambayo tunaweza kutumia kuamsha LED. Wazo la pedi hii ya kugusa ni rahisi. Kimsingi ni gridi ya waya, na waya tatu wazi zinazoendesha safu, na waya tatu wazi zinazoendesha kwenye nguzo juu ya safu. Katika kila sehemu ya makutano kuna mraba mdogo wa insulation ambayo inazuia waya mbili kugusa. Kidole kinachogusa makutano kitawasiliana na waya zote mbili, na kusababisha upinzani mkubwa, lakini mdogo kati ya waya hizo mbili. Sasa ndogo, lakini inayoweza kugundulika, sasa inaweza kufanywa kutiririka kutoka kwa waya moja hadi nyingine, kupitia kidole. Kuamua ni makutano yapi yalibanwa, njia ifuatayo ilitumika: Hatua ya 1: Weka mistari yote ya safu kwa OUTPUT LOW. Hatua ya 2: Weka mistari ya safu kwa INPUT, na vichocheo vya ndani vimeamilishwa. Hatua ya 3: Chukua Analog iliyosomwa kwenye kila mstari wa safu hadi thamani itapungua chini ya kizingiti kilichopewa. Hii inakuambia ni safu gani ya makutano iliyobanwa ni Hatua ya 4: Rudia Hatua 1-3, lakini sasa na nguzo kama pembejeo na safu kama matokeo. Hii inakuambia ni nguzo ipi ambayo makutano yaliyoshinikizwa ni Ili kupunguza athari za kelele, idadi ya usomaji huchukuliwa na kisha wastani. Matokeo wastani hulinganishwa dhidi ya kizingiti. Kwa kuwa njia hii huangalia tu kizingiti, haifai kugundua mashinikizo ya wakati huo huo. Walakini, kwa kuwa kidole cha mguu kinaendelea kwa zamu, kusoma vyombo vya habari moja ni vya kutosha. Imeambatanishwa ni mchoro unaoonyesha jinsi touchpad inavyofanya kazi.
Hatua ya 6: Kuweka Kila kitu Pamoja
Sasa kwa kuwa vifaa vyote vimefanywa, ni wakati wa kuviweka pamoja. Kufunika gridi ya waya kwenye tumbo la LED. Huenda ukahitaji kupanga upya idadi ya pini kwenye nambari ya tumbo ya LED ili iweze kusawazishwa na sensa ya gridi ya waya. Salama gridi ya waya mahali na vifungo au viambatanisho vya chaguo lako, na ushike kwenye bodi nzuri ya kucheza. Ongeza swichi kati ya pini 12 na ardhi ya Arduino. Kubadili hii ni kugeuza kati ya hali ya kichezaji 2, na hali 1 ya kichezaji (dhidi ya mdhibiti mdogo).
Hatua ya 7: Kupanga Tic Tac Toe
Imeambatanishwa ni nambari ya mchezo. Wacha tuvunje mchezo wa kidole wa miguu katika hatua zake anuwai, katika hali mbili za kicheza: Hatua ya 1: Mchezaji A huchagua seli isiyojazwa kwa kugusa makutano. Hatua ya 2: LED ya seli hiyo inaangazia rangi A. Hatua ya 3: Angalia ikiwa Mchezaji A ameshinda Hatua ya 4: Mchezaji B anachagua seli isiyojazwa Hatua ya 5: LED ya seli hiyo inaangazia rangi B Hatua ya 6: Angalia ikiwa Mchezaji B ameshinda Hatua ya 7: Rudia 1-6 hadi kuwe na hali ya kushinda, au ikiwa seli zote zimejazwa. Kusoma seli: Programu inazunguka kati ya kusoma gridi na kuonyesha tumbo la LED.. Ilimradi sensor ya gridi haisajili thamani isiyo ya sifuri, kitanzi hiki kitaendelea. Wakati makutano yamebanwa, ubadilishaji uliobanwa huhifadhi nafasi ya seli iliyobanwa. Kuangalia ikiwa seli haijajazwa: Wakati usomaji wa nafasi unapatikana (kutofautishwa Kusisitiza), inalinganishwa dhidi ya hali ya seli ya sasa (iliyohifadhiwa kwenye GridOnOff inayobadilika) kutumia nyongeza kidogo. Ikiwa seli iliyobanwa haijajazwa, basi endelea kuwasha taa ya LED, vinginevyo rudi kusoma seli. Kubadilisha rangi: Tofauti ya boolean, Turn, hutumiwa kurekodi zamu ya nani. Rangi ya LED iliyochaguliwa wakati seli imechaguliwa imedhamiriwa na ubadilishaji huu, ambao hubadilika kila wakati seli inachaguliwa. Kuchunguza hali ya kushinda: Kuna hali 8 tu za kushinda, na hizi zinahifadhiwa kama vigeuzi vya neno katika safu (winArray). Nyongeza mbili kidogo hutumiwa kulinganisha nafasi za seli zilizojaa za mchezaji na hali za kushinda. Ikiwa kuna mechi, basi mpango unaonyesha utaratibu wa kushinda, baada ya hapo huanza mchezo mpya. Kuangalia hali ya sare: Wakati zamu tisa zimerekodiwa na bado hakuna hali ya kushinda, basi mchezo ni sare. LED zinafutwa na mchezo mpya umeanza. Kubadilisha hali moja ya kichezaji: Ikiwa swichi iko kwenye nafasi, programu inaingia katika hali ya mchezaji mmoja, na mchezaji wa kibinadamu anaanza kwanza. Mwisho wa zamu ya mchezaji wa kibinadamu, programu huchagua tu seli isiyo na mpangilio. Kwa wazi, huu sio mkakati mzuri zaidi!
Hatua ya 8: Hotuba na Maboresho Zaidi
Hapa video inayoonyesha modi moja ya kichezaji, na programu hiyo ikicheza hatua bila mpangilio: Programu iliyoonyeshwa hapa ni toleo la mifupa tupu tu. Vitu vingine vingi vinaweza kufanywa na hii: 1) Kuangaza taa za LED tatu kwa wakati Nambari ya sasa inaonyesha LED moja tu mara moja. Walakini, na wiring iliyoonyeshwa hapa, inawezekana kuwasha taa zote za LED zilizounganishwa na laini moja ya cathode kwa wakati mmoja. Kwa hivyo, badala ya kuendesha baiskeli kupitia nafasi zote tisa, unachohitaji kufanya ni kuzunguka kwa laini tatu za cathode. kuangaza. Kwa kutumia usumbufu, muda wa LED unaweza kudhibitiwa haswa na inaweza kusababisha onyesho laini. 3) Kicheza nambari ya kompyuta nambari inayofaa inachukua kb chache tu, ikiacha kidogo zaidi kwa utekelezaji wa kompyuta tac yenye busara Tumaini umefurahiya kusoma hii inayoweza kufundishwa kama vile nilifurahiya kuifanyia kazi!
Ilipendekeza:
Mchezo wa Toe wa Tic Tic Tac: Hatua 4
Python Tic Tac Toe Game: chatu tic tac toe mchezo mchezo huu umetengenezwa kwa chatu ambayo lugha ya kompyuta imetumia mhariri wa chatu anayeitwa: pycharm unaweza pia kutumia mhariri wa nambari ya chatu pia
Mchezo wa Arduino Touch Tic Tac Toe: Hatua 6 (na Picha)
Mchezo wa Arduino Touch Tic Tac Toe: Wapendwa marafiki karibu kwenye mafunzo mengine ya Arduino! Katika mafunzo haya ya kina tutaunda mchezo wa Arduino Tic Tac Toe. Kama unavyoona, tunatumia skrini ya kugusa na tunacheza dhidi ya kompyuta. Mchezo rahisi kama Tic Tac Toe ni
Mchezo wa Microbit Tic Tac Toe: Hatua 4 (na Picha)
Mchezo wa Microbit Tic Tac Toe: Kwa mradi huu, mfanyakazi mwenzangu - @descartez na mimi tuliunda mchezo mzuri wa toe tac kwa kutumia utendaji wa redio wa vijidudu. Ikiwa haujasikia juu ya vijidudu hapo awali, ni mdhibiti mzuri sana iliyoundwa iliyoundwa kufundisha programu za watoto. Wao
Mchezo wa 3D4x: 3D 4x4x4 Tic-Tac-Toe: Hatua 5 (na Picha)
Mchezo wa 3D4x: 3D 4x4x4 Tic-Tac-Toe: Je! Umechoka kucheza sawa, ya zamani, ya kuchosha, 2-dimensional tic-tac-toe? Kweli tuna suluhisho kwako! Tic-tac-toe katika vipimo-3 !!! Kwa wachezaji 2, kwenye mchemraba huu wa 4x4x4, pata taa za 4 mfululizo (kwa mwelekeo wowote) na ushinde! Unaifanya. Unaandika
Tic Tac Toe (3 kwa safu): Hatua 10 (na Picha)
Tic Tac Toe (3 kwa safu): Mradi huu ni burudani ya elektroniki ya penseli ya kawaida ya Tic-Tac-Toe & karatasi ya 2 mchezo wa mchezaji. Moyo wa mzunguko ni Microchip & microcontroller ya PIC 16F627A. Nimejumuisha kiungo cha kupakua kwa bodi ya PC ya PDF na pia nambari ya HEX f