Innholdsfortegnelse:

Visittkort/spillkonsoll: ATtiny85 og OLED -skjerm: 5 trinn (med bilder)
Visittkort/spillkonsoll: ATtiny85 og OLED -skjerm: 5 trinn (med bilder)

Video: Visittkort/spillkonsoll: ATtiny85 og OLED -skjerm: 5 trinn (med bilder)

Video: Visittkort/spillkonsoll: ATtiny85 og OLED -skjerm: 5 trinn (med bilder)
Video: Arduino Project - Star Wars Game #oled #arduinoproject #starwars 2024, November
Anonim
Image
Image
The Guts
The Guts

Hei alle sammen

I dag skal jeg vise deg hvordan du kan bygge ditt eget visittkort/spillkonsoll/alt du kan forestille deg som har en bakgrunnsbelyst I2C OLED -skjerm og en ATtiny85 mikroprosessor. I denne instruksjonsboken skal jeg fortelle deg hvordan en PCB som jeg designet faktisk fungerer, hvordan du kan bygge den og hva du kan gjøre med denne funksjonaliteten. Hvis du allerede har en I2C -skjerm koblet til en ATtiny85, kan denne Instructable fortsatt være nyttig hvis du prøver å få bilder til å vise eller ønsker å lage menyer, et spill og mer.

Du lurer sikkert på hva dette egentlig er. Det er bare et enkelt kretskort med innebygd batteri, skjerm, knapper, av/på -bryter og prosessorenhet. Tenk på det som en liten Gameboy, som du enkelt kan programmere til å gjøre en rekke ting. Videre!

Trinn 1: The Guts

The Guts
The Guts
The Guts
The Guts

Hvis du ikke allerede har gjort det, anbefaler jeg på det sterkeste at du oppretter en konto på circuits.io. Dette lar deg tilpasse designet mitt til dine behov.

I dette trinnet skal jeg forklare hvordan du faktisk kan få tak i et av disse kretskortene (PCB). Jeg har laget min PCB i circuits.io, et flott online verktøy som du kan bruke til å lage kretsskjemaer og PCB. Du kan se designet her:

Hvis du er interessert i å få PCB, kan du bestille så mange du vil fra OSH Park ved å bruke denne lenken:

Det tar en stund å få brettene (1-3 uker), men stol på meg. Det er verdt det! Du trenger følgende deler for å bygge ditt eget multifunksjonelle kort:

  • ATtiny85 i SOIC-8-pakke. Dette er hjernen til prosjektet vårt som styrer ALT.
  • I2C 128 x 64 piksler OLED -skjerm:
  • 2 22k ohm motstander. Dette er pullup -motstander for knappene.
  • Surface-mount CR2032 Holder:
  • CR2032 myntcellebatteri. Dette lille batteriet kan drive kretsen ganske lenge.
  • 3-pinners glidebryter. Dette er strømbryteren!
  • Kvinnelige overskrifter. Du kan bruke disse til å programmere ATtiny85 mens den er i kretsen!
  • 6 mm knapper:
  • Et kretskort (du kan bestille det ved hjelp av lenken ovenfor

Verktøy:

  • Loddejern (med fin spiss)
  • Lodding
  • Blyklippere

For programmering av ATtiny85:

  • 6 stikkontakter fra mann til mann
  • En 10 mikro-farad kondensator
  • Arduino Uno eller en annen ATmega-basert mikrokontroller

Trinn 2: Montering av kretskortet

Montering av PCB
Montering av PCB
Montering av PCB
Montering av PCB

Dette er egentlig ganske enkelt. Alt du trenger å gjøre er å lodde alle komponentene til de respektive stedene, som angitt på tavlen. Noen av disse OLED -skjermene kommer i forskjellige størrelser, så hvis din er for stor til brettet, kan du la den henge over toppen som på bildet ovenfor, og bøye over hodene på den andre siden og lodde dem til hullene der de skulle gå. Se det andre bildet hvis du er forvirret.

Noen få nyttige tips:

  • Den lille prikken på ATtiny må orienteres slik at den er nær glidebryteren, ellers har du pinnene i feil rekkefølge.
  • Batteriholderens orientering har betydning. Enden av holderen med etset-in pluss må være på den nederste puten (pekt mot en motstand).
  • Orientering av brytere, knapper, overskrifter og motstander spiller ingen rolle

Hvis du har spørsmål, vennligst send meg en e -post på info [at] coniferapps.com

Trinn 3: På tide å starte programmeringen

Jeg fikk kombinasjonen ATtiny/screen til å bruke følgende instruksjonsprogram: https://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/. Faktisk bruker jeg til og med biblioteket som AndyB2 endret i mine egne skisser.

Måten vi skal programmere ATtiny på er gjennom en Arduino Uno. Følgende instruksjonsprogram viser deg hvordan du gjør dette: https://www.instructables.com/id/Program-an-ATtiny-with-Arduino/. Hvis du ikke allerede har lagt merke til, brytes alle nødvendige pinner på PCB-en med pin-tallene på baksiden.

Hvis du vil begynne med et grunneksempel, laster du opp skissen som er lenket ovenfor til kortet ditt. Sørg for at strømbryteren flyttes til høyre før du gjør dette. Du vil ikke at batteriet og Uno skal levere spenning samtidig! I den mappen er det en haug med filer. Jeg skal snakke mer om dette i neste trinn, men de fleste topptekstfilene der inne er heksadesimale representasjoner av monokromatiske bitmap -bilder.. Bmp -filene er disse bildene som jeg nettopp nevnte - som du kan se, er de svart -hvitt og nøyaktig 128x64 piksler. Disse er ikke lastet opp til mikrokontrolleren, men jeg tenkte jeg skulle inkludere dem som referanse.

Trinn 4: Om programmet selv

Skissen jeg lot deg laste opp i forrige trinn er et veldig grunnleggende eksempel på hvordan du kan implementere en meny. Når du klikker på hver av venstre og høyre knapp, bytter den en teller i programmet. Deretter kalles en funksjon som får ATtiny til å kontrollere tilstanden til denne telleren, og basert på tellerens tall tegner ATtiny et bilde av det valgte menyalternativet på skjermen. Hver av de forskjellige utvalgte menycellene er sitt eget bilde. Hvis du trykker på den øverste knappen, kontrollerer ATtiny igjen tilstanden til telleren for å finne ut hvilken detaljskjerm som skal vises. Mens disse detaljskjermbildene vises, kontrollerer ATtiny hele tiden om det er trykket på en knapp. Når den oppdager et knappetrykk, kalles funksjonen som tegner menyene igjen, og nåværende status for menyen tegnes på skjermen, og tar oss tilbake til menyen. Det høres litt skremmende ut hvis du er ny innen programmering, men jeg lover deg at når du ser på koden, vil det gi mer mening.

Hver av detaljskjermene er også sitt eget bilde.

Hvis du ikke har lagt merke til, gjør ikke overraskelsesalternativet noe. Vi kommer til dette i neste trinn:).

Trinn 5: Tilpass skapelsen din

Nå som du har sett hva jeg har gjort, er det på tide at du tilpasser kortet med din egen informasjon. Det biblioteket jeg inkluderte har en funksjon for å tegne tekst på skjermen, men jeg anbefaler på det sterkeste at du går med en strengt bildebasert løsning, da det pleier å se MYE bedre ut. Jeg skulle opprinnelig legge til bilder i programdelen av dette instruerbare, men det er lenge nok til å garantere sin egen instruerbare. Du kan se den her:

Nå som du vet hvordan du legger til bilder, er det en rekke ting du kan få kortet til å gjøre. Du kan bruke menyene mine og hjelpeskjermen, og bare legge til din egen kontaktinformasjon. Du kan til og med lage et lite spill for alternativet "overraskelse". Det ville være ganske enkelt å flytte en veldig liten 10x10 sprite rundt på skjermen ved hjelp av knappene og sjekke om den kolliderer med en annen sprite. Du kan lage en flappy fuglklon ved å bruke det samme konseptet! Hvis du lager noe, vennligst legg ut et bilde/video/fil av det i kommentarene!

Bare et lite annet punkt jeg glemte å nevne. Når det gjelder lagring, har ikke ATtiny85 mye av det. For programmer handler det om 8kb. Min nåværende skisse med 5 bilder og OLED displaybibliotek opptar omtrent 7 av disse 8 kb. Ethvert spill du lager, må passe inn i denne relativt lille marginen, så det blir en morsom utfordring:).

Takk for at du lyttet til meg, og hvis du har spørsmål, ikke nøl med å sende meg en e -post på info [at] coniferapps.com (erstatt [at] med @). Vennligst stem på meg i Autodesk Circuits -konkurransen! Forhåpentligvis har du snart ditt eget visittkort/spill å vise frem!

Anbefalt: