Sadržaj:
- Korak 1: Utroba
- Korak 2: Sastavljanje PCB -a
- Korak 3: Vrijeme je za programiranje
- Korak 4: O samom programu
- 5. korak: Prilagodite svoju kreaciju
Video: Posjetnica/igraća konzola: ATtiny85 i OLED zaslon: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Pozdrav svima
Danas ću vam pokazati kako možete izgraditi vlastitu posjetnicu/igraću konzolu/što god zamislite, a sadrži I2C OLED zaslon s pozadinskim osvjetljenjem i mikroprocesor ATtiny85. U ovom Instructable -u ću vam reći kako PCB koji sam dizajnirao zapravo funkcionira, kako ga možete izgraditi i što možete učiniti s ovom funkcionalnošću. Ako već imate I2C zaslon spojen na ATtiny85, ovaj Instructable i dalje može biti od pomoći ako pokušavate prikazati slike ili želite napraviti izbornike, igru i drugo.
Vjerojatno se pitate što je ovo zapravo. To je samo jednostavna tiskana ploča s ugrađenom baterijom, zaslonom, gumbima, prekidačem za uključivanje/isključivanje i procesorskom jedinicom. Zamislite to kao malenog Gameboya, kojeg možete jednostavno programirati za razne stvari. Naprijed!
Korak 1: Utroba
Ako već niste, toplo vam preporučujem da napravite račun na circuits.io. To će vam omogućiti da moj dizajn prilagodite svojim potrebama.
U ovom koraku ću vam objasniti kako zapravo možete doći do jedne od ovih tiskanih ploča (PCB -ova). Svoj sam PCB napravio u circuits.io, izvrsnom mrežnom alatu koji možete koristiti za izradu shema sklopova i PCB -a. Dizajn možete pogledati ovdje:
Ako ste zainteresirani za nabavku PCB -a, možete naručiti koliko god želite od OSH Parka putem ove veze:
Potrebno je neko vrijeme da dobijete ploče (1-3 tjedna), ali vjerujte mi. Vrijedno je toga! Za izradu vlastite višenamjenske kartice trebat će vam sljedeći dijelovi:
- ATtiny85 u paketu SOIC-8. Ovo je mozak našeg projekta koji kontrolira SVE.
- I2C OLED ekran sa 128 x 64 piksela:
- 2 otpornika od 22 k ohma. To su otpornici za povlačenje gumba.
- Površinski nosač CR2032 Držač:
- CR2032 Baterija u obliku novčića. Ova mala baterija može napajati krug već neko vrijeme.
- 3-polni klizni prekidač. Ovo je prekidač za napajanje!
- Ženske glave. Pomoću njih možete programirati ATtiny85 dok je u krugu!
- Gumbi od 6 mm:
- Tiskana ploča (možete je naručiti putem gornje veze
Alati:
- Lemilica (sa finim vrhom)
- Lem
- Mašine za olovke
Za programiranje ATtiny85:
- 6 Muške žice kratkospojnika
- Jedan kondenzator od 10 mikrofarad
- Arduino Uno ili neki drugi mikrokontroler temeljen na ATmegi
Korak 2: Sastavljanje PCB -a
Ovo je stvarno prilično jednostavno. Sve što trebate učiniti je lemiti sve komponente na odgovarajuća mjesta, kako je naznačeno na ploči. Neki od ovih OLED ekrana dolaze u različitim veličinama, pa ako je vaš prevelik za ploču, možete ga objesiti preko vrha kao na gornjoj slici, sagnuti se nad zaglavlja s druge strane i lemiti ih u rupe gdje trebali su otići. Pogledajte drugu sliku ako ste zbunjeni.
Nekoliko korisnih savjeta:
- Sitna točka na ATtinyju mora biti orijentirana tako da bude blizu kliznog prekidača, inače ćete igle imati u pogrešnom redoslijedu.
- Orijentacija držača baterije je važna. Kraj držača s ugraviranim plusom mora biti na donjoj podlozi (usmjeren prema otporniku).
- Orijentacija prekidača, gumba, zaglavlja i otpornika nije važna
Ako imate pitanja, pošaljite mi e -poruku na info [at] coniferapps.com
Korak 3: Vrijeme je za programiranje
Proradio sam svoju ATtiny/screen kombinaciju koristeći sljedeće instrukcije: https://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/. Zapravo, čak koristim i biblioteku koju je AndyB2 izmijenio u vlastitim skicama.
Način na koji ćemo programirati ATtiny je putem Arduino Uno. Sljedeći Instructable pokazuje vam kako to učiniti: https://www.instructables.com/id/Program-an-ATtiny-with-Arduino/. Ako već niste primijetili, svi potrebni pinovi su korisno razbijeni na PCB-u s brojevima pinova označenim na poleđini.
Ako želite započeti s osnovnim primjerom, prenesite gornju skicu na svoju karticu. Prije toga učinite da prekidač za napajanje pomakne udesno. Ne želite da baterija i Uno napajaju napon istovremeno! U toj mapi je hrpa datoteka. O ovome ću više govoriti u sljedećem koraku, ali većina datoteka zaglavlja tamo ima heksadecimalne prikaze monokromatskih bitmapa.. Bmp datoteke su ove slike koje sam upravo spomenuo - kao što vidite, one su crno -bijele i točno 128x64 piksela. Oni nisu učitani u mikrokontroler, ali sam mislio da ću ih uključiti za referencu.
Korak 4: O samom programu
Skica koju sam vam dao u prethodnom koraku vrlo je jednostavan primjer kako možete implementirati izbornik. Klikom na svaki od lijevih i desnih gumba prebacuje se brojač u programu. Zatim se poziva funkcija koja ATtiny provjerava stanje ovog brojača, a na temelju broja brojača ATtiny iscrtava sliku trenutno odabrane opcije izbornika na ekranu. Svaka od različitih odabranih ćelija izbornika vlastita je slika. Ako se pritisne gornji gumb, ATtiny ponovno provjerava stanje brojača kako bi odredio koji zaslon s detaljima treba prikazati. Dok se prikazuju ti zasloni s detaljima, ATtiny stalno provjerava je li pritisnuta bilo koja tipka. Nakon što otkrije pritisak gumba, funkcija koja crta izbornike ponovno se poziva i trenutno stanje izbornika iscrtava se na ekranu, vraćajući nas u izbornik. Zvuči pomalo zastrašujuće ako ste tek počeli s programiranjem, ali obećavam vam da će jednom kad pogledate kôd to imati više smisla.
Svaki od ekrana s detaljima također je vlastita slika.
Ako niste primijetili, opcija iznenađenja ne čini ništa. Doći ćemo do ovoga u sljedećem koraku:).
5. korak: Prilagodite svoju kreaciju
Sad kad ste vidjeli što sam učinio, vrijeme je da prilagodite karticu vlastitim podacima. Ta biblioteka koju sam uključio ima funkciju iscrtavanja teksta na ekranu, ali toplo preporučujem da se odlučite za rješenje strogo temeljeno na slikama jer izgleda mnogo bolje. Prvo sam namjeravao dodati fotografije u programski dio ovog uputstva, ali to je dovoljno dugo da opravda vlastite upute. Možete ga pogledati ovdje:
Sada kada znate dodavati fotografije, postoji mnogo stvari na koje možete natjerati karticu. Možete koristiti moje jelovnike i zaslon za pomoć te samo dodati svoje podatke za kontakt. Mogli biste čak napraviti i malu igru za opciju "iznenađenja". Bilo bi prilično jednostavno premjestiti vrlo mali sprite veličine 10x10 po ekranu pomoću gumba i provjeriti sudara li se s drugim sprajtom. Pomoću ovog istog koncepta mogli biste napraviti klobuka od ptičje ptice! Ako nešto napravite, u komentarima objavite njegovu fotografiju/video/datoteku!
Još samo jedna sitnica koju sam zaboravio spomenuti. Što se pohrane tiče, ATtiny85 ga nema previše. Za programe je to oko 8 KB. Moja trenutna skica s 5 slika i bibliotekom OLED zaslona zauzima oko 7 od tih 8 KB. Svaka igra koju napravite morat će se uklopiti u ovu relativno malu maržu, pa će to biti zabavan izazov:).
Hvala što ste me slušali kako lutam dalje, a ako imate pitanja, ne ustručavajte se poslati mi e -poruku na info [at] coniferapps.com (zamijenite [at] sa @). Molimo glasajte za mene na natječaju Autodesk Circuits! Nadamo se da ćete uskoro imati svoju posjetnicu/igru za pokazivanje!
Preporučeni:
Ručno napravljena igraća konzola Raspberry Pi Zero: 6 koraka (sa slikama)
Ručno napravljena ručna igraća konzola Raspberry Pi Zero: U ovom projektu pokazat ću vam kako sam koristio Raspberry Pi Zero, NiMH baterije, domaći krug zaštite od prekomjernog pražnjenja, LCD zaslon za povratno gledanje i audio pojačalo za stvaranje ručne igraće konzole koja može igrati retro igre. Započnimo
Još jedna ATtiny85 igraća konzola za retro igre: 4 koraka
Još jedna ATtiny85 Retro igraća konzola: Mala postavka slična retro konzoli zasnovana na ATtiny85 x 0,96 OLED-u za igranje svemirskih osvajača, Tetrisa itd
Ručna igraća konzola - Arduboy Clone: 6 koraka (sa slikama)
Ručna igraća konzola | Arduboy Clone: Prije nekoliko mjeseci naišao sam na Arduboy koji je prema službenoj web stranici minijaturna 8-bitna platforma za igre koja olakšava učenje, dijeljenje i igranje igara na mreži. To je platforma otvorenog koda. Igre za Arduboy je napravio korisnik
Arduino džepna igraća konzola + A -labirint - igra labirint: 6 koraka (sa slikama)
Arduino džepna igraća konzola + A -Maze - Maze igra: Dobro došli u moju prvu instrukciju! Projekt koji želim podijeliti s vama danas je Arduino labirint igra, koja je postala džepna konzola sposobna kao Arduboy i slične konzole zasnovane na Arduinu. Može se upotpuniti mojim (ili vašim) budućim igrama zahvaljujući izložbi
Domaća igraća konzola- "NinTIMdo RP": 7 koraka (sa slikama)
Domaća igraća konzola- "NinTIMdo RP": Veza na web stranicu s detaljnijim objašnjenjima, popisom dijelova i datotekamahttp: //timlindquist.meOvim projektom trebalo je stvoriti prijenosni sustav za igre koji bi se mogao upotrijebiti i kao prijenosno računalo. Cilj je bio stvoriti funkcionalnu konzolu, ali i