Kazalo:

Vizitka/igralna konzola: ATtiny85 in zaslon OLED: 5 korakov (s slikami)
Vizitka/igralna konzola: ATtiny85 in zaslon OLED: 5 korakov (s slikami)

Video: Vizitka/igralna konzola: ATtiny85 in zaslon OLED: 5 korakov (s slikami)

Video: Vizitka/igralna konzola: ATtiny85 in zaslon OLED: 5 korakov (s slikami)
Video: Retro Genesis 8 Bit Wireless HD 300 игр / ОБЗОР ТЕСТ РАСПАКОВКА СРАВНЕНИЕ 2024, November
Anonim
Image
Image
Poguma
Poguma

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

Poguma
Poguma
Poguma
Poguma

Č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

Sestavljanje tiskanega vezja
Sestavljanje tiskanega vezja
Sestavljanje tiskanega vezja
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: