Cuprins:
- Pasul 1: Guts
- Pasul 2: Asamblarea PCB-ului
- Pasul 3: Timp pentru programare
- Pasul 4: Despre programul însuși
- Pasul 5: Personalizarea creației dvs
Video: Carte de vizită / Consolă de joc: ATtiny85 și ecran OLED: 5 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
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
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
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:
Carte de vizită cu ecran tactil: 8 pași (cu imagini)
Carte de vizită cu ecran tactil: Sunt inginer mecanic, după studii, dar am dezvoltat și abilități în inginerie electrică și programare din ani de proiecte care implică circuite și microcontrolere. Deoarece angajatorii se vor aștepta să am abilități de inginer mecanic în
Consola de joc Arduino Pocket + A-Maze - Joc Maze: 6 pași (cu imagini)
Arduino Pocket Game Console + A-Maze - Maze Game: Bine ați venit la primul meu instructable! Proiectul pe care vreau să îl împărtășesc astăzi este jocul de labirint Arduino, care a devenit o consolă de buzunar la fel de capabilă ca Arduboy și consolele similare bazate pe Arduino. Poate fi intermitent cu jocurile mele (sau ale dvs.) viitoare datorită expo
Carte de vizită Dot Matrix: 8 pași (cu imagini)
Carte de vizită Dot Matrix: Dacă cartea de vizită a lanternei mele nu este suficient de avansată pentru dvs., atunci ce ziceți de una cu un afișaj grafic complet care poate fi personalizat pentru un număr de mesaje cu defilare? Acesta ar putea fi realizat în cantitate pentru un cost de aproximativ 5 USD, și
Carte de vizită cu lanternă: 6 pași (cu imagini)
Carte de vizită cu lanternă: Dacă mi-ați citit celelalte cărți de vizită instructabile, veți ști despre ce este vorba - faceți o carte de vizită care să fie utilă sau pe care oamenii nu doresc cu adevărat să o arunce și aveți o bucată de succes publicitate. Aceasta este o variantă a
Carte de vizită Decoder - Mesaj secret codat QR: 6 pași (cu imagini)
Carte de vizită Decoder - Mesaj secret codat QR: A avea o carte de vizită bună vă poate ajuta să vă mențineți contactele, să vă promovați pe dvs. și afacerea dvs. și să vă faceți prieteni. Crearea unei cărți de vizită personale care implică destinatarul să traducă în mod activ cardul dvs. îl va face să aibă mai multe șanse să-și amintească