Cuprins:
- Pasul 1: Adunarea tuturor părților
- Pasul 2: Conectarea ecranului OLED
- Pasul 3: Conectarea soneriei
- Pasul 4: Toate conexiunile hardware s-au finalizat
- Pasul 5: inclusiv biblioteca și inițializarea protocoalelor de afișare
- Pasul 6: Melodia cântecului tematic
- Pasul 7: Redarea melodiei în timpul pornirii
- Pasul 8: Conversia imaginilor în Bitmaps
- Pasul 9: Ajustarea rezoluției în funcție de afișajul dvs
- Pasul 10: Generarea matricei Bitmap
- Pasul 11: Afișarea imaginilor ca secvență
- Pasul 12: întregul cod:
- Pasul 13: Rezultate:
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
Bună ziua și bine ai venit la acest distractiv instructabil! Sper că toți sunteți bine și să rămâneți sănătoși. Acest proiect mic, dar uimitor, este despre redarea piesei tematice PUBG și chiar crearea unor animații de joc folosind arduino.
Componentele utilizate sunt foarte ușor disponibile și foarte ușor de asamblat pe o bucată de panou. Voi împărtăși întregul proces de clădire și codificare în acest instructable, rămâneți până la sfârșit!
V-aș sugera să vizionați videoclipul pentru a vă face o idee despre proiect:) Dacă vă place, apreciați și distribuiți videoclipul. Vă recomandăm să vă abonați la canalul meu dacă vă bucurați de versiunea mea. Mulțumesc!
Deci, fără nicio altă întârziere, să începem!
Pasul 1: Adunarea tuturor părților
Construcția constă în principal dintr-un Arduino Nano, care este nucleul principal pentru acest proiect. Puteți utiliza orice alte variante Arduino, cum ar fi popularele Arduino Uno, Arduino Pro Mini, Arduino Mega etc. Pentru a afișa animațiile și imaginile, am decis să merg cu un ecran OLED de 0,96 inch cu o rezoluție de 128 x 64 pixeli. Acest afișaj poate fi interfață cu arduino cu protocolul I2C care necesită doar două fire pentru date și ceas, reducând astfel numărul de conexiuni și făcând proiectul mai compact. Pentru a reda melodia temei PUBG, am folosit un buzzer de 5V, din care am conectat pinul pozitiv cu pinul digital 6 al arduino și solul merge la solul Arduino.
Iată lista pieselor necesare proiectului:
- Arduino Nano (sau orice altă placă arduino la alegere)
- Modul de afișaj OLED de 0,96 inch
- Buzzer de 5V
- Sârme de jumper
- Pană de pâine
- Cablu de programare Arduino
Pasul 2: Conectarea ecranului OLED
Un total de 4 conexiuni sunt necesare pentru ca afișajul OLED să fie conectat de la arduino:
Vcc 5V de Arduino
Gnd Gnd din Arduino
SDA A4 a Arduino
SCK A5 din Arduino
Pinii A4 și A5 ai arduino servesc mai multor intrări analogice, precum și pinilor pentru comunicația I2C. Aici am folosit pinii pentru protocolul I2C pentru interfața cu modulul de afișare.
Link-ul către biblioteca Adafruit utilizată în acest proiect:
Pasul 3: Conectarea soneriei
Buzzerul de 5V are un terminal de alimentare pozitiv și negativ.
Pinul pozitiv D6 al Arduino (pinul digital 6) (puteți utiliza orice pin digital al arduino)
Pin negativ Gnd de Arduino
Vom crea tonul dorit pe pinul digital D6 pe care buzzerul va reda melodia.
Pasul 4: Toate conexiunile hardware s-au finalizat
Toate conexiunile necesare ale afișajului OLED și ale soneriei sunt complete. Acum să mergem mai departe pentru a înțelege aspectul de programare al proiectului..
Pasul 5: inclusiv biblioteca și inițializarea protocoalelor de afișare
Întregul program a fost separat în 3 componente:
- Programul principal constă în inițializare și în secvențele de afișare a imaginii și melodie
- fișier „pitches.h” format din lista de note muzicale și frecvența asociată
- Fișierul "pictures.h" format din bitmaps ale imaginilor care urmează să fie afișate.
Procesul de transformare a unei imagini într-o matrice de bitmap pentru afișaj OLED este discutat în pașii următori.
Voi atașa, de asemenea, întregul cod, împreună cu acest instructiv pentru tine de utilizat:)
Pasul 6: Melodia cântecului tematic
Am căutat pe internet pentru notele de bază care conțin melodia tematică PUBG și apoi le-am adăugat în matricea melodică.
Cheltuind o cantitate considerabilă de timp jucând și redând secvența melodică, am creat apoi matricea de durată a timpului care se referă la cât timp trebuie să fie redată fiecare notă. Combinația dintre matrice de melodie și matrice de durată cuprinde informațiile complete pentru a reda melodia.
Pasul 7: Redarea melodiei în timpul pornirii
Există un total de 63 de note pe care le-am folosit pentru a compune secvența melodică. Folosind o buclă for și iterând prin note și matrice de durată cu o pauză prestabilită între fiecare notă, întreaga secvență este redată o dată, deoarece această bucată de cod se află în setarea nulă (). Interesant este că niciunul dintre codurile pentru acest proiect nu folosește bucla void () a codului arduino, deoarece intenționez să redau și să afișez imagini o singură dată. Desigur, dacă doriți o secvență repetată, atunci aceasta trebuie să fie pusă în funcția void loop ().
Pasul 8: Conversia imaginilor în Bitmaps
Acum, partea interesantă a proiectului este procesul de a converti o imagine într-o matrice de bitmap pentru afișajul OLED în funcție de densitatea pixelilor. Pentru aceasta am găsit instrumentul online prefect care ne permite să generăm hărți de biți personalizate.
Link-ul pentru această aplicație online este:
Datorită creatorilor uimitori ai acestei aplicații, acest lucru îmi facilitează munca.
După ce accesați linkul, trebuie mai întâi să încărcați imaginea pentru care doriți să creați bitmap-ul. Un lucru de remarcat aici este că ar trebui să încercați să selectați imagini care nu au un contrast de culoare foarte mare, să încercați să vă lipiți de imagini cu câteva culori solide, fără niciun gradient pentru a obține rezultate mai bune.
Pasul 9: Ajustarea rezoluției în funcție de afișajul dvs
În pasul următor, trebuie să redimensionăm imaginea în funcție de rezoluția afișajului. Pentru ecranul nostru OLED, acesta are o lățime de 28 de pixeli și o înălțime de 64 de pixeli, pe care l-am reglat așa cum se arată în imagine. Reglați pragul de luminozitate pentru a vă asigura că imaginea este considerabil clară (aici intervine avantajul utilizării imaginilor cu culori solide, cu cât gradientele de culoare sunt mai mari, calitatea imaginii în afișajul monocrom se va degrada pe măsură ce se încurcă cu pragul de luminozitate).
Următorul pas este să se potrivească imaginea de pe ecran păstrând proporțiile intacte și ajustându-se pentru simetrie pentru care opțiunile sunt deja acolo. Puteți explora aceste opțiuni pentru a obține imaginea dorită. Pentru referință, primiți și opțiunea uimitoare de previzualizare!
Pasul 10: Generarea matricei Bitmap
După ajustarea parametrilor imaginii, în pasul următor trebuie doar să selectați codul Arduino ca format de ieșire și să faceți clic pe generare pentru a obține matricea de bitmap dorită!
Acolo! v-ați convertit cu succes imaginea în matricea de bitmap dorită. Am făcut acest proces pentru un total de 7 imagini și le-am salvat.
Pasul 11: Afișarea imaginilor ca secvență
Pentru afișarea imaginilor, am folosit funcția Arduino millis () pentru a apela funcția draw (), care este practic un set de comenzi pentru a șterge afișajul, trasați matricea bitmap la OLED și inițializați afișajul. Logica principală este că după fiecare 3,5 secunde, imaginea este schimbată și următoarea imagine este afișată. Ei bine, 3,5 secunde nu este un număr unic, mi-am dat seama că, dacă împart întreaga durată a melodiei la 7 imagini, am aproximativ 3,5 secunde pentru fiecare afișaj. Puteți adăuga mai multe imagini la aceasta și puteți reduce timpul de afișare pentru fiecare imagine, dacă doriți.
Fragmentele de cod explică modul în care funcțiile sunt numite în funcție de funcția millis ().
Întreaga matrice bitmap a imaginilor este stocată în fișierul „pictures.h”
Pasul 12: întregul cod:
Aici vă împărtășesc întregul cod pentru ca toți să vă jucați și să experimentați!
Odată ce totul pare bine, este timpul să îl încărcați pe tablă:)
Pasul 13: Rezultate:
După cum puteți vedea, imaginile s-au dovedit a fi grozave! Și la fel a făcut și melodia! Sper că ați urmărit videoclipul în care este prezentă întreaga demonstrație.
Sper că versiunea PUBG a acestui Arduino este un proiect interesant pentru toți pasionații de jocuri și electronice.
Vă rugăm să nu ezitați să împărtășiți feedback-ul dvs. în comentarii și să împărtășiți orice sugestii. De asemenea, luați în considerare abonarea la canalul meu pentru mai mult astfel de conținut, deoarece aceasta face parte din seria OLED la care lucrez. Spune-mi dacă construiești acest proiect distractiv:)
Pana data viitoare.
Recomandat:
Echipament de animație Raspberry Pi Stop-Motion: 16 pași (cu imagini)
Raspberry Pi Stop-Motion Animation Rig: animația Stop-Motion este o tehnică în care obiectele sunt manipulate fizic și fotografiate cadru cu cadru pentru a crea iluzia unei imagini în mișcare. Expoziția noastră de animație stop-motion este realizată cu un Raspberry Pi , care este un „mic și af
Masă de cafea de animație: 9 pași (cu imagini)
Masă de cafea de animație: Există multe instrucțiuni foarte bune cu privire la modul de realizare a meselor de cafea interactive cu matrice LED și am luat inspirație și sugestii de la unele dintre ele. Acesta este simplu, ieftin și, mai presus de toate, este menit să stimuleze creativitatea: cu doar două butto
Cub LED RGB cu aplicație Bluetooth + animație Creator: 14 pași (cu imagini)
Cub LED RGB cu aplicație Bluetooth + AnimationCreator: Acesta este un instructiv despre cum să construiți un cub RGB LED 6x6x6 (Anodi comuni) controlat de o aplicație Bluetooth utilizând un Arduino Nano. Întreaga versiune este ușor de adaptat la un cub 4x4x4 sau 8x8x8. Acest proiect este inspirat de GreatScott. Am decis sa
Kinegram sau animație analogică Boomerang: 9 pași (cu imagini)
Kinegram sau animație analogică cu bumerang: * - * Acest instructabil este în limba engleză. Faceți clic aici pentru versiunea în olandeză, * - * Deze Instructable este în het Engels. Klik hier voor de Nederlandse versie. Există două tipuri de oameni: cei care îmbrățișează fiecare nouă tehnologie și cei care doresc nostalgici
Arduino Uno: animație bitmap pe ecranul ecranului tactil ILI9341 TFT cu Visuino: 12 pași (cu imagini)
Arduino Uno: Bitmap Animation on ILI9341 TFT Touchscreen Display Shield With Visuino: ILI9341 based TFT Touchscreen Display Shields are very popular low cost Display Shields for Arduino. Visuino le susține de ceva vreme, dar nu am avut niciodată șansa să scriu un tutorial despre cum să le folosesc. Recent, însă puțini oameni au întrebat