Indholdsfortegnelse:

Visitkort/spilkonsol: ATtiny85 og OLED -skærm: 5 trin (med billeder)
Visitkort/spilkonsol: ATtiny85 og OLED -skærm: 5 trin (med billeder)

Video: Visitkort/spilkonsol: ATtiny85 og OLED -skærm: 5 trin (med billeder)

Video: Visitkort/spilkonsol: ATtiny85 og OLED -skærm: 5 trin (med billeder)
Video: Arduino Project - Star Wars Game #oled #arduinoproject #starwars 2024, November
Anonim
Image
Image
Tarmene
Tarmene

Hej allesammen

I dag vil jeg vise dig, hvordan du kan bygge dit eget visitkort/spillekonsol/hvad du end kan forestille dig, der har et baggrundsbelyst I2C OLED -display og en ATtiny85 mikroprocessor. I denne Instructable vil jeg fortælle dig, hvordan et printkort, jeg designet, rent faktisk fungerer, hvordan du kan bygge det, og hvad du kan gøre med denne funktionalitet. Hvis du allerede har en I2C -skærm tilsluttet en ATtiny85, kan denne Instructable stadig være nyttig, hvis du prøver at få billeder vist eller ønsker at lave menuer, et spil og mere.

Du undrer dig sikkert over, hvad denne ting egentlig er. Det er bare et simpelt printkort med et indbygget batteri, skærm, knapper, tænd/sluk -kontakt og behandlingsenhed. Tænk på det som en lille Gameboy, som du nemt kan programmere til at gøre en række ting. Fremad!

Trin 1: Tarmene

Tarmene
Tarmene
Tarmene
Tarmene

Hvis du ikke allerede har gjort det, anbefaler jeg stærkt, at du opretter en konto på circuits.io. Dette giver dig mulighed for at tilpasse mit design, så det passer til dine behov.

I dette trin forklarer jeg, hvordan du rent faktisk kan få fingrene i et af disse printkort (PCB'er). Jeg har lavet mit printkort i circuits.io, et fantastisk online værktøj, som du kan bruge til at oprette kredsløbsskemaer og printkort. Du kan se designet her:

Hvis du er interesseret i at få printkortet, kan du bestille så mange du vil fra OSH Park ved hjælp af dette link:

Det tager et stykke tid at få brædderne (1-3 uger), men stol på mig. Det er det værd! Du skal bruge følgende dele til at bygge dit eget multifunktionelle kort:

  • ATtiny85 i SOIC-8 pakke. Dette er hjernen i vores projekt, der styrer ALT.
  • I2C 128x64 pixel OLED -skærm:
  • 2 22k ohm modstande. Disse er pullup -modstande til knapperne.
  • Overflademonteret CR2032-holder:
  • CR2032 møntcellebatteri. Dette lille batteri kan drive kredsløbet i ganske lang tid.
  • 3-bens skydekontakt. Dette er afbryderen!
  • Kvindelige overskrifter. Du kan bruge disse til at programmere ATtiny85, mens den er i kredsløbet!
  • 6 mm knapper:
  • Et printkort (du kan bestille det ved hjælp af ovenstående link

Værktøjer:

  • Loddejern (med en fin spids)
  • Lodde
  • Blyklipper

Til programmering af ATtiny85:

  • 6 Jumper -led fra mand til mand
  • En 10 mikro-farad kondensator
  • Arduino Uno eller en anden ATmega-baseret mikrokontroller

Trin 2: Samling af printkortet

Montering af printkortet
Montering af printkortet
Montering af printkortet
Montering af printkortet

Dette er virkelig temmelig let. Alt du skal gøre er at lodde alle komponenterne til deres respektive steder, som angivet på tavlen. Nogle af disse OLED -skærme findes i forskellige størrelser, så hvis din er for stor til brættet, kan du få den til at hænge over toppen som på billedet ovenfor og bøje overskrifterne på den anden side og lodde dem til hullerne, hvor de skulle gå. Se det andet billede, hvis du er forvirret.

Et par nyttige tips:

  • Den lille prik på ATtiny skal orienteres, så den er tæt på glidekontakten, ellers har du stifterne i den forkerte rækkefølge.
  • Batteriholderens orientering er vigtig. Enden af holderen med etset-in plus skal være på bundpladen (peget mod en modstand).
  • Orientering af kontakter, knapper, overskrifter og modstande er ligegyldigt

Hvis du har spørgsmål, kan du sende mig en e -mail på info [at] coniferapps.com

Trin 3: Tid til at få programmering

Jeg fik min ATtiny/skærmkombination til at fungere ved hjælp af følgende Instructable: https://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/. Faktisk bruger jeg endda biblioteket, som AndyB2 modificerede i mine egne skitser.

Den måde, vi skal programmere ATtiny på, er gennem en Arduino Uno. Følgende instruktør viser dig, hvordan du gør dette: https://www.instructables.com/id/Program-an-ATtiny-with-Arduino/. Hvis du ikke allerede har bemærket det, er alle de påkrævede stifter nyttigt brudt ud på printkortet med pin-numrene mærket på bagsiden.

Hvis du vil starte med et grundeksempel, skal du uploade skitsen, der er linket ovenfor, til dit kort. Sørg for, at afbryderen flyttes til højre, før du gør dette. Du vil ikke have batteriet og Uno til at levere spænding på samme tid! I den mappe er der en masse filer. Jeg vil tale mere om dette i det næste trin, men de fleste af overskriftsfiler derinde er hexadecimale repræsentationer af monokromatiske bitmapbilleder.. Bmp -filerne er disse billeder, som jeg lige har nævnt - som du kan se, er de sort -hvide og præcis 128x64 pixels. Disse uploades ikke til mikrokontrolleren, men jeg tænkte, at jeg ville inkludere dem som reference.

Trin 4: Om programmet selv

Skitsen, jeg lod dig uploade i det foregående trin, er et meget grundlæggende eksempel på, hvordan du kunne implementere en menu. Når du klikker på hver af venstre og højre knapper, skifter den en tæller i programmet. Der kaldes derefter en funktion, der har ATtiny til at kontrollere tilstanden for denne tæller, og baseret på tællerens nummer tegner ATtiny et billede af den aktuelt valgte menuindstilling på skærmen. Hver af de forskellige udvalgte menuceller er sit eget billede. Hvis der trykkes på den øverste knap, kontrollerer ATtiny igen tællerens tilstand for at bestemme, hvilken detaljeskærm der skal vises. Mens disse detaljeskærme vises, kontrollerer ATtiny konstant, om der trykkes på en knap. Når den opdager et tryk på en knap, kaldes den funktion, der tegner menuerne igen, og den aktuelle tilstand i menuen tegnes på skærmen, og tager os tilbage til menuen. Det lyder lidt skræmmende, hvis du er ny inden for programmering, men jeg lover dig, at når du ser på koden, vil det give mere mening.

Hver detaljeskærm er også sit eget billede.

Hvis du ikke har bemærket, gør overraskelsesmuligheden ikke noget. Vi kommer til dette i næste trin:).

Trin 5: Tilpasning af din skabelse

Nu hvor du har set, hvad jeg har gjort, er det på tide, at du tilpasser kortet med dine egne oplysninger. Det bibliotek, jeg inkluderede, har en funktion til at tegne tekst på skærmen, men jeg anbefaler stærkt, at du går med en strengt billedbaseret løsning, da det plejer at se MEGET bedre ud. Jeg skulle oprindeligt tilføje fotos til programdelen af dette instruerbare, men det er længe nok til at berettige sit eget instruerbare. Du kan se det her:

Nu hvor du ved, hvordan du tilføjer fotos, er der en masse ting, du kan få kortet til at klare. Du kan bruge mine menuer og hjælpeskærm og bare tilføje dine egne kontaktoplysninger. Du kan endda lave et lille spil til indstillingen "overraskelse". Det ville være ret enkelt at flytte en meget lille 10x10 sprite rundt på skærmen ved hjælp af knapperne og kontrollere, om den kolliderer med en anden sprite. Du kan lave en flappy fuglklon ved hjælp af det samme koncept! Hvis du laver noget, skal du sende et foto/video/fil af det i kommentarerne!

Lige et lille punkt mere glemte jeg at nævne. Hvad angår opbevaring, har ATtiny85 ikke meget af det. For programmer handler det om 8kb. Min nuværende skitse med 5 billeder og OLED displaybibliotek fylder omkring 7 af disse 8 kb. Ethvert spil, du laver, skal passe ind i denne relativt lille margin, så det bliver en sjov udfordring:).

Tak fordi du lyttede til mig vandre videre, og hvis du har spørgsmål, tøv ikke med at sende mig en e -mail på info [at] coniferapps.com (erstat [at] med @). Stem venligst på mig i Autodesk Circuits -konkurrencen! Forhåbentlig har du snart dit eget visitkort/spil at vise frem!

Anbefalede: