Obsah:
- Krok 1: Hlavní komponety
- Krok 2: Seznam dílů
- Krok 3: Hlavní body stavby
- Krok 4: Další možnosti a poznámky
- Krok 5: Přehled softwaru
- Krok 6: Hraní her
- Krok 7: Aktualizace, další hry
Video: Řadový LED displej Arduino hry: 7 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:18
aka LED Ladder Display Game System.
Attiny-85 vybavený hardwarem a softwarem pro hraní akčních „video“her na in-line LED displeji.
Má multiplexovaný 12 LED žebříkový displej a podporuje až 6 tlačítkových vstupů a volitelný zvukový výstup.
Je nabitý 4 dovednostními hrami, s několika obtížnostmi a několika variantami (aktualizováno na 16 her, pokud je použito s ATMega MCU).
[Video]
Krok 1: Hlavní komponety
Svůj projekt jsem postavil modulárně (dvě samostatné sestavy). Hlavní podsestava displeje; které lze použít samostatně. A podsestava vstupního tlačítka. Tímto způsobem mohu znovu použít tlačítko nebo sestavu displeje v jiném projektu. To také umožňuje flexibilní možnosti montáže.
Také jsem vytáhl řídicí linku na pin-header pro sestavu LED žebříku, abych mohl použít Arduino Nano (nebo Uno), k vývoji softwaru pro něj a také k použití v jiných projektech. Digispark nebude fungovat kvůli ostatním komponentám na jeho desce s obvody.
Rozhodl jsem se použít stejné přiřazení pinů pro LED žebřík jako v předchozích instrukcích, aby bylo snadné pro ty, kteří již mají takovou hardwarovou implementaci, používat software v tomto instruktu, přestože jsem nenašel přiřazení vytvořená pro nejjasnější logiku v software.
Dvě linky mezi moduly jsou PB4 a uzemnění. Protože vše, co je na sestavě s více tlačítky, jsou odpory a přepínače, není to závislé na polaritě a na obrácení připojení nezáleží.
S podporou více tlačítek lze implementovat větší škálu her (nebo aplikací). Dvě hry v tomto pokynu je nejlepší hrát se dvěma tlačítky. Čtyři hlavní tlačítka lze použít k přímému přístupu k přidružené hře. Brzy implementuji hru, která závisí na použití všech čtyř hlavních tlačítek.
Tento projekt používá až šest tlačítek. Čtyři hlavní BTN 1-4, Tato tlačítka lze jednotlivě detekovat, i když jsou současně stisknuta libovolná dvě z nich. Další dvě jsou speciální tlačítka, nejprve je zde ekvivalent jediného tlačítka v dřívějších projektech, které vytváří pevné spojení mezi vstupem PB4 a zemí, říkám tomu BTN0 nebo ESC, protože tento přepínač lze vždy detekovat a zablokuje detekci některého z ostatních. Druhou speciální klávesou je funkční klávesa, pokud ji stisknete při stisknutí BTN 0-4, lze ji vycítit a použít ke změně funkčnosti.
V této skice dovednostní hry používám:
- FncKey+Btn1 návrat do režimu nabídky
- Úroveň obtížnosti FncKey+Btn2 (pokud je nejvyšší, vraťte se na nejnižší)
- FncKey+Btn4 okamžitá pauza (stisknutím libovolné klávesy zrušíte pozastavení)
- FncKey + Btn 0 nebo 3 nejsou definovány.
Krok 2: Seznam dílů
Požadované díly
- LED diody, červená, žlutá, zelená a modrá, vypadají takto
- Desky plošných spojů podobné položky Možná budete muset koupit větší desku a rozřezat ji na požadovanou velikost.
- kolíková zásuvka podobné položky
- Čip Attiny-85
- odpůrci
- použité spínače tlačítek: Momentální hmatová tlačítka PCB 12x12x8mm a 6x6x6mm
doporučeno:
- bzučák 5v, aktivní typ
- nanuková tyčinka
- Pás záhlaví 2,54 mm
- 30 ga drát a drát ovinovací nástroj https://www.ebay.com/itm/351798901037 výše uvedený odkaz je na drát, který je více než 36 ga. Přál bych si, abych věděl o takové dohodě pro skutečných 30 ga. drát
Krok 3: Hlavní body stavby
Na sestavě hlavní desky mám elektricky stejné jako ostatní dřívější projekty LED žebříků, které byste mohli chtít pro další základní konstrukční směry
Na analogovém vstupu A2 (PB4) však nepoužívám vnější vytahovací odpor, také používám červenou, žlutou, zelenou a modrou LED, místo jedné barvy, což je žádoucí u některých her, které jsem pro tento hardware vytvořil.
Zde jsou přiřazení I/O podle očekávání přiložených skic softwaru:
Projekt MCU AT-85 Uno/Nano
Jména název pin# název brd --------- ---- --------------- Červená L1-3 PB3 2 D-11 Yel L4-6 PB0 5 D-8 Zelená L7-9 PB1 6 D-9 Modrá L10-11 PB2 7 D-10 Ain PB4/A2 3 A-2 Audio PB5 1 D-3
Jediným významným rozdílem je, že mám dvě tlačítka připojená k PB4. První jde přímo z PB4 na zem, ale bez externího vytahovacího odporu (tomu říkám BTN0). Mám také tlačítkový spínač (kterému říkám BTN1) připojený k 75Kohm v sérii k zemi. Tuto hlavní desku lze použít bez montážní desky „Button“, ale s omezenými funkcemi.
Aktuální omezující odpory přecházející do sad LED by měly být zvoleny na základě jasu různých barevných LED diod, které používáte, a toho, jak jasné je chcete. Skončil jsem s 91 ohmy pro červenou sadu, 75 žlutých, 430 zelených a 150 ohmů pro modrou. Tyto hodnoty se mohou zdát nízké, ale pamatujte, že LED diody jsou multiplexované (obecně mnohem méně než 100% času)
Použil jsem 3mm LED diody a trochu je od sebe oddělil. Měl jsem nohy LED obkročmo nad nanukem. Tímto způsobem všichni postavili stejné množství a nad všechny ostatní komponenty. V určitém okamžiku mám v úmyslu namontovat jednotku tak, aby LED diody vyčnívaly z rámu.
Rozhodl jsem se omotat drátová propojení. Bez speciální desky s plošnými spoji je to jednodušší než pájení v těsných místech se spoustou propojení; nemá tendenci vyrábět šortky a v případě chyby se snadněji navazuje. Se všemi proudy v a kolem mikrořadiče v miliampérech stačí 30 ga drát.
Tlačítka a související odpory:
Vymyslel jsem jedinečnou konfiguraci (jakési dvojité Y) odporů a tlačítek, takže software dokáže rozeznat jednotlivá a dvojitá stisknutí tlačítek (teoreticky lze identifikovat jakoukoli kombinaci těchto čtyř tlačítek). Zkoušel jsem několik konfigurací s mnoha hodnotami resister v tabulkovém procesoru hledajícím nejlepší konfiguraci, poté jsem je simuloval v softwaru, který vyzkoušel všechny možné kombinace resisterů, abych našel sadu (kterou používám), která by vytvořila maximum minimálního rozdílu analogových naměřených hodnot mezi jakýmikoli & všemi stisknutími jednoho a dvou tlačítek. Uspořádal jsem je tak, aby zvláště Btn1, Btn4 a Btn1+4 byly odlišné.
Viz výše uvedený diagram sítě tlačítek.
Potřebujete zakrýt veškerou kabeláž, která se propojuje s PB4 (a případně přepínat kontakty a odpory) elektrickou páskou, horkým lepidlem nebo něčím jiným, co vůbec nevede, protože pouhý odpor megaohmu zničí schopnost určit, které spínače jsou stisknuty; a jakýkoli takový kontakt, který uděláte při držení sestavy, by to udělal.
Později související Instructables:
4tlačítkové hry využívající jeden analogový vstup/
Dual-Power-for-Your-Portable-Micro-Controller-Proj/
3D vytištěné pouzdro na vloženou LED konzolu a/
Krok 4: Další možnosti a poznámky
Volitelný zvukový výstup
Volitelný zvukový výstup používá PB5. Připojil jsem 5v bzučák v sérii s odporem 150 Ohm, abych omezil jeho jinak hlasitý otravný výstup. Doporučuji použít 50-200 Ohm. Dalo by se paralelně bzučák s víčkem (2-10uf), aby byl méně chraplavý, nebo použít 10mm reproduktor 32 Ohm reproduktor vylomený ze sady levných stereo sluchátek, místo resisteru a bzučáku. Líbí se mi to, pokud jde o zvuky hry, lépe, jak to mám.
Ve výchozím nastavení používá Attiny-85 jako reset PB5, což znamená, že zvuk bude fungovat, ale nebude mít špatný vliv na žádnou jinou operaci. Při použití Nano nebo Uno bude zvuk fungovat (vychází z D3). Abyste s Attiny získali zvuk, budete muset změnit vnitřní konfiguraci pinů, aby software mohl jako výstup používat PB5. Při tom dochází k významnému rozvětvení; podívejte se prosím na tyto:
forum.arduino.cc/index.php?topic=178971.0
www.instructables.com/id/Simple-and-cheap-F…
a
Během hry obvykle chyba nebo selhání vyvolá cvrkot nebo krátký malinový zvuk. Když dokončíte úroveň nebo vyhrajete, hraje se gratulační melodie, jako na ping-pongu. Zjistil jsem, že doprovodný zvuk opravdu zvyšuje radost ze hry.
Alternativní tlačítka typu herního ovladače
Pro své vnuky, kteří jsou hrubí na vybavení, jsem vyrobil trvanlivá samostatná tlačítka Btn1 a Btn4 na konci dlouhých přívodních drátů. Viz foto. Knoflíky jsem namontoval do úchopů; s 75Kohm řadou s Btn1 a ~ 37Kohm řadou s Btn4. V sérii s Btn4 jsem ve skutečnosti použil 36K, 33K nebo dokonce možná 39K. S ohledem na tlačítka externího pístu by bylo vhodné mít samostatnou sadu kolíků záhlaví pro připojení externích ručních tlačítek označovaných jako Btn1 a Btn4.
Je potřeba kvalitní napájecí zdroj
Jako zdroj energie můžete použít USB 5v výstup z PC, tabletu, nabíječky na zeď, powerbanky nebo 3,7 Li baterie.
Zjistil jsem, že při napájení jednotky z některých USB nabíječek a několika USB powerbanek si všimnu švihnutí a občasného chybného chování a dokonce se resetuje. Pokud se s tím setkáte, najděte zdroj energie s lepší regulací, jinak může pomoci přidání velkého (100-1000uf) kondenzátoru přes +V k zemi.
Testování
Zahrnul jsem také testovací program, který pomůže ověřit a odladit váš hardware. Kód se rozpracovává a velmi potřebuje jeho vyčištění. Doufám, že se k tomu dostanu, ale myslím, že by to mělo sloužit vašim potřebám. Nedávno jsem jej použil pouze s Nano, které pohání sestavy displeje a klávesnice. K výběru položek z režimu nabídky můžete použít téměř jakékoli tlačítko. Demo/test ukončíte opětovným stisknutím libovolného tlačítka. Chcete -li opustit test tlačítek (#4), stiskněte FncKey+Btn1 nebo podržte klávesu EscKey (uzemnění PB4) nebo recyklujte napájení.
Vzhledem k rozdílům ve vnitřních odporech MCU a tolerancích odporů bude možná nutné provést některá nastavení, aby byla správně detekována všechna stisknutí jednoho a dvou tlačítek. Chcete-li to provést, použijte test-4 (pro výběr tohoto postupu viz popis ovládání nabídky níže) testovacího programu. Všimněte si toho, že jsem nepoužil externí pull-up rezistor, protože jsem dále plánoval použití pro vstup PB4, které jsou nekompatibilní s jakýmkoli pull up.
Krok 5: Přehled softwaru
Skica LadderGames.ino implementuje čtyři hry včetně některých alternativních verzí.
Skicu lze stáhnout a spustit z ATtiny-85, Nano, Uno atd. Chcete-li ji naprogramovat na čip Attiny, podívejte se na: https://www.instructables.com/id/Program-an-ATtiny… a/nebo naprogramovat váš čip ATtiny-85:
Změňte vnitřní hodiny ATtiny85 na 8 MHz, protože výkon je pro hraní hry požadovaný. Viz:
forum.arduino.cc/index.php?topic=276606.0
Tato skica by měla být zpětně kompatibilní s většinou dřívějších projektů žebříků ATtiny-85, beze změny, ale bude mít omezenou funkčnost.
Ovládání nabídky
Při spuštění probíhá kontrola stavu v podobě přejetí LED a sady pípnutí. Poté přejde do režimu hlavní nabídky. Každá sada LED jedné barvy svítí několik sekund za sebou. Hru vyberete stisknutím tlačítka, zatímco příslušná sada svítí, hra 1: červená, hra 2: žlutá, hra 3: zelená, hra 4: modrá. V režimu nabídky lze Btn2, Btn3, Btn4 stisknout a přejít přímo na hry 2, 3, 4. Jakmile je hra vybrána, budete muset uvést požadovanou variantu. Pro každou dostupnou variantu bude blikat sada barevných LED diod. Jednoduše stiskněte tlačítko na požadovaném. Variace, „verze“pro každou hru, jsou dále popsány níže.
Verzi jednu ze všech čtyř her lze hrát jediným tlačítkem. Buď jeden zapojený mezi PB4 a zemí (Btn-0) jako v dřívějších instruktážních tabulkách LED, nebo pomocí spínače, který spojuje 75k zátěž se zemí (Btn-1). Kterýkoli z nich bude fungovat ve hrách, když pokyny hovoří o nespecifickém stisknutí tlačítka.
K ukončení jakékoli hry můžete použít FncKey+Btn1, podržet EscKey (aka: Btn0) po dobu 1-2 sekund nebo vypnout napájení.
Krok 6: Hraní her
Hra 1: Push-It
Toto je adaptace mé hry „Push-It“podle jednoho z mých dřívějších instrukcí
www.instructables.com/id/Play-a-Game-with-a…
Cílem hry je zvýšit počet bliknutí a počet rozsvícených LED na co největší počet. Push-It začíná několika bliknutími, která se poté opakují. Pokud stisknete tlačítko po posledním záblesku v sérii a pokud by potenciálně existoval další, rozsvítí se další LED a počet záblesků se zvýší o jeden. Pokud ale místo toho „zatlačíte“před nebo po době možného přídavného záblesku, počet záblesků v sadě se sníží.
Pokaždé, když se vám podaří zvýšit počet záblesků, úroveň obtížnosti se zvyšuje, protože časování se trochu zrychluje, takže je stále těžší dostat se k vyšším počtům záblesků.
Aktuální počet je uložen v paměti EEPROM pro pozdější restart na stejné úrovni.
Hra 2: Ping-Pong
Skvělá (i když jediná) soutěžní hra pro dva hráče zde; kde míč (jediný záblesk světla) přechází z jedné strany na druhou, rychleji a rychleji, pokaždé, když se dostane zpět 'úder'.
Poprvé jsem tuto jednoduchou hru světel implementoval přes tlačítka na předním panelu leteckého super-mini počítače v 70. letech minulého století.
K odpálení míče tam a zpět musí zasáhnout příslušné pádlo (stisknuté tlačítko), když je v koncové poloze (poslední LED). První strana, která minula, prohrává a světla na straně vítězů blikají.
Existují dvě varianty, jedna vyžaduje pouze jedno tlačítko (Btn 0 nebo 1), které zasáhne míč na obou koncích; a druhá verze je pro dvě osoby hlava na hlavě, což vyžaduje dvě tlačítka; tlačítko 1 na levé straně a tlačítko 4 nebo 0 na straně druhé. Upřednostňuje se použití tlačítek 1 a 4, protože nebudou vzájemně interferovat; každý může být zasažen, aby vrátil míč z jeho konce bez ohledu na stav druhého tlačítka.
Vítězem rally je vždy server dalšího.
Hra 3: Shooting Gallery
Postřílejte všechny cíle (světla) a dokončete tak úroveň. Na každé vyšší úrovni je akce rychlejší.
Existují dvě verze; v jednom, kde je web pevný a cíle se pohybují a v dalším, kde se web pohybuje a cíle jsou v klidu. V každém případě zásah vyrazí cílové světlo; a chyba způsobí vyskočení cíle. Když je cíl v dohledu, zrak se rozsvítí jasněji, jinak je tmavý.
Ve verzi jedna zaměřovač začíná vlevo (dole) a skenuje doprava. Ve verzi 2 je zaměřovač upevněn uprostřed, zatímco cíl se pohybuje zprava doleva. Když se podíváte na kód, existují strašidelné verze 3 a 4, které by mohly být aktivovány, ale vlastní pohodu dáváte na vlastní riziko.
Hra 4: JumpMan
Jde o to, že procházíte herní úrovní, kde přicházejí objekty, po kterých musíte přeskakovat, a jak postupujete, přicházejí rychleji. V jiné verzi hry jsou také objekty nad hlavou, pod které se musíte sklonit.
Ve verzi jedna jsou pouze objekty, které lze přeskočit. Chcete -li skočit, musíte stisknout tlačítko, když se objekt dostane do poslední buňky vlevo; který se rozjasní, když k tomu dojde. Chcete -li přeskočit 2 nebo více po sobě jdoucích předmětů, musíte skočit (stisknout) na první a na zbytek podržet tlačítko.
Ve verzi 2 jsou přidány objekty nad hlavou (blikající). Ty jsou vyskočeny skokem během buňky před ní a uvolněním, když je v koncové buňce. V jednu chvíli může blikat pouze jedna režie, takže jakmile jedna projde, můžete vidět další (neblikající dříve), jak je na vás dole. Nikdy nebudou existovat po sobě jdoucí režie, ale mohou být přilehlé k jednomu nebo více skokovým (boulderovým) objektům.
Ve hře verze 3 musíte, abyste se dostali, použít samostatné tlačítko pro režijní objekty (Btn- 2, 4 nebo 0 dle vašeho výběru); skoky pak vyžadují Btn-1.
Jakmile zvládnete další čtyři objekty, než jste propadli, postoupíte na úroveň; tam je zvuková a vizuální gratulace, pak obnovení s vyšší rychlostí. Získání sadou po sobě jdoucích objektů se počítá stejně jako jeden jednotlivý objekt.
Doporučuji vám vytisknout si pravidla fungování her a znovu si je přečíst, než budete hrát hru, kterou jste v poslední době nehráli. V opačném případě se můžete frustrovat; myslíte si, že hra nefunguje správně, i když ve skutečnosti je, ale vy a hra máte různé způsoby a očekávání. Sám jsem tomu propadl více než několikrát.
Krok 7: Aktualizace, další hry
Vyrobil jsem 3D tištěné pouzdro na konzolu, do kterého jsem umístil řadový LED displej a tlačítka.
Vymyslel jsem více her, které tento hardware využívají. Podívejte se na ně a bavte se:
Nové hry od „Whack a Mole“po „Tug of War“
Prosinec 2016. Nyní, na konci výše uvedeného odkazu, existuje jednotná verze kódu zahrnující všech 12 her.
17. února 2017: Zde je nejnovější herní sada pro tento projekt, nyní se 16 hrami (náčrt níže). To poběží na jakékoli implementaci MCU s pamětí flash programu 32 kB. Do ATtiny lze vložit jakoukoli jednu až tři nebo čtyři ze 16 her. Doporučuji použít arduino Nano 3. Mezi poslední 4 přidané hry patří závody „Le Mans“, „Spray“, soutěž ve spreji, „PIG“, střílení basketbalového koše, „BiFunc“, kvíz o binárních operacích.
Díky většímu a rozmanitějšímu hraní těchto her je možné zlepšení jejich herních schopností a potěšení pro hráče všech úrovní. Myslím, že v závodech v Le Mans je velký prostor pro zlepšení prostřednictvím návrhu rozvržení trati a načasování hry.
Napsal jsem asi 10 dalších aktivit/her/funkcí, z nichž některé doufám zpřístupním na podzim 2017.
Také tyto jednořádkové hry lze upravit pro 2řádkový LCD displej 2x16, přičemž jeden řádek herních objektů a druhý pro nějaký text. Trochu jsem toho udělal, ale protože jsem co nejvíce podporován projekty, nevím, kdy a jestli se k tomu dostanu. Pokud je tedy někdo motivován k přijetí a optimalizaci těchto her pro LCD 2x16, podělte se se mnou a dalšími.
Kromě 4 nových her zde v Menu_16Games.ino jsem uzavřel svůj projekt a vytvořil související instruktáž: Inline LED herní konzole Case a napájení vašeho přenosného projektu MCU
Doufám, že si mnozí udělají čas a… Užijte si tyto hry.
Skupinová hra: 1– červená 2 žlutá 3- zelená 4- modrá
1 červený PushIt PingPong ShootEmUp JumpMan 2 Yel QuickDraw Tug_a_War Chicken Hot_Hands 3 Grn Le_Mans Spray PIG BiFunc 4 Blu SimonSays Whack_Mole Sea_Hunt Flip_d
2. září 2017: Vylepšená pracovní schopnost se starými špinavými hlučnými externími tlačítky joysticku, ve hře hlava-hlava (skupina 2).
13. prosince 2017: Vylepšené zpracování odskoku tlačítka a usazování měření, opravené drobné problémy. Zkoušel jsem použít kondenzátor na tlačítkovém analogovém vstupním řádku, ale aby byl účinný, vedl k pomalému usazování měření, což vedlo k falešným identifikacím úrovní nebo k čekání softwaru tak dlouho tato rychlá herní akce byla ohrožena.
Duben 2018: Zjistil jsem, že 5/8 kompresní spojky vytvářejí skvělá těla pro externí tlačítka ve stylu pístu. Protože moje děti rády používají dvojici těchto, přidal jsem záhlaví, abych snadno spojil dva z nich (jako Btn1 a Btn4).
Všimněte si toho, že jsem v říjnu minulého roku vytvořil další projekt, který je postaven na hardwaru tohoto instruktuálu. Je to v halloweenském duchu a může to být spousta zábavy, zejména pro děti. Instructable: Ghostly-Psyche-Influenced-Devices
Doporučuje:
Hry se 4 tlačítky pomocí jednoho analogového vstupu: 6 kroků (s obrázky)
Hry se 4 tlačítky pomocí jednoho analogového vstupu: Tento návod se zaměřuje na použití jednoho analogového vstupního řádku pro více tlačítek, která lze detekovat nezávisle na sobě. A zdůraznit použití těchto tlačítek je software pro hraní čtyř různých čtyřtlačítkových her. Všechny hry (8 v
Používejte jeden displej Velký a 4 Cifre 8886 displej Con Wemos ESP8266 Arduino NodeMCU: 6 kroků
Používejte jeden velký displej se 4 Cifre 8886 displejem s ESP8266 Arduino NodeMCU: Vybírejte ze všech semiplic, abyste získali více než 8886 displejů, zobrazte více než jednu skladbu, D1 - potřebujete více Arduino nebo NodeMCU o kvalitní mikrokontrolér, který můžete použít pro každý další
TTGO (barevný) displej s mikropythonem (TTGO T-displej): 6 kroků
TTGO (barevný) displej s mikropythonem (TTGO T-displej): TTGO T-Display je deska založená na ESP32, která obsahuje 1,14 palcový barevný displej. Desku je možné zakoupit za cenu nižší než 7 $ (včetně poštovného, cena viditelná v Banggoodu). To je neuvěřitelná cena za ESP32 včetně displeje
LCD displej I2C / IIC - Použijte SPI LCD na I2C LCD displej pomocí modulu SPI až IIC s Arduino: 5 kroků
LCD displej I2C / IIC | Použijte SPI LCD na I2C LCD displej pomocí modulu SPI až IIC s Arduino: Ahoj lidi, protože normální SPI LCD 1602 má příliš mnoho vodičů na připojení, takže je velmi obtížné propojit jej s arduino, ale na trhu je k dispozici jeden modul, který může převést SPI displej na IIC displej, takže pak potřebujete připojit pouze 4 vodiče
LCD displej I2C / IIC - Převeďte SPI LCD na I2C LCD displej: 5 kroků
LCD displej I2C / IIC | Převeďte SPI LCD na I2C LCD displej: použití spi lcd displeje vyžaduje příliš mnoho připojení, což je opravdu těžké, takže jsem našel modul, který dokáže převést i2c lcd na spi lcd, takže můžeme začít