Kazalo:
- 1. korak: Glavne komponente
- 2. korak: Seznam delov
- 3. korak: Gradbeni poudarki
- 4. korak: Dodatne možnosti in opombe
- 5. korak: Pregled programske opreme
- 6. korak: Igranje iger
- 7. korak: Posodobitve, več iger
Video: Vgrajeni LED zaslon Arduino igre: 7 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
aka LED sistem za prikaz lestve.
Attiny-85, opremljen s strojno in programsko opremo za igranje akcijskih "video" iger, na vrstnem LED zaslonu.
Ima multipleksni 12 LED lestveni zaslon in podpira do 6 gumbnih vhodov in izbirni avdio izhod.
Pakiran je s 4 igrami spretnosti, z več težavnostnimi stopnjami in nekaterimi različicami (posodobljeno na 16 iger, če jih uporabljate z ATMega MCU).
[Video]
1. korak: Glavne komponente
Svoj projekt sem sestavil modularno (dva ločena sklopa). Glavni sklop zaslona; ki ga lahko uporabljate samostojno. In podsklop vnosa gumba. Tako lahko gumb ali sklop zaslona znova uporabim v drugem projektu. To omogoča tudi prilagodljive možnosti montaže.
Nadzorno linijo sem predstavil tudi na glavi pin za montažo lestve LED, tako da sem lahko uporabil Arduino Nano (ali Uno), za razvoj programske opreme zanj in za uporabo v drugih projektih. Digispark ne bo deloval zaradi drugih komponent na tiskanem vezju.
Odločil sem se, da bom za lestve LED uporabil enake dodelitve zatičev kot v prejšnjih navodilih, da bom tistim, ki že imajo takšno strojno izvedbo, olajšal uporabo programske opreme v tem navodilu, čeprav dodelitev za najjasnejšo logiko nisem našel v programsko opremo.
Dve črti med moduli sta PB4 in ozemljena. Ker je vse, kar je na sklopu z več gumbi, upori in stikala, tako da ni odvisno od polaritete, obračanje povezave pa ni pomembno.
S podporo več gumbov je mogoče izvesti več različnih iger (ali aplikacij). Dve od iger v tem navodilu je najbolje igrati z dvema gumboma. S štirimi glavnimi gumbi lahko neposredno dostopate do povezane igre. Kmalu bom uvedel igro, ki je odvisna od uporabe vseh štirih glavnih gumbov.
Ta projekt uporablja do šest gumbov. Štirje glavni BTN 1-4. Te gumbe je mogoče zaznati posamično, tudi če hkrati pritisnete kateri koli od njih. Druga dva sta posebna gumba, najprej je enakovreden enemu gumbu v prejšnjih projektih, ki močno poveže vhod PB4 z maso, temu pravim BTN0 ali ESC, saj je to stikalo vedno mogoče zaznati in bo blokiralo zaznavanje katerega koli od drugih. Druga posebna tipka je funkcijska tipka, če jo pritisnete, ko pritisnete BTN 0-4, jo lahko zaznate in uporabite za spreminjanje funkcionalnosti.
V tej skici igre spretnosti uporabljam:
- FncKey+Btn1 se vrne v menijski način
- FncKey+Btn2 predhodna stopnja težavnosti (če je najvišja, se vrnite na najnižjo)
- FncKey+Btn4 takojšen premor (pritisnite katero koli tipko, da prekinete pavzo)
- FncKey + Btn 0 ali 3 nista določena.
2. korak: Seznam delov
Potrebni deli
- LED, rdeče, rumene, zelene in modre, kot so te
- PCB plošče podobne postavke boste morda morali kupiti večjo ploščo in jo razrezati na želeno velikost.
- vtičnica za podobne izdelke
- Attiny-85 čip
- upira
- uporabljena stikala gumbov: 12x12x8mm in 6x6x6mm PCB trenutni otipni gumbi
priporočeno:
- sirena 5v, aktivni tip
- palčka za popsicle
- 2,54 mm zatični trak
- 30 ga žice in orodje za zavijanje žic https://www.ebay.com/itm/351798901037 zgornja povezava je do žice, ki je bolj podobna 36 ga. Želim si, da bi vedel za takšen posel za resničnih 30 gag. žica
3. korak: Gradbeni poudarki
Na sklopu glavne plošče imam električno enako kot drugi prejšnji projekti lestve LED, ki jih boste morda želeli uporabiti za nadaljnja osnovna navodila za gradnjo
Na analognem vhodu A2 (PB4) pa ne uporabljam zunanjega izvlečnega upora, uporabljam tudi rdeče, rumene, zelene in modre LED, namesto vseh ene barve, kar je zaželeno za nekatere igre, ki sem jih ustvaril za to strojno opremo.
Tu so V/I naloge, kot jih pričakujejo priložene skice programske opreme:
Projekt MCU AT-85 Uno/Nano
Imena imena pin# brd ime --------- ---- ---- --------- rdeča L1-3 PB3 2 D-11 jelna L4-6 PB0 5 D-8 Zelena L7-9 PB1 6 D-9 Modra L10-11 PB2 7 D-10 Ain PB4/A2 3 A-2 Zvok PB5 1 D-3
Ena pomembna razlika je, da imam dva gumba, priključena na PB4. Prvi gre neposredno iz PB4 na tla, vendar brez zunanjega uporovnega uporovnika (temu pravim BTN0). Imam tudi gumbno stikalo (ki mu pravim BTN1), povezano s 75Kohm zaporedno na maso. To glavno ploščo lahko uporabljate brez montažne plošče "Button", vendar z nekaj omejenimi funkcijami.
Trenutne omejevalne upore, ki gredo v sklope LED, je treba izbrati glede na svetlost različnih barvnih LED, ki jih uporabljate, in na to, kako svetle jih želite. Za rdeči komplet sem dosegel 91 ohmov, 75 rumenih, 430 zelenih in 150 ohmov za modro. Te vrednosti se morda zdijo nizke, vendar ne pozabite, da so LED diode multipleksirane (na splošno veliko manj kot 100% časa)
Uporabil sem 3 mm LED diode in jih malo razmaknil. Noge LED -ja so nosile palico Popsicle. Na ta način so vsi vstali enako in nad vsemi drugimi sestavinami. V nekem trenutku nameravam enoto namestiti samo z LED, ki štrlijo skozi okvir.
Odločil sem se za ožičenje LED medsebojnih povezav. Brez posebnega tiskanega vezja je to lažje narediti kot spajkanje na tesnih mestih z veliko medsebojnih povezav; ne proizvaja kratkih hlač in jih je v primeru napake lažje preoblikovati. Z vsemi tokovi v in okoli mikrokrmilnika v miliamperih žice 30 gag zadostuje.
Gumbi in z njimi povezani uporovniki:
Oblikoval sem edinstveno konfiguracijo (nekakšen dvojni Y) uporov in gumbov, tako da lahko programska oprema zazna posamezne in dvojne pritiske gumbov (teoretično je mogoče prepoznati katero koli kombinacijo teh štirih gumbov). Poskusil sem več konfiguracij z množico vrednosti uporov v preglednici, ki sem iskal najboljšo konfiguracijo, nato pa jih simuliral v programski opremi, pri čemer je poskusil vse možne kombinacije uporov, da bi našel niz (ki ga uporabljam), ki bi ustvaril največjo minimalno razliko analognih odčitkov med vsemi in vsemi pritiski na posamezne in dvojne tipke. Razporedil sem jih tako, da so Btn1, Btn4 in Btn1+4 še posebej ločeni.
Glejte zgornji diagram omrežja gumbov.
Vse električne napeljave, ki so medsebojno povezane s PB4 (in po možnosti zamenjati kontakte in upore), morate prikriti z električnim trakom, vročim lepilom ali nečim drugim, kar sploh ne deluje, saj bo zgolj upor mega-ohma odvrgel zmožnost ugotoviti, katera stikala so pritisnjena; in vsak tak stik, ki ga vzpostavite med sestavo, bi to storil.
Kasneje povezani Instructables:
4-Button-Games-Using-One-Analog-Input/
Dual-Power-for-Your-Portable-Micro-Controller-Proj/
3D-natisnjena torbica-za-vgrajen-LED-zaslon-konzola-in/
4. korak: Dodatne možnosti in opombe
Izbirni avdio izhod
Izbirni zvočni izhod uporablja PB5. Priključil sem 5 -voltni brenčalec, zaporedno s 150 ohmskim uporom, da omejim njegov sicer glasen nadležen izhod. Priporočam uporabo 50-200 ohmov. Lahko bi vzporedno z zvočnikom s pokrovčkom (2-10 uf) naredili manj hrustljavo ali pa namesto upora in zvočnikov uporabili 10-milimetrski 32-ohmski zvočnik, odtrgan iz niza poceni stereo ušesnih čepkov. Všeč mi je, za zvoke iger, boljše, kot jih imam.
Attiny-85 privzeto uporablja PB5 kot ponastavitev, kar pomeni, da bi zvok deloval, vendar ne bo imel slabega vpliva na katero koli drugo operacijo. Pri uporabi Nano ali Uno bo zvok deloval (prihaja iz svojega D3). Če želite zvok dobiti z Attinyjem, boste morali spremeniti notranjo konfiguracijo pin, tako da lahko programska oprema uporablja PB5 kot izhod. Pri tem je prišlo do pomembnih posledic; prosimo, preberite te:
forum.arduino.cc/index.php?topic=178971.0
www.instructables.com/id/Simple-and-cheap-F…
in
Na splošno med igro napaka ali neuspeh prikliče cvrkut ali kratek malinov zvok. Ko končate raven ali zmagate, se na primer igra na namiznem tenisu. Ugotavljam, da spremljajoči zvok resnično poveča veselje do igre.
Gumbi za nadomestni tip igralnega krmilnika
Za svoje velike otroke, ki imajo grobo opremo, sem naredil trpežne ločene gumbe, Btn1 in Btn4, na koncu dolgih svinčenih žic. Oglejte si fotografijo. Gumbe sem namestil v ročaje, ki so narejeni s sifanjem; s 75Kohm v vrstici z Btn1 in ~ 37Kohm v vrstici z Btn4. V seriji z Btn4 sem dejansko uporabil 36K, 33K ali celo 39K. Če imate v mislih zunanje gumbe bata, bi bilo dobro imeti ločen nabor zatičev za povezovanje zunanjih ročnih gumbov, označenih kot Btn1 in Btn4.
Potrebno je kakovostno napajanje
Za vir napajanja lahko neposredno uporabite 5-voltni USB izhod računalnika, tabličnega računalnika, stenskega polnilnika, napajalnika ali baterije 3,7 Li.
Ugotovil sem, da bi pri napajanju enote iz nekaterih polnilnikov USB in več USB-napajalnikov opazil utripanje in občasno napačno obnašanje ter celo ponastavitev. Če se vam to zgodi, poiščite vir energije z boljšo regulacijo, sicer lahko pomaga dodajanje velikega (100-1000uf) kondenzatorja preko +V na tla.
Testiranje
Vključil sem tudi testni program, ki bo pomagal potrditi in odpraviti napake vaše strojne opreme. Koda je v pripravi in jo je zelo treba očistiti. Upam, da bom do tega prišel, vendar mislim, da bi to moralo ustreči vašim potrebam. Pred kratkim sem ga uporabljal le z Nanom, ki je upravljal sklope zaslona in tipkovnice. Za izbiro elementov v menijskem načinu lahko uporabite skoraj kateri koli gumb. Če želite zapustiti predstavitev/test, znova pritisnite kateri koli gumb. Če želite zapustiti preizkus gumbov (#4), pritisnite FncKey+Btn1 ali pridržite tipko EscKey (ozemljitev PB4) ali pa reciklirajte moč.
Zaradi razlik v notranjih uporih MCU in tolerancah uporov boste morda morali narediti nekaj prilagoditev, da bodo vsi pritiski na posamezne in dvojne tipke pravilno zaznani. Če želite to narediti, uporabite test-4 (za izbiro tega glejte spodnji opis delovanja menija) preskusnega programa. Upoštevajte, da nisem uporabil zunanjega vlečnega upora, saj sem za vhod PB4 še naprej načrtoval uporabo, ki ni združljiva z nobenim vlečenjem.
5. korak: Pregled programske opreme
Skica LadderGames.ino izvaja štiri igre, vključno z nekaterimi nadomestnimi različicami.
Skico je mogoče prenesti in zagnati z ATtiny-85, Nano, Uno itd. Za programiranje v čip Attiny glejte: https://www.instructables.com/id/Program-an-ATtiny… in/ali za programiranje vaš čip ATtiny-85:
Notranjo uro ATtiny85 spremenite na 8MHz, saj je za igro potrebno delovanje. Glej:
forum.arduino.cc/index.php?topic=276606.0
Ta skica bi morala biti za nazaj združljiva z večino prejšnjih projektov lestvic ATtiny-85, brez sprememb, vendar bo imela omejeno funkcionalnost.
Delovanje menija
Ob zagonu je zdravniški pregled v obliki pometanja po LED -jih in niz piskov. Nato gre v način glavnega menija. Vsak komplet svetlečih diod ene barve sveti nekaj sekund zapored. Igra je izbrana s pritiskom na gumb, medtem ko sveti pripadajoči niz, igra 1: rdeča, igra 2: rumena, igra 3: zelena, igra 4: modra. V menijskem načinu lahko pritisnete Btn2, Btn3, Btn4, da greste neposredno na igre 2, 3, 4. Ko je igra izbrana, morate navesti želeno različico. Za vsako različico, ki je na voljo, utripa niz barvnih LED. Preprosto pritisnite gumb na želenem. Različice, "različice", za vsako igro so podrobneje opisane spodaj.
Prvo različico od vseh štirih iger lahko igrate z enim samim gumbom. Bodisi bodisi ožičen med PB4 in ozemljitvijo (Btn-0), kot v prejšnjih navodilih za lestve LED, ali s stikalom, ki poveže 75-kilogramsko obremenitev z maso (Btn-1). Karkoli od tega bo v igrah delovalo, če navodila govorijo o nespecifičnem pritisku gumba.
Za izhod iz katere koli igre lahko uporabite FncKey+Btn1, držite tipko EscKey (aka: Btn0) za 1-2 sekundi ali pa izklopite napajanje.
6. korak: Igranje iger
1. igra: Push-It
To je priredba moje igre "Push-It" iz enega mojih prejšnjih navodil
www.instructables.com/id/Play-a-Game-with-a…
Cilj igre je povečati število utripanja in število prižganih LED na čim več. Push-Začne se s številnimi utripi, ki se nato ponovijo. Če pritisnete gumb po zadnji bliskavici v seriji in ko potencialno obstaja še ena, bo zasvetila naslednja LED in število bliskavic se bo povečalo za eno. Če pa pritisnete pred ali po časovnem obdobju morebitne dodatne bliskavice, se bo število utripov v nizu zmanjšalo.
Vsakič, ko vam uspe povečati število bliskavic, se težavnostna stopnja poveča, saj se čas nekoliko pospeši, zaradi česar je težje in težje priti do večjega števila bliskavic.
Trenutna številka se shrani v pomnilnik EEPROM za poznejši ponovni zagon na isti ravni.
Igra 2: namizni tenis
Odlična (čeprav edina) tekmovalna igra za dva igralca; kjer žoga (en sam odsev svetlobe) gre vedno hitreje z ene strani na drugo, vsakič, ko jo "udari" nazaj.
To igro z eno vrstico luči sem prvič izvedel v sedemdesetih letih prejšnjega stoletja na gumbih na sprednji plošči vesoljskega super mini računalnika.
Če želite žogico udariti naprej in nazaj, jo morate pritisniti (pritisniti gumb), ko je v končnem položaju (zadnja LED). Prva stran, ki jo zgreši, izgubi in luči na zmagovalni strani utripajo.
Obstajata dve različici, od katerih ena zahteva le en gumb (Btn 0 ali 1), ki bo udaril žogo na obeh koncih; in druga različica je namenjena dvema osebama, ki zahtevata dva gumba; gumb 1 na levi strani in gumb 4 ali 0 na drugi. Zaželena je uporaba gumbov 1 in 4, saj se ne bosta medsebojno motila; vsakega je mogoče udariti, da vrne žogo z njenega konca, ne glede na stanje drugega gumba.
Zmagovalec relija je vedno strežnik za naslednjega.
3. igra: Strelska galerija
Ustreli vse tarče (luči), da dokončaš raven. Na vsaki višji ravni je dejanje hitrejše.
Obstajata dve različici; eno, kjer je spletno mesto fiksno in se cilji premikajo, in drugo, kjer se spletno mesto premika in so cilji še vedno mirni. V vsakem primeru zadetek izbije ciljno luč; in zgrešenje povzroči, da se pojavi tarča. Ko je tarča na vidiku, se sveti svetleje, sicer je zatemnjena.
V prvi različici se pogled začne levo (spodaj) in skenira desno. V različici 2 je pogled pritrjen na sredino, medtem ko se cilj premika desno proti levi. Če pogledate kodo, se lahko aktivirajo sablasne različice 3 in 4, vendar na lastno odgovornost postavljate svoje počutje.
4. igra: JumpMan
Ideja je, da tečete skozi raven igre, kjer pridejo predmeti, po katerih morate preskočiti, saj z napredovanjem pridejo hitreje. V drugi različici igre obstajajo tudi predmeti nad glavo, pod katere se morate pokriti.
V prvi različici lahko preskočite le predmete. Za skok morate pritisniti gumb, ko predmet pride do zadnje celice na levi; ki se ob tem pojasni. Če želite skočiti 2 ali več zaporednih predmetov, morate skočiti (pritisniti) na prvem in pritisniti gumb za ostale.
V različici 2 se dodajo nad glavo (utripajoči) predmeti. Te skočijo tako, da skočijo med celico pred njo in jo sprostijo, ko je v končni celici. Naenkrat lahko utripa samo ena režijska cena, zato lahko po prehodu enega vidite drugega (prej ne utripajočega). Nikoli ne bo zaporednih režijskih stroškov, lahko pa so v bližini enega ali več skokovnih objektov (tip balvana).
V različici igre 3 morate priti do ločenega gumba za nadzemne predmete (Btn-2, 4 ali 0 po vaši izbiri); za skoke je potreben Btn-1.
Ko ste uspeli preteči še štiri objekte, ki vam niso uspeli, napredujete na ravni; sledijo avdio in vizualne čestitke, nato nadaljevanje z višjo hitrostjo. Pridobivanje z nizom zaporednih predmetov šteje enako kot en posamezen predmet.
Svetujem vam, da natisnete pravila delovanja iger in jih ponovno preberete, preden igrate igro, ki je še niste igrali. V nasprotnem primeru se lahko razočarate; misliti, da igra ne deluje pravilno, čeprav je res, vendar imate vi in igra različne načine in pričakovanja. Tudi sam sem več kot nekajkrat padel v to.
7. korak: Posodobitve, več iger
Naredil sem 3D natisnjeno ohišje konzole za vgradnjo zaslona in gumbov LED lestve v vrstici.
Razvil sem več iger, ki uporabljajo to strojno opremo. Oglejte si jih in se zabavajte:
Nove igre od 'Whack a Mole' do 'Tug of War'
December 2016. Zdaj, na koncu zgornje povezave, je poenotena različica kode, ki vključuje vseh 12 iger.
17. februar 2017: Tu je najnovejši komplet iger za ta projekt, zdaj s 16 igrami (skica spodaj). To bo delovalo na kateri koli izvedbi MCU z 32 KB bajta pomnilnika programa. Kljub temu, da lahko eno do 3 ali 4 od 16 iger damo v ATtiny. Priporočam uporabo arduinosov Nano 3. Zadnje 4 igre, ki so bile dodane, so dirke "Le Mans", "Spray" tekmovanje v slikanju z brizganjem.
Z večjim in bolj raznolikim igranjem teh iger so možne izboljšave njihovih igralnih sposobnosti in uživanje za vse igralce na ravni. Mislim, da je pri dirkanju v Le Mansu veliko prostora za izboljšave z oblikovanjem proge in časom igre.
Zapisanih imam še približno 10 dejavnosti/iger/funkcij, za katere upam, da jih bom dal na voljo okoli jeseni 2017.
Tudi te igre z eno vrstico lahko spremenite za 2 -vrstni 2x16 LCD zaslon, z eno vrstico predmetov igre, drugo pa za nekaj besedila. Nekaj sem že naredil, a ker imam podprte projekte, kolikor vidim, ne vem, kdaj in ali bi do tega prišel. Če je torej kdo motiviran za sprejetje in optimizacijo teh iger za LCD 2x16, prosim delite z mano in drugimi.
Poleg štirih novih iger tukaj v Menu_16Games.ino sem priložil svoj projekt in ustvaril sorodna navodila: Ohišje vgrajene LED igralne konzole in napajanje vašega prenosnega MCU projekta
Upam, da si mnogi vzamejo čas in… UŽIVAJTE v teh igrah.
Skupinska igra: 1– rdeča 2- rumena 3- zelena 4- modra
1 rdeč 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. september 2017: Izboljšana delovna sposobnost s starimi umazanimi hrupnimi gumbi zunanje krmilne palice v igri z glavo (skupina 2).
13. december 2017: Izboljšano ravnanje z odbijanjem tipk in poravnavo meritev, odpravljene manjše težave. Poskusil sem uporabiti kondenzator na analogni vhodni liniji gumba, vendar je za njegovo učinkovitost prišlo do počasnega poravnave merjenja, ki je povzročilo napačne identifikacije ravni ali programsko opremo, ki je čakala tako dolgo da je bilo hitro dejanje igre ogroženo.
April 2018: Ugotovil sem, da kompresijske sklopke 5/8 naredijo odlično ohišje za zunanje gumbe v slogu bata. Ker moji otroci radi uporabljajo par teh, sem dodal zatiče za glavo, da jih enostavno povežem (kot Btn1 in Btn4).
Upoštevajte, da sem oktobra lani ustvaril nov projekt, ki temelji na strojni opremi tega učitelja. Je v duhu noči čarovnic in je lahko zelo zabavno, še posebej za otroke. Navodila za uporabo: Naprave, na katere vplivajo duhovi, psiha
Priporočena:
Vgrajeni cilindrični nosilec varovalk (priključki): 15 korakov (s slikami)
Inline cilindrični nosilec varovalk (konektorji): Ta navodila so namenjena valjastim steklenim držalom varovalk, ustvarjenim v TinkerCAD -u. Ta projekt se je začel junija in se prijavil na natečaj za oblikovanje TinkerCAD. Obstajata dve vrsti nosilcev varovalk, ena za običajne 5x20 mm in druga za
Volan in pedala DIY PC iz kartona! (Povratne informacije, prestavne ročice, zaslon) za dirkalne simulatorje in igre: 9 korakov
Volan in pedala DIY PC iz kartona! (Povratne informacije, prestavne ročice, zaslon) za dirkalne simulatorje in igre: Pozdravljeni! V teh dolgočasnih časih se vsi sprehajamo in iščemo kaj početi. Dirke v resničnem življenju so bile odpovedane in so bile zamenjane s simulatorji. Odločil sem se za izdelavo poceni simulatorja, ki deluje brezhibno, provi
TTGO (barvni) zaslon z mikropythonom (T-zaslon TTGO): 6 korakov
TTGO (barvni) zaslon z Micropythonom (TTGO T-zaslon): TTGO T-zaslon je plošča, ki temelji na ESP32 in vključuje 1,14-palčni barvni zaslon. Ploščo lahko kupite za nagrado manj kot 7 $ (vključno z ladijskim prometom, nagrado na banggoodu). To je neverjetna nagrada za ESP32, vključno z zaslonom
I2C / IIC LCD zaslon - Uporabite SPI LCD za LCD zaslon I2C z uporabo modula SPI do IIC z Arduinom: 5 korakov
I2C / IIC LCD zaslon | Uporabite SPI LCD za LCD zaslon I2C z uporabo modula SPI do IIC z Arduinom: Pozdravljeni, saj ima navaden SPI LCD 1602 preveč žic za povezavo, zato ga je zelo težko povezati z arduinom, vendar je na trgu na voljo en modul, ki lahko pretvorite zaslon SPI v zaslon IIC, tako da morate priključiti samo 4 žice
I2C / IIC LCD zaslon - Pretvorite SPI LCD v LCD zaslon I2C: 5 korakov
I2C / IIC LCD zaslon | Pretvorite SPI LCD v LCD zaslon I2C: uporaba spi lcd zaslona zahteva preveč povezav, kar je res težko narediti, zato sem našel modul, ki lahko i2c lcd pretvori v spi lcd, zato začnimo