Obsah:

Otestujte Bare Arduino s herním softwarem využívajícím kapacitní vstup a LED: 4 kroky
Otestujte Bare Arduino s herním softwarem využívajícím kapacitní vstup a LED: 4 kroky

Video: Otestujte Bare Arduino s herním softwarem využívajícím kapacitní vstup a LED: 4 kroky

Video: Otestujte Bare Arduino s herním softwarem využívajícím kapacitní vstup a LED: 4 kroky
Video: Lecture 08: Arduino Conditional Statements | Robojax Arduino Step By Step Course 2024, Listopad
Anonim
Otestujte Bare Arduino s herním softwarem využívajícím kapacitní vstup a LED
Otestujte Bare Arduino s herním softwarem využívajícím kapacitní vstup a LED
Otestujte Bare Arduino s herním softwarem využívajícím kapacitní vstup a LED
Otestujte Bare Arduino s herním softwarem využívajícím kapacitní vstup a LED

Interaktivní hra „Push-It“pomocí holé desky Arduino, bez externích součástí nebo kabeláže (využívá kapacitní „dotykový“vstup). Na obrázku výše ukazuje, že běží na dvou různých deskách.

Push-It má dva účely.

  1. Chcete -li rychle demonstrovat/ověřit, že vaše deska Arduino funguje a že jste správně nastaveni ke stažení nové skici kódu. Uvidíte, že provádí vstup a výstup (úroveň digitálního vstupního signálu, výstup na integrovanou LED); uložit a obnovit hodnotu z energeticky nezávislé paměti EEPROM. To vše bez připojení jakýchkoli kabelů nebo zařízení.
  2. Zajistěte zábavnou a náročnou hru v interakci s deskou Arduino.

Tento návod předpokládá, že jste již nainstalovali Arduino IDE a jste alespoň minimálně obeznámeni s jeho používáním. Pokud ne, odkazuji vás na tyto odkazy:

Začínáme s Arduinem

Přidání podpory Digispark (s bootloaderem) do stávajícího IDE Arduino 1.6.x

Push-It bude fungovat s většinou desek Arduino, např. deska Nano, Uno nebo DigiSpark Attiny85. Testoval jsem to s Nano 3.1 a DigiSpark. V textu, když budu odkazovat na názvy/čísla pinů, budou použity tak, jak jsou použity na desce Nano (na rozdíl od DigiSpark).

Krok 1: Mít věci, které budete potřebovat

Což je prostě jakékoli Arduino nebo srovnatelná deska.

Pokud ještě nemáte, doporučuji začít s DigiSpark Pro (~ $ 12) nebo Nano 3.0 od eBay za ~ $ 3 (ale budete mít týden nebo dva navíc, než počkáte, až přijde z Číny; a budete muset nainstalovat ovladač USB CH340). DigiSpark ~ $ 10 (non Pro) je velmi vhodný pro tuto jednobitovou 'video' hru (tato svlečená jednotka, která má pouze 6 I/O, je trochu obtížnější nahrát)

Odkazy na zde použitý hardware:

Nano V3.0 Atmega328P na eBay

Vývojová deska Digispark USB

Krok 2: Načtěte a stáhněte kód

Načíst a stáhnout kód
Načíst a stáhnout kód

Zkopírujte níže uvedený kód do souboru skici arduino (např. …/Push_It/Push_It.ino) Pokusil jsem se to docela dobře okomentovat. Doufám, že najdete kód snadno srozumitelný. Logika určující, kdy se má zvýšit, snížit a kdy ne, je poněkud komplikovaná, ale tato část je také specializovaný kód a nemá obecnou užitečnost. Další podrobnosti o nastavení nového „skici“(kódového projektu), který se má použít s Arduino IDE viz:

Vytvoření nové skici Arduino

Stáhněte si skicu 'Push_It' do našeho mikrokontroléru podle pokynů Arduino IDE pro vaši desku.

Krok 3: Hraní

Hraní
Hraní

Cílem hry je přimět LEDku (na desce), aby blikala co nejvícekrát v sérii záblesků, které se poté opakují

Hraní hry:

Push-It se spustí jediným zábleskem, který se poté bude opakovat. Pokud se dotknete prstu v blízkosti vstupního kolíku, zatímco LED dioda svítí, další cyklus dvakrát blikne LED diodou.

Pokaždé, když během prvního záblesku sady blesků stisknete tlačítko pseudo, do této sady bude přidán další blesk. Obecně nezáleží na tom, kdy zvednete/odstraníte prst.

Pokud ale „zatlačíte“před nebo po prvním záblesku, počet záblesků v sadě se sníží.

Pokud nic neuděláte, počet záblesků v sadě zůstane zachován. Kromě toho, když se počet po celý cyklus nezmění, je počet uložen do paměti EEPROM.

Pokaždé, když se vám podaří zvýšit počet záblesků, časování se trochu zrychlí, takže je stále těžší dostat se k vysokému počtu záblesků. Když proklouznete a počet záblesků se sníží, bude před zahájením záblesku dalšího cyklu delší pauza. To představuje další výzvu, protože může zvýšit pravděpodobnost, že skočíte ze zbraně. Buďte tedy ve střehu.

Jakmile dosáhnete své jednotky vysokého počtu blesků, můžete ji vzít (nebo poslat poštou, pro kterou je DigiSpark dobrý) příteli, kde po zapojení uvidí, jak vysoký počet záblesků jste dostali na. Zjistil jsem, že je náročné přestat to dělat na více než 8. S připojeným skutečným tlačítkem se mi to podařilo získat až přes tucet. Chcete-li se vrátit zpět na nižší počet, můžete jej opakovaně stisknout kdykoli před nebo po prvním záblesku. Také pokud propojíte vstupní kolík se zemí během zapnutí, počet se resetuje na 1.

Původní deska DigiSpark má po zapnutí 10 sekund zpoždění, před kterým začne provádět kód „Push-It“a hrát hru. Tento čas využívá k pokusu o rozhovor prostřednictvím pinů USB, aby obdržel případnou novou aktualizaci kódu ke stažení.

Pokud deska Arduino, kterou používáte, má na sobě LED USB TX, bude tato LED rychle blikat, když efektivně stisknete tlačítko. Tato LED dioda bude blikat výrazněji, kdykoli bude hodnota v paměti EEPROM aktualizována o novou hodnotu. Tato zpětná vazba vám může významně pomoci v tom, abyste věděli, kdy jste se ujistili, že jste efektivně spustili událost „stisknutí tlačítka“. Možná budete muset zajistit, abyste se nedotýkali uzemnění obvodu (jako kov kolem konektoru micro-USB), aby vaše postava skutečně způsobovala šum na otevřeném vstupním kolíku. Budou přidány a poněkud nepředvídatelné výzvy vzhledem k tomu, že vstupní kolík je plovoucí (není vytažen nahoru ani dolů vodivou/odporovou zátěží) a proměnlivý šum signálu přichází skrz váš prst.

Na kolík vedle vstupního kolíku je vyvedena čtvercová vlna 250 Hz, což výrazně zvyšuje jistotu vstřikovaného vstupního signálu, když prst zakryje oba piny.

Zjistil jsem, že reakce desky DigiSpark je poměrně konzistentně předvídatelná na malé stisknutí prstů do rohu desky, kde jsou D3-D5.

Když hraji „Push-It“, rád to dělám s deskou připojenou k mobilní baterii USB 5v (viz fotografie). Ty lze obecně levně najít v přihrádkách vedle USB AC a 12 V auto adaptérů; ve většině obchodních domů oddělení elektroniky.

Krok 4: Volitelné experimenty s externími komponentami

Volitelné experimenty s externími součástmi
Volitelné experimenty s externími součástmi

Poznámka: Pokud připojíte skutečné tlačítko, existuje jeden řádek kódu, který je třeba okomentovat, jak je uvedeno v kódu.

S reproduktorem, na jedné straně k zemi, když se dotknete druhého kabelu k D4, uslyšíte zvuk 250 Hz čtvercové vlny. V D3 je 500Hz čtvercová vlna. Pokud připojíte reproduktor mezi D3 a D4, uslyšíte kompozit obou signálů.

Zapojení LED místo reproduktoru výše je velmi zajímavé. Není třeba se obávat napětí, proudových úrovní, odporů nebo dokonce polarity (v horším případě nesvítí, pak ji jednoduše otočte). Nejprve zkuste připojit záporný (katodový) vodič k zemi a druhý k D3 nebo D4. Díky čtvercovým vlnám bude LED dioda svítit „napůl“. Dále není vyžadován žádný odpor, protože výstup jednotek MicroControllerUnits je omezen proudem. Provedl jsem aktuální měření, což mělo za následek 15 ma a 20 ma pro MCU Attiny85 a Atmega328. Tyto úrovně jsou přibližně polovinou současné omezené hodnoty pro tyto části kvůli povaze 50% pracovního cyklu signálů hnací čtvercové vlny. Hodnoty měřiče jsou ve skutečnosti průměrem proudu testovaným obvodem.

Je zajímavé, že pokud přemostíte mezi D3 a D4 pomocí LED (viz obrázek výše a vlevo), bude se rozsvítit v obou směrech a při přibližně ½ jasu, jako tomu bylo u jedné strany připojené k zemi. Zvu vás k zamyšlení proč.

Doporučuje: