Sadržaj:
- Korak 1: Utroba
- Korak 2: Sastavljanje PCB -a
- Korak 3: Vrijeme je za programiranje
- Korak 4: O samom programu
- Korak 5: Prilagodite svoju kreaciju
Video: Poslovna kartica/igraća konzola: ATtiny85 i OLED ekran: 5 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Zdravo svima
Danas ću vam pokazati kako možete izgraditi vlastitu posjetnicu/igraću konzolu/šta god zamislite, a sadrži I2C OLED ekran sa 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 šta možete učiniti s ovom funkcionalnošću. Ako već imate I2C ekran spojen na ATtiny85, ovaj Instructable i dalje može biti od pomoći ako pokušavate prikazati slike ili želite napraviti menije, igru i drugo.
Vjerovatno se pitate šta je ovo. To je samo jednostavna štampana ploča sa ugrađenom baterijom, ekranom, tasterima, prekidačem za uključivanje/isključivanje i procesorskom jedinicom. Zamislite to kao malenog Gameboya, kojeg možete lako programirati za razne stvari. Napred!
Korak 1: Utroba
Ako već niste, toplo vam preporučujem da napravite račun na circuits.io. To će vam omogućiti da prilagodite moj dizajn tako da odgovara vašim potrebama.
U ovom koraku ću vam objasniti kako zapravo možete doći do jedne od ovih štampanih ploča (PCB -ova). Napravio sam svoju PCB u circuits.io, odličnom mrežnom alatu koji možete koristiti za izradu shema kola 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 nabavite ploče (1-3 sedmice), ali vjerujte mi. Vrijedi! 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 128x64 piksela:
- 2 otpornika od 22 k ohma. Ovo su otpornici za povlačenje dugmadi.
- Površinski nosač CR2032 Držač:
- CR2032 Coin Cell baterija. 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!
- Dugmad od 6 mm:
- Štampana ploča (možete je naručiti putem gornje veze)
Alati:
- Lemilica (sa finim vrhom)
- Solder
- Olovne škare
Za programiranje ATtiny85:
- 6 Muške kratkospojne žice
- Jedan kondenzator od 10 mikrofarad
- Arduino Uno ili neki drugi ATmega mikrokontroler
Korak 2: Sastavljanje PCB -a
Ovo je zaista prilično lako. 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, saviti se iznad zaglavlja s druge strane i lemiti ih u rupe gdje trebalo je da odu. Pogledajte drugu sliku ako ste zbunjeni.
Nekoliko korisnih savjeta:
- Sićušna tačka na ATtiny -u mora biti orijentisana tako da bude blizu kliznog prekidača, u suprotnom ćete iglice imati pogrešnim redosledom.
- 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, dugmadi, zaglavlja i otpornika nije bitna
Ako imate bilo kakvih pitanja, pošaljite mi e -poruku na info [at] coniferapps.com
Korak 3: Vrijeme je za programiranje
Dobio sam kombinaciju svoje ATtiny/screen kombinacije pomoću sljedećeg Instructable: https://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/. U stvari, čak koristim i biblioteku koju je AndyB2 izmijenio u vlastitim skicama.
Način na koji ćemo programirati ATtiny je kroz 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, postavite gornju skicu na svoju karticu. Pre nego što to učinite, pomerite prekidač za napajanje udesno. Ne želite da baterija i Uno napajaju napon istovremeno! U toj fascikli je hrpa datoteka. O ovome ću više govoriti u sljedećem koraku, ali većina datoteka zaglavlja tamo ima heksadecimalne prikaze monokromatskih bitmap slika.. Bmp datoteke su ove slike koje sam upravo spomenuo - kao što vidite, one su crno -bijele i tačno 128x64 piksela. Nisu učitani u mikrokontroler, ali sam mislio da ću ih uključiti za referencu.
Korak 4: O samom programu
Skica koju sam dao u prethodnom koraku je vrlo osnovni primjer kako možete implementirati meni. Klikom na svako od lijevog i desnog dugmeta prebacuje se brojač u programu. Zatim se poziva funkcija koja ATtiny provjerava stanje ovog brojača, a na osnovu broja brojača ATtiny iscrtava sliku trenutno odabrane opcije izbornika na ekranu. Svaka od različitih odabranih ćelija izbornika ima svoju sliku. Ako se pritisne gornje dugme, ATtiny ponovo provjerava stanje brojača kako bi odredio koji detaljni ekran će se prikazati. Dok se prikazuju ovi ekrani s detaljima, ATtiny stalno provjerava je li pritisnuto bilo koje dugme. Kada otkrije pritisak na dugme, funkcija koja crta menije se ponovo poziva i trenutno stanje menija se iscrtava na ekranu, vraćajući nas u meni. Zvuči pomalo zastrašujuće ako ste tek počeli s programiranjem, ali obećavam vam da će jednom kad pogledate kod imati više smisla.
Svaki od ekrana s detaljima je također njegova vlastita slika.
Ako niste primijetili, opcija iznenađenja ne čini ništa. Doći ćemo do ovoga u sljedećem koraku:).
Korak 5: Prilagodite svoju kreaciju
Sada kada ste vidjeli šta sam učinio, vrijeme je da prilagodite karticu vlastitim podacima. Ta biblioteka koju sam uključio ima funkciju iscrtavanja teksta na ekranu, ali toplo vam preporučujem da koristite strogo rješenje zasnovano na slici, 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 dodati fotografije, postoji mnogo stvari na koje možete navesti karticu. Možete koristiti moje menije i ekran za pomoć i samo dodati svoje podatke za kontakt. Možete čak i napraviti malu igru za opciju "iznenađenja". Bilo bi prilično jednostavno premjestiti vrlo mali sprajt 10x10 po ekranu pomoću dugmadi i provjeriti sudara li se s drugim sprajtom. Pomoću ovog istog koncepta mogli biste napraviti klonuta ptičicu! Ako nešto napravite, u komentarima objavite njegovu fotografiju/video/datoteku!
Još samo jedna mala stvar koju sam zaboravio spomenuti. Što se skladištenja tiče, ATtiny85 ga nema mnogo. Za programe, to je oko 8 KB. Moja trenutna skica sa 5 slika i bibliotekom OLED ekrana 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 takmičenju Autodesk Circuits! Nadamo se da ćete uskoro imati svoju posjetnicu/igru za pokazivanje!
Preporučuje se:
Ručna igraća konzola za igre 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 zaštitni krug od prekomjernog pražnjenja, LCD zaslon za povratak i audio pojačalo za stvaranje ručne konzole za igru koja može igrati retro igre. Hajde da počnemo
Još jedna ATtiny85 igraća konzola za retro igre: 4 koraka
Još jedna ATtiny85 Retro igraća konzola: Mala postavka nalik retro konzoli zasnovana na ATtiny85 x 0,96 OLED 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 -Maze - Maze igra: 6 koraka (sa slikama)
Arduino džepna igraća konzola + A -Maze - Maze igra: Dobro došli u moje prve instrukcije! 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 sistem za igre koji bi se mogao upotrijebiti i kao prijenosni računar. Cilj je bio stvoriti funkcionalnu konzolu, ali i