Cuprins:

Carte de vizită / Consolă de joc: ATtiny85 și ecran OLED: 5 pași (cu imagini)
Carte de vizită / Consolă de joc: ATtiny85 și ecran OLED: 5 pași (cu imagini)

Video: Carte de vizită / Consolă de joc: ATtiny85 și ecran OLED: 5 pași (cu imagini)

Video: Carte de vizită / Consolă de joc: ATtiny85 și ecran OLED: 5 pași (cu imagini)
Video: Suport carti vizita 2024, Noiembrie
Anonim
Image
Image
Curajul
Curajul

Buna tuturor

Astăzi vă voi arăta cum vă puteți construi propria carte de vizită / consolă de jocuri / orice vă puteți imagina, care are un afișaj OLED I2C retroiluminat și un microprocesor ATtiny85. În acest Instructable vă voi spune cum funcționează de fapt un PCB pe care l-am proiectat, cum îl puteți construi și ce puteți face cu această funcționalitate. Dacă aveți deja un ecran I2C conectat la un ATtiny85, acest instructabil poate fi în continuare util dacă încercați să afișați imagini sau doriți să creați meniuri, un joc și multe altele.

Probabil că vă întrebați ce este de fapt acest lucru. Este doar o simplă placă de circuite imprimate cu baterie, ecran, butoane, comutator de pornire / oprire și unitate de procesare. Gândiți-vă la asta ca la un mic Gameboy, pe care îl puteți programa cu ușurință pentru a face o varietate de lucruri. Înainte!

Pasul 1: Guts

Curajul
Curajul
Curajul
Curajul

Dacă nu ați făcut-o deja, vă recomand cu tărie să vă creați un cont pe circuits.io. Acest lucru vă va permite să personalizați designul meu pentru a se potrivi nevoilor dvs.

În acest pas voi explica cum puteți pune mâna pe una dintre aceste plăci cu circuite imprimate (PCB). Mi-am creat PCB-ul în circuits.io, un instrument online excelent pe care îl puteți folosi pentru a crea schemă de circuite și PCB-uri. Puteți vizualiza designul aici:

Dacă sunteți interesat să obțineți PCB, puteți comanda câte doriți de la OSH Park folosind acest link:

Este nevoie de ceva timp pentru a obține panourile (1-3 săptămâni), dar credeți-mă. Se merită! Veți avea nevoie de următoarele părți pentru a vă crea propriul card multifuncțional:

  • ATtiny85 în pachetul SOIC-8. Acesta este creierul proiectului nostru care controlează TOTUL.
  • Ecran OLED I2C 128x64 pixeli:
  • 2 rezistențe de 22k ohm. Acestea sunt rezistențe pullup pentru butoane.
  • Suport CR2032 de montare pe suprafață:
  • Baterie CR2032 Coin Cell. Această mică baterie poate alimenta circuitul destul de mult timp.
  • Comutator cu 3 pini. Acesta este comutatorul de alimentare!
  • Anteturi feminine. Puteți să le utilizați pentru a programa ATtiny85 în timp ce se află în circuit!
  • Butoane de 6 mm:
  • O placă cu circuite imprimate (o puteți comanda folosind linkul de mai sus

Instrumente:

  • Fier de lipit (cu vârf fin)
  • Solder
  • Tăietoare de plumb

Pentru programarea ATtiny85:

  • 6 fire jumper de la tată la tată
  • Un condensator de 10 microfarade
  • Arduino Uno sau alt microcontroler bazat pe ATmega

Pasul 2: Asamblarea PCB-ului

Asamblarea PCB-ului
Asamblarea PCB-ului
Asamblarea PCB-ului
Asamblarea PCB-ului

Este foarte ușor. Tot ce trebuie să faceți este să lipiți toate componentele în locurile respective, așa cum este indicat pe tablă. Unele dintre aceste ecrane OLED sunt de dimensiuni diferite, deci dacă al tău este prea mare pentru tablă, îl poți atârna deasupra ca în imaginea de mai sus și să te apleci peste anteturile de pe cealaltă parte și să le lipiți în găurile unde trebuiau să plece. Vedeți a doua imagine dacă sunteți confuz.

Câteva sfaturi utile:

  • Punctul mic de pe ATtiny trebuie să fie orientat astfel încât să fie aproape de comutatorul glisant, altfel veți avea pinii în ordinea greșită.
  • Contează orientarea suportului bateriei. Capătul suportului cu plusul gravat trebuie să fie pe suportul inferior (îndreptat spre un rezistor).
  • Orientarea comutatoarelor, butoanelor, antetelor și rezistențelor nu contează

Dacă aveți întrebări, vă rugăm să mă trimiteți un e-mail la info [at] coniferapps.com

Pasul 3: Timp pentru programare

Am pornit combo-ul ATtiny / screen folosind următorul instructabil: https://www.instructables.com/id/ATTiny85-connects-to-I2C-OLED-display-Great-Things/. De fapt, folosesc chiar și biblioteca pe care AndyB2 a modificat-o în propriile schițe.

Modul în care vom programa ATtiny este prin intermediul unui Arduino Uno. Următorul Instructable vă arată cum să faceți acest lucru: https://www.instructables.com/id/Program-an-ATtiny-with-Arduino/. Dacă nu ați observat deja, toți pinii necesari sunt rupți cu ajutor pe PCB, cu numerele de pin etichetate pe spate.

Dacă doriți să începeți cu un exemplu de bază, încărcați schița legată mai sus pe card. Asigurați-vă că întrerupătorul de alimentare este deplasat spre dreapta înainte de a face acest lucru. Nu doriți să aveți bateria și Uno care alimentează ambele tensiune în același timp! În acel folder se află o grămadă de fișiere. Voi vorbi despre acest lucru mai mult în pasul următor, dar majoritatea fișierelor antet de acolo sunt reprezentări hexadecimale ale imaginilor bitmap monocromatice. Fișierele.bmp sunt aceste imagini pe care tocmai le-am menționat - după cum puteți vedea, sunt alb-negru și exact 128x64 pixeli. Acestea nu sunt încărcate pe microcontroler, dar m-am gândit să le includ ca referință.

Pasul 4: Despre programul însuși

Schița pe care v-am pus-o să o încărcați în pasul anterior este un exemplu foarte simplu de cum puteți implementa un meniu. Când faceți clic pe fiecare dintre butoanele din stânga și din dreapta, acesta comută un contor în program. Apoi se numește o funcție care are ATtiny să verifice starea acestui contor și, pe baza numărului contorului, ATtiny desenează o imagine a opțiunii de meniu selectate în prezent pe ecran. Fiecare dintre diferitele celule de meniu selectate este propria imagine. Dacă este apăsat butonul de sus, ATtiny verifică din nou starea contorului pentru a determina ce ecran de detalii să se afișeze. În timp ce aceste ecrane de detalii sunt afișate, ATtiny verifică în mod constant pentru a vedea dacă este apăsat vreun buton. Odată ce detectează apăsarea unui buton, funcția care desenează meniurile este apelată din nou și starea curentă a meniului este desenată pe ecran, ducându-ne înapoi în meniu. Sună oarecum descurajant dacă sunteți nou în programare, dar vă promit că, odată ce vă uitați la cod, va avea mai mult sens.

Fiecare ecran de detaliu este, de asemenea, propria sa imagine.

Dacă nu ați observat, opțiunea surpriză nu face nimic. Vom ajunge la acest lucru în pasul următor:).

Pasul 5: Personalizarea creației dvs

Acum că ați văzut ce am făcut, este timpul să personalizați cardul cu propriile informații. Biblioteca respectivă pe care am inclus-o are o funcție de a desena text pe ecran, dar vă recomand cu mare drag să mergeți cu o soluție strict bazată pe imagini, deoarece are tendința de a arăta MULȚI mai bine. Inițial aveam de gând să fac adăugarea de fotografii în partea de program a acestui instructable, dar este suficient de lungă pentru a justifica propriul său instructable. O puteți vizualiza aici:

Acum, că știi cum să adaugi fotografii, există o grămadă de lucruri pe care le poți face pe card. Puteți utiliza meniurile și ecranul meu de ajutor și puteți adăuga propriile informații de contact. Ai putea chiar să faci un mic joc pentru opțiunea „surpriză”. Ar fi destul de simplu să mișcați un sprite de 10x10 foarte mic în jurul ecranului folosind butoanele și să verificați dacă se ciocnește cu un alt sprite. Ați putea face o clonă de pasăre flappy folosind același concept! Dacă faceți ceva, vă rugăm să postați o fotografie / video / fișier al acestuia în comentarii!

Am mai uitat să menționez încă un punct mic. În ceea ce privește stocarea, ATtiny85 nu are prea mult. Pentru programe, este vorba despre 8kb. Schița mea actuală cu 5 imagini și o bibliotecă de afișaj OLED ocupă aproximativ 7 din cele 8kb. Orice joc pe care îl faceți va trebui să se încadreze în această marjă relativ mică, așa că va fi o provocare distractivă:).

Vă mulțumesc că m-ați ascultat și, dacă aveți întrebări, nu ezitați să mă trimiteți un e-mail la info [at] coniferapps.com (înlocuiți [at] cu @). Vă rog să mă votați la concursul Autodesk Circuits! Sperăm că în curând veți avea propria carte de vizită / joc de prezentat!

Recomandat: