Sadržaj:

Posjetnica/igraća konzola: ATtiny85 i OLED zaslon: 5 koraka (sa slikama)
Posjetnica/igraća konzola: ATtiny85 i OLED zaslon: 5 koraka (sa slikama)

Video: Posjetnica/igraća konzola: ATtiny85 i OLED zaslon: 5 koraka (sa slikama)

Video: Posjetnica/igraća konzola: ATtiny85 i OLED zaslon: 5 koraka (sa slikama)
Video: Прохождение The Last of Us part 2 (Одни из нас 2) # 6 От канализации до больницы один шаг 2024, Studeni
Anonim
Image
Image
Guts
Guts

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

Guts
Guts
Guts
Guts

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

Sastavljanje PCB -a
Sastavljanje PCB -a
Sastavljanje PCB -a
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: