Kazalo:
- Korak: Čreva
- 2. korak: Sestavljanje tiskanega vezja
- 3. korak: Čas je za programiranje
- 4. korak: O samem programu
- 5. korak: Prilagodite svoje ustvarjanje
Video: Vizitka/igralna konzola: ATtiny85 in zaslon OLED: 5 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Zdravo vsi
Danes vam bom pokazal, kako lahko zgradite svojo lastno vizitko/igralno konzolo/karkoli si lahko zamislite z osvetljenim zaslonom I2C OLED in mikroprocesorjem ATtiny85. V tem navodilu vam bom povedal, kako PCB, ki sem ga oblikoval, dejansko deluje, kako ga lahko zgradite in kaj lahko storite s to funkcionalnostjo. Če že imate zaslon I2C, priključen na ATtiny85, je ta Instructable še vedno lahko v pomoč, če poskušate prikazati slike ali želite narediti menije, igro in drugo.
Verjetno se sprašujete, kaj v resnici je ta stvar. To je preprosto tiskano vezje z vgrajeno baterijo, zaslonom, gumbi, stikalom za vklop/izklop in procesno enoto. Pomislite na to kot na majhnega Gameboya, ki ga lahko preprosto programirate za različne stvari. Naprej!
Korak: Čreva
Če tega še niste storili, vam toplo priporočam, da se prijavite na spletnem mestu circuits.io. To vam bo omogočilo, da moj dizajn prilagodite svojim potrebam.
V tem koraku bom razložil, kako lahko v resnici pridete do ene od teh tiskanih vezij (PCB). PCB sem naredil v circuits.io, odličnem spletnem orodju, ki ga lahko uporabite za ustvarjanje shem vezja in tiskanih vezij. Oblikovanje si lahko ogledate tukaj:
Če vas zanima nakup tiskanega vezja, lahko naročite v OSH Parku, kolikor želite, na tej povezavi:
Dobivanje plošč traja nekaj časa (1-3 tedne), ampak verjemite mi. Je vredno! Za izdelavo lastne večnamenske kartice boste potrebovali naslednje dele:
- ATtiny85 v paketu SOIC-8. To so možgani našega projekta, ki nadzoruje VSE.
- OLED zaslon I2C 128 x 64 slikovnih pik:
- 2 22k ohmski upori. To so upogibni upori za gumbe.
- Nosilec za površinsko montažo CR2032:
- Coin Cell baterija CR2032. Ta majhna baterija lahko napaja vezje kar nekaj časa.
- 3-polno drsno stikalo. To je stikalo za vklop!
- Ženske glave. Te lahko uporabite za programiranje ATtiny85, medtem ko je v tokokrogu!
- 6 mm gumbi:
- Tiskano vezje (naročite ga lahko na zgornji povezavi
Orodja:
- Spajkalnik (s fino konico)
- Spajkanje
- Svinčeve škarje
Za programiranje ATtiny85:
- 6 moških moških mostičkov
- En kondenzator z 10 mikrofaradi
- Arduino Uno ali kakšen drug mikrokrmilnik na osnovi ATmega
2. korak: Sestavljanje tiskanega vezja
To je res precej enostavno. Vse kar morate storiti je, da vse komponente spajkate na ustrezna mesta, kot je označeno na plošči. Nekateri od teh zaslonov OLED so različnih velikosti, zato, če je vaš prevelik za ploščo, ga lahko obesite na vrh, kot je prikazano na zgornji sliki, ter se upognite nad glavo na drugi strani in jih spajkajte v luknje, kjer naj bi šli. Če ste zmedeni, si oglejte drugo sliko.
Nekaj koristnih nasvetov:
- Drobna pika na ATtinyju mora biti usmerjena tako, da je blizu drsnega stikala, sicer boste imeli zatiče v napačnem vrstnem redu.
- Pomembna je usmerjenost držala baterije. Konec držala z vtisnjenim plusom mora biti na spodnji blazinici (usmerjen proti uporu).
- Usmerjenost stikal, gumbov, glav in uporov ni pomembna
Če imate kakršna koli vprašanja, mi pišite na info [at] coniferapps.com
3. korak: Čas je za programiranje
Kombinacija ATtiny/screen je delovala z uporabo naslednjih navodil: https://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/. Pravzaprav celo uporabljam knjižnico, ki jo je AndyB2 spremenil v svojih skicah.
Način programiranja ATtinyja je Arduino Uno. Naslednji Instructable vam pokaže, kako to storite: https://www.instructables.com/id/Program-an-ATtiny-with-Arduino/. Če še niste opazili, so vsi potrebni zatiči koristno razbiti na tiskanem vezju, številke pinov pa so označene na hrbtni strani.
Če želite začeti z osnovnim primerom, naložite zgoraj povezano skico na svojo kartico. Pred tem preklopite stikalo za vklop v desno. Ne želite, da imata baterija in Uno hkrati napajalno napetost! V tej mapi je veliko datotek. O tem bom govoril v naslednjem koraku, vendar je večina datotek z glavo šestnajstiški prikaz enobarvnih bitnih slik. Datoteke.bmp so te slike, ki sem jih pravkar omenil - kot vidite, so črno -bele in natančno 128x64 slikovnih pik. Ti niso naloženi v mikrokrmilnik, vendar sem mislil, da jih bom vključil za referenco.
4. korak: O samem programu
Skica, ki sem jo dal v prejšnji korak, je zelo preprost primer, kako lahko uporabite meni. Ko pritisnete vsak levi in desni gumb, preklopi števec v programu. Nato se pokliče funkcija, pri kateri ATtiny preveri stanje tega števca in na podlagi številke števca ATtiny nariše sliko trenutno izbrane možnosti menija na zaslonu. Vsaka od različnih izbranih menijskih celic je lastna podoba. Če pritisnete zgornji gumb, ATtiny znova preveri stanje števca, da ugotovi, kateri zaslon s podrobnostmi naj se prikaže. Medtem ko so prikazani ti zasloni s podrobnostmi, ATtiny nenehno preverja, ali je pritisnjen kateri koli gumb. Ko zazna pritisk gumba, se funkcija, ki pripravi menije, ponovno pokliče in na zaslonu se prikaže trenutno stanje menija, ki nas popelje nazaj v meni. Sliši se nekoliko zastrašujoče, če ste začetnik programiranja, vendar vam obljubim, da ko boste pogledali kodo, bo to bolj smiselno.
Vsak zaslon s podrobnostmi je tudi lastna podoba.
Če niste opazili, možnost presenečenja ne naredi ničesar. Do tega bomo prišli v naslednjem koraku:).
5. korak: Prilagodite svoje ustvarjanje
Zdaj, ko ste videli, kaj sem naredil, je čas, da kartico prilagodite svojim podatkom. Ta knjižnica, ki sem jo vključil, ima funkcijo risanja besedila na zaslonu, vendar toplo priporočam, da uporabite strogo slikovno rešitev, saj je videti veliko bolje. Prvotno sem nameraval dodati fotografije v programski del tega navodila, vendar je to dovolj dolgo, da upraviči lastna navodila. Ogledate si ga lahko tukaj:
Zdaj, ko veste, kako dodati fotografije, lahko kartico naredite kar nekaj. Uporabite lahko moje menije in zaslon za pomoč ter dodate samo svoje kontaktne podatke. Za možnost "presenečenja" bi lahko naredili celo majhno igro. Precej preprosto bi bilo premakniti zelo majhen sprite velikosti 10x10 po zaslonu z gumbi in preveriti, ali trči v drugega sprite. S tem istim konceptom bi lahko naredili klobuka ptičje ptice! Če kaj naredite, v komentarjih objavite fotografijo/video/datoteko tega!
Še ena majhna točka, ki sem jo pozabil omeniti. Kar zadeva shranjevanje, ga ATtiny85 nima veliko. Za programe je to približno 8 KB. Moja trenutna skica s 5 slikami in knjižnico zaslona OLED zavzema približno 7 od teh 8 KB. Vsaka igra, ki jo naredite, se bo morala prilegati tej relativno majhni marži, zato bo to zabaven izziv:).
Hvala, ker ste me poslušali, in če imate kakršna koli vprašanja, mi brez oklevanja pišite na info [at] coniferapps.com (zamenjajte [at] z @). Glasujte zame v natečaju Autodesk Circuits! Upajmo, da boste kmalu imeli svojo vizitko/igro za predstavitev!
Priporočena:
Ročna igralna konzola Raspberry Pi Zero DIY: 6 korakov (s slikami)
Ročna igralna konzola Raspberry Pi Zero DIY: V tem projektu vam bom pokazal, kako sem uporabil Raspberry Pi Zero, NiMH baterije, domače zaščitno vezje za prekomerno praznjenje, LCD za vzvratno vožnjo in avdio ojačevalnik za ustvarjanje ročne igralne konzole, ki lahko predvaja retro igre. Začnimo
Ročna igralna konzola ESP32: 21 korakov (s slikami)
Ročna igralna konzola ESP32: Ta navodila kažejo, kako uporabiti ESP32 in ATtiny861 za izdelavo igralne konzole za emulator NES
Igralna konzola Pi Tourer iz leta 1963: 9 korakov (s slikami)
Igralna konzola Pi Tourer iz leta 1963: To je avtomobilski radio Sky Tourer iz leta 1963, ki sem ga spremenil v priročno prenosno igralno konzolo za retro igre. Vgrajen ima Raspberry Pi 3, s 6 arkadnimi gumbi in krmilno palčko, ki preko krmilne plošče Picade upravlja te vintage sprajte RetroPie.
Ročna igralna konzola - Arduboy Clone: 6 korakov (s slikami)
Ročna igralna konzola | Arduboy Clone: Pred nekaj meseci sem naletel na Arduboy, ki je po uradni spletni strani miniaturna 8-bitna igralna platforma, ki olajša učenje, deljenje in igranje iger na spletu. Je odprtokodna platforma. Igre za Arduboy izdeluje uporabnik
Arduino žepna igralna konzola + A -labirint - igra labirint: 6 korakov (s slikami)
Arduino Pocket Game Console + A -Maze - Maze Game: Dobrodošli v mojem prvem navodilu! Projekt, ki ga želim danes deliti z vami, je igra Arduino labirint, ki je postala žepna konzola, ki je sposobna tako kot Arduboy in podobne konzole na osnovi Arduina. Zahvaljujoč razstavi Expo