Obsah:

Otestujte Bare Arduino s herným softvérom využívajúcim kapacitný vstup a LED: 4 kroky
Otestujte Bare Arduino s herným softvérom využívajúcim kapacitný vstup a LED: 4 kroky

Video: Otestujte Bare Arduino s herným softvérom využívajúcim kapacitný vstup a LED: 4 kroky

Video: Otestujte Bare Arduino s herným softvérom využívajúcim kapacitný vstup a LED: 4 kroky
Video: SKR 1.4 - SKR 1.4 Turbo Firmware load 2024, Júl
Anonim
Otestujte Bare Arduino s herným softvérom s kapacitným vstupom a diódami LED
Otestujte Bare Arduino s herným softvérom s kapacitným vstupom a diódami LED
Otestujte Bare Arduino s herným softvérom s kapacitným vstupom a diódami LED
Otestujte Bare Arduino s herným softvérom s kapacitným vstupom a diódami LED

Interaktívna hra „Push-It“využívajúca holú dosku Arduino, nie sú potrebné žiadne vonkajšie diely ani káble (používa kapacitný „dotykový“vstup). Vyššie uvedený obrázok ukazuje, že beží na dvoch rôznych doskách.

Push-It má dva účely.

  1. Ak chcete rýchlo predviesť/overiť, či vaša doska Arduino funguje a či ste správne nastavený, stiahnite si do nej nový náčrt kódu. Uvidíte, že vykonáva vstup a výstup (úroveň digitálneho vstupného signálu, výstup na integrovanú diódu LED); uložiť a obnoviť hodnotu z energeticky nezávislej pamäte EEPROM. To všetko bez pripojenia akýchkoľvek káblov alebo zariadení.
  2. Poskytnite zábavnú a náročnú hru v interakcii s doskou Arduino.

Tento návod predpokladá, že ste už nainštalovali IDE Arduino a ste aspoň minimálne oboznámení s jeho používaním. Ak nie, odkazujem vás na tieto odkazy:

Začíname s Arduino

Pridanie podpory Digispark (s bootloaderom) k existujúcemu IDE Arduino 1.6.x

Push-It bude fungovať s väčšinou akýchkoľvek dosiek Arduino, napr. doska Nano, Uno alebo DigiSpark Attiny85. Testoval som to s Nano 3.1 a DigiSpark. V texte, keď sa odvolám na názvy/čísla pinov, budú použité tak, ako sú použité na doske Nano (na rozdiel od DigiSpark).

Krok 1: Majte veci, ktoré budete potrebovať

Čo je jednoducho akékoľvek Arduino alebo porovnateľná doska.

Ak ho ešte nemáte, odporúčam vám začať s DigiSpark Pro (~ 12 dolárov) alebo Nano 3.0 od eBay za ~ 3 doláre (budete však musieť týždeň alebo dva čakať, kým príde z Číny.; a budete musieť nainštalovať ovládač USB CH340). DigiSpark ~ 10 dolárov (bez Pro) sa veľmi dobre hodí pre túto jednobitovú „videohru“(Odizolovaná jednotka, ktorá má iba 6 vstupov/výstupov, je trochu ťažšie nahrať)

Odkazy na tu použitý hardvér:

Nano V3.0 Atmega328P na eBay

Vývojová doska USB Digispark

Krok 2: Načítajte a stiahnite si kód

Stiahnite si kód
Stiahnite si kód

Skopírujte nižšie uvedený kód do súboru náčrtu arduino (napr.…/Push_It/Push_It.ino) Pokúsil som sa ho komentovať pomerne dobre. Dúfam, že nájdete kód ľahko zrozumiteľný. Logika určiť, kedy sa má zvyšovať, znižovať a kedy nie, je trochu komplikovaná, ale táto časť je tiež špecializovaným kódom a nemá všeobecnú užitočnosť. Podrobnejšie informácie o nastavení nového „náčrtu“(projekt kódu), ktorý sa má použiť s IDE Arduino nájdete:

Vytvorenie novej skice Arduino

Stiahnite si náčrt „Push_It“do nášho mikrokontroléra podľa pokynov Arduino IDE pre vašu dosku.

Krok 3: Hra

Hrá sa
Hrá sa

Cieľom hry je dosiahnuť, aby LED dióda (na doske) blikala čo najčastejšie v sérii zábleskov, ktoré sa potom opakujú.

Hranie hry:

Push-It sa spustí jediným bliknutím, ktoré sa potom zopakuje. Ak sa dotknete prsta v blízkosti vstupného kolíka, keď LED dióda svieti, v nasledujúcom cykle dvakrát zabliká LED dióda.

Zakaždým, keď stlačíte tlačidlo pseudo počas prvého záblesku sady bleskov, do tejto sady bude pridaný ďalší blesk. Keď zdvihnete/vyberiete prst, spravidla na tom nezáleží.

Ak však „stlačíte“pred alebo po prvom záblesku, počet zábleskov v súprave sa zníži.

Ak nič viac neurobíte, počet zábleskov v sade zostane zachovaný. Ďalej, keď sa počet nezmení počas celého cyklu, číslo počítania sa uloží do pamäte EEPROM.

Zakaždým, keď sa vám podarí zvýšiť počet zábleskov, časovanie sa trochu zrýchli, a tým je ťažšie a ťažšie sa dostať k vysokému počtu zábleskov. Keď skĺznete a počet zábleskov sa zníži, pred štartovacím zábleskom nasledujúceho cyklu bude dlhšia prestávka. To predstavuje ďalšiu výzvu, pretože môže zvýšiť pravdepodobnosť, že skočíte zo zbrane. Buďte teda v strehu.

Akonáhle dosiahnete, že vaša jednotka dosiahne vysoký počet zábleskov, môžete ju vziať (alebo poslať poštou, na ktorú je DigiSpark vhodný) priateľovi, kde po zapojení uvidí, ako vysoký počet zábleskov ste dosiahli do. Zistil som, že prestať je náročné dostať to na viac ako 8. S pripojeným skutočným tlačidlom sa mi to podarilo dosiahnuť až cez tucet. Ak sa chcete vrátiť k nižšiemu počtu, môžete ho opakovane stlačiť kedykoľvek pred alebo po prvom záblesku. Tiež ak prepojíte vstupný kolík s uzemnením počas napájania, počet sa vynuluje.

Všimnite si toho, že pôvodná doska DigiSpark má po zapnutí oneskorenie 10 sekúnd, pred ktorým začne vykonávať kód „Push-It“a hrať hru. Tento čas používa na pokus o rozhovor prostredníctvom pinov USB, aby získal možnú novú aktualizáciu kódu na stiahnutie.

Ak je na doske Arduino, ktorú používate, osadená LED dióda USB TX, bude táto LED dióda rýchlo blikať, keď účinne „stlačíte tlačidlo“. Významnejšie blikanie tejto diódy LED bude prebiehať vždy, keď bude hodnota počítadla v EEPROM aktualizovaná o novú hodnotu. Táto spätná väzba vám môže výrazne pomôcť pri poznaní alebo poistení, že ste efektívne spustili udalosť „stlačeného tlačidla“. Možno budete musieť zaistiť, aby ste sa nedotýkali uzemnenia obvodu (napríklad kovu okolo konektora micro-USB), aby vaša postava skutočne spôsobovala šum na otvorenom vstupnom kolíku. Budú pridané a trochu nepredvídateľné výzvy vzhľadom na skutočnosť, že vstupný kolík pláva (nie je ťahaný vodivou/odporovou záťažou nahor ani nadol) a premenlivý signál prechádza prstom.

Na kolík vedľa vstupného kolíka je privádzaná 250Hz štvorcová vlna, čo výrazne zvyšuje istotu vloženého vstupného signálu, keď prst zakryje oba kolíky.

Zistil som, že reakcia dosky DigiSpark je pomerne konzistentne predvídateľná na malé stlačenie prstov do rohu dosky, kde sú D3-D5.

Keď hrám „Push-It“, rád to robím s doskou pripojenou k mobilnej batérii USB 5v (pozri fotografie). Spravidla sa dajú lacno nájsť v priehradkách vedľa zásuvkových adaptérov USB a 12 V; vo väčšine akýchkoľvek obchodných domov oddelenie elektroniky.

Krok 4: Voliteľné experimenty s externými komponentmi

Voliteľné experimenty s externými komponentmi
Voliteľné experimenty s externými komponentmi

Poznámka: Ak priložíte skutočné tlačidlo, bude potrebné uviesť jeden riadok kódu, ako je uvedené v kóde.

S reproduktorom na jednej strane k zemi a dotykom druhého vývodu na D4 budete počuť zvuk 250 Hz obdĺžnikovej vlny. V D3 je 500Hz obdĺžniková vlna. Ak zapojíte reproduktor medzi D3 a D4, budete počuť zložený z týchto dvoch signálov.

Pripojenie LED diódy namiesto reproduktora, ako je uvedené vyššie, je veľmi zaujímavé. Nie je potrebné sa obávať napätia, prúdových úrovní, odporov alebo dokonca polarity (v horšom prípade sa nerozsvieti, potom ho jednoducho otočte). Skúste predovšetkým, aby bol záporný (katódový) vodič pripojený k zemi a druhý k D3 alebo D4. LED dióda bude svietiť „na polovicu“kvôli štvorcovým vlnám. Ďalej nie je potrebný žiadny odpor, pretože výstup jednotiek MicroControllerUnits je obmedzený na prúd. Vykonal som súčasné merania, ktorých dôsledkom bolo 15 mA pre MCU Attiny85 a 20 mA pre Atmega328. Tieto úrovne sú asi polovicou súčasnej obmedzenej hodnoty pre tieto časti v dôsledku 50% charakteru pracovného cyklu signálov budiacej štvorcovej vlny. Hodnoty merača sú v skutočnosti priemerom prúdu testovaným obvodom.

Je zaujímavé, že ak premostíte medzi D3 a D4 pomocou diódy LED (pozri obrázok vyššie a vľavo), bude svietiť v oboch smeroch a pri približne ½ jasu, ako to bolo na jednej strane pripojenej k zemi. Pozývam vás na zamyslenie prečo.

Odporúča: