Cuprins:

Proiecție azimutală 3D Harta Decorare X Muzică populară Joc puzzle - Arduino: 7 pași
Proiecție azimutală 3D Harta Decorare X Muzică populară Joc puzzle - Arduino: 7 pași

Video: Proiecție azimutală 3D Harta Decorare X Muzică populară Joc puzzle - Arduino: 7 pași

Video: Proiecție azimutală 3D Harta Decorare X Muzică populară Joc puzzle - Arduino: 7 pași
Video: 3D Wood Topographical Map made from Dyed Skateboard Veneers 2024, Decembrie
Anonim
Image
Image
Proiectați placa
Proiectați placa

INTRODUCERE

Următoarea pagină vă va instrui cum să creați un proiect Arduino, care are două funcții principale - decorare simplă cu iluminare și joc de puzzle de muzică populară, care încorporează domeniile geografiei, geometriei, hărților, Națiunilor Unite și muzicii, toate într-unul singur. Bazându-se pe structura hexagonelor, dispozitivul portretizează harta lumii în Proiecția Azimutală Echidistantă, care este forma de proiecție a hărții folosită de Națiunile Unite (și simbolul acesteia).

La activarea modului de decorare, continentele hărții ar străluci în culori diferite, determinate de combinații aleatorii de valori RGB prin utilizarea LED-urilor RGB.

Modul de joc, pe de altă parte, cere utilizatorilor să recunoască originea cântecelor de muzică populară (selectate prin generarea aleatorie a numerelor de la 1 la 20) și să pună placa continentală a răspunsului său în poziția corespunzătoare pe placa principală de lemn dintr-un set timp (prestabilit pentru 1 minut).

_

PROVIZII

Materiale reale

  • LED-uri RGB de 5 mm * 20
  • Fire
  • Rezistențe * 9
  • Placă Arduino * 1 (orice tip)
  • Panouri * 3
  • Butoane * 7
  • Afișaj LCD I2C * 1
  • Cutie de carton (13 * 9 * 5,7 inch; 33 * 23 * 14,5 cm)
  • Scândură de lemn (37,5 * 29 * 0,8 cm)
  • Placi acrilice (transparente * 2, semi-transparente * 1)
  • Încărcător portabil * 1

Instrumente:

  • Lama * 1
  • Adezivi UV Cure * 1
  • Bandă dublă * 1 rolă
  • Pistol de lipit fierbinte * 1

Mașini:

Mașină de tăiat cu laser

Software:

  • Adobe Illustrator
  • Adobe Photoshop
  • Rhino 3D

Pasul 1: Proiectați placa

Puteți descărca direct fișierul atașat sau urmați pașii de mai jos.

Conturarea hărții

  1. Descărcați o schiță a hărții de la Google

    1. Google „sigla națiunilor unite”
    2. Selectați „instrumente - dimensiune - mare”
    3. Descărcați imaginea dvs. preferată (cea utilizată de acest proiect: link) * Încercați să nu le selectați pe cele cu linii complicate care se suprapun cu țările continentale *
  2. Transferați harta descărcată în versiunea de imprimare

    1. Colorează regiunile nedorite în alb folosind funcția pensulă din Adobe Photoshop
    2. Exportați fișierul (JPEG)
    3. Importați fișierul în Adobe Illustrator și utilizați funcția „urmărire imagine” pentru a urmări harta
    4. Exportați fișierul (dxf)

Adăugarea fundalului hexagonal

  1. Importați fișierul dxf în Rhino
  2. Selectați funcția „poligon” și introduceți „6” pentru opțiunea „NumSides”
  3. Tastați „3.5” pentru valoarea razei
  4. Desenați 28 de hexagone de dimensiuni egale
  5. Exportați fișierul în 3dm

Pasul 2: tăierea cu laser

Image
Image
Taietura cu laser
Taietura cu laser
Taietura cu laser
Taietura cu laser
Taietura cu laser
Taietura cu laser
  1. Importați fișierul completat anterior în xxx.
  2. Folosind mașina de tăiat cu laser, imprimați corpul principal pe placa de lemn și continentele pe plăcile acrilice (2 transparente și 1 semitransparente) (videoclipurile sunt furnizate mai sus)

Pasul 3: Construiți dispozitivul

Construiți dispozitivul
Construiți dispozitivul
Construiți dispozitivul
Construiți dispozitivul
Construiți dispozitivul
Construiți dispozitivul

Plăci după tăierea cu laser

  • Continente acrilice

    1. Utilizați adezivi vindecabili UV pentru a lipi cele trei plăci ale fiecărui continent împreună (cu semitransparentul ca strat de mijloc)
    2. Folosiți lumina UV pentru a străluci pe regiunile lipite, pentru a permite lipirii să se solidifice
  • Fundația din lemn

    1. Îndepărtați manual micile regiuni de teren lipite pe placa principală de lemn
    2. * Dacă orice parte a plăcii de lemn este ruptă, utilizați adezivi vindecabili UV pentru a le lipi înapoi *

Construirea bazei (fundația inferioară a întregului dispozitiv)

  1. Găsiți o cutie de carton de dimensiuni adecvate, cu dimensiuni de aproape 13 * 9 * 5.7 inch (33 * 23 * 14.5 cm)
  2. Folosind placa de lemn ca model de referință, urmăriți părțile continentale pe suprafața superioară a cutiei
  3. Urmăriți partea de jos a butoanelor pe suprafața superioară a casetei, cu fiecare buton centrat în fiecare parte continentală trasată
  4. Utilizați o lamă pentru a tăia părțile butonului urmând urmele
  5. În interiorul părților continentale urmărite, utilizați o lamă pentru a tăia segmente scurte din jurul butonului
  6. Urmăriți încă două părți de jos ale butonului pe partea dreaptă a casetei (încercați să aliniați urmele cu aceeași înălțime)
  7. Urmăriți ecranul LCD pe partea dreaptă a cutiei (deasupra celor două butoane din pasul anterior)
  8. Utilizați o lamă pentru a tăia cele două părți ale butonului și partea LCD urmând urmele de la pasul 6 și 7

Pasul 4: Construiți circuitele

Construiește circuitele
Construiește circuitele

Referindu-vă la schemele de mai sus, construiți circuitul.

Notă:

  • Rezistențele pentru LED-urile RGB și cele ale butoanelor sunt diferite, ARĂTEȚI CLAR!
  • Deoarece placa de afișare LCD de mai sus nu are modelul I2C, nu este conectată perfect. (Panourile LCD cu modele I2C trebuie să conecteze doar patru pini)

    • Conectați GND-uri pe afișaj și pe placa Arduino
    • Conectați VCC pe afișaj cu pinii pozitivi de pe panou
    • Conectați SDA-urile de pe afișaj și placa Arduino
    • Conectați SCL-urile de pe afișaj și placa Arduino

Pasul 5: încărcați codul

Codul pentru acest proiect poate fi găsit aici sau mai jos.

Fiecare linie de codare are o notă laterală care explică scopul și funcția acesteia.

Notă:

  • Toți pinii D specifici pot fi modificați și reglați în funcție de aspectul circuitului dvs.
  • Toate secundele întârziate pot fi schimbate în valori diferite, dar NU le ȘTERGEȚI! (Aceste secunde întârziate permit codului să curgă mai logic. Fără ele, unele părți ale codului ar putea să nu funcționeze!)
  • Pe linia 24 (introducerea „pentru buclă”), puteți desemna numărul de repetări pentru care doriți să ruleze bucla (valoarea inițială este 5)
  • Combinația de culori a LED-urilor RGB din buclele „dacă este apăsat” și „dacă nu este apăsat” pentru fiecare buton poate fi ajustată și personalizată. (Inițial, LED-urile RGB ar străluci în verde dacă sunt apăsate în timp ce ar străluci în roșu dacă nu sunt apăsate. Puteți schimba valorile pentru a avea culori creative pentru a răspunde la DREAPTA și GRAV)

#include

#include LiquidCrystal_I2C lcd_I2C_27 (0x27, 16, 2); // setați adresa LCD pentru un afișaj de 16 caractere și 2 linii în _R; // introduceți variabila R, care reprezintă valoarea roșie a LED-urilor RGB int _G; // introduceți variabila G, care reprezintă valoarea verde a LED-urilor RGB int _B; // introduceți variabila B, care reprezintă valoarea albastră a LED-urilor RGB int _SongNumber; // introduceți variabila SongNumber void setup () {pinMode (10, INPUT); // setează D10 ca intrare pentru butonul de decorare a hărții pinMode (9, INPUT); // setează D9 ca intrare pentru butonul puzzle-joc pinMode (8, INPUT); // setează D8 ca intrare pentru butonul Eurasia pinMode (4, INPUT); // setează D4 ca intrare pentru butonul pinMode din America de Nord (3, INPUT); // setează D3 ca intrare pentru butonul pinMode din America de Sud (2, INPUT); // setează D2 ca intrare pentru butonul Africa pinMode (1, INPUT); // setează D1 ca intrare pentru butonul Oceania lcd_I2C_27.init (); // inițializați ecranul LCD lcd_I2C_27.backlight (); // porniți lumina de fundal a ecranului LCD} void loop () {if (digitalRead (10)) {// dacă butonul de decorare a hărții este apăsat pentru (int i = 0; i <5; ++ i) {// rulați următoarea buclă de 5 ori _R = random (0, 1023); // da variabilei R o valoare aleatorie de la 0 la 1023 _G = random (0, 1023); // dați variabilei G o valoare aleatorie de la 0 la 1023 _B = random (0, 1023); // dați variabilei B o valoare aleatorie de la 0 la 1023 analogWrite (13, (_R / 4)); // valoarea R a LED-urilor RGB pentru primul grup înlocuiește și scrie valoarea variabilă de la 0 la 255 analogWrite (12, (_G / 4)); // valoarea G a LED-urilor RGB pentru primul grup înlocuiește și scrie valoarea variabilă de la 0 la 255 analogWrite (11, (_B / 4)); // valoarea B a LED-urilor RGB pentru primul grup înlocuiește și scrie valoarea variabilă de la 0 la 255 analogWrite (7, (_R / 4)); // valoarea R a LED-urilor RGB pentru al doilea grup înlocuiește și scrie valoarea variabilă de la 0 la 255 analogWrite (6, (_G / 4)); // valoarea G a LED-urilor RGB pentru al doilea grup înlocuiește și scrie valoarea variabilă de la 0 la 255 analogWrite (5, (_B / 4)); // valoarea B a LED-urilor RGB pentru al doilea grup înlocuiește și scrie valoarea variabilă de la 0 la 255 întârziere (3000); // așteptați 3000 de milisecunde (3 secunde)} // deoarece valorile variabilei R, G, B sunt determinate în buclă, ar exista cinci combinații de culori diferite pe buclă} if (digitalRead (9)) {// if butonul jocului puzzle este apăsat _SongNumber = random (1, 20); // da variabilei SongNumber o valoare aleatorie de la 1 la 20 lcd_I2C_27.setCursor (0, 0); // setați cursorul, numărarea începe cu 0 lcd_I2C_27.print (_SongNumber); // tipăriți valoarea SongNumber pe placa de afișaj LCD analogWrite (13, 0); // resetați și scrieți valoarea lui D13 ca 0 analogWrite (12, 0); // resetați și scrieți valoarea lui D12 ca 0 analogWrite (11, 0); // resetați și scrieți valoarea lui D11 ca 0 analogWrite (7, 0); // resetați și scrieți valoarea lui D7 ca 0 analogWrite (6, 0); // resetați și scrieți valoarea lui D6 ca 0 analogWrite (5, 0); // resetează și scrie valoarea D5 ca 0 dacă (_SongNumber> = 1 && _SongNumber = 4 && _SongNumber = 7 && _SongNumber = 11 && _SongNumber = 15 && _SongNumber = 18 && _SongNumber <= 20) {// dacă valoarea variabilă SongNumber este între 18 și 20 întârziere (60000); // așteptați 60000 de milisecunde pentru ca jucătorii să asculte muzică populară (60 de secunde; 1 min) dacă (digitalRead (1)) {// dacă butonul Oceania este apăsat analogWrite (13, 0); // analogWrite valoarea lui D13 ca 0 analogWrite (12, 255); // analogWrite valoarea lui D12 ca 255 analogWrite (11, 0); // analogWrite valoarea lui D11 ca 0 analogWrite (7, 0); // analogWrite valoarea lui D7 ca 0 analogWrite (6, 255); // analogWrite valoarea D6 255 analogWrite (5, 0); // analogWrite valoarea D5 ca 0} // toate LED-urile RGB ar străluci în culoarea verde altceva {// dacă butonul Oceania nu este apăsat analogWrite (13, 255); // analogWrite valoarea lui D13 ca 255 analogWrite (12, 0); // analogWrite valoarea lui D12 ca 0 analogWrite (11, 0); // analogWrite valoarea lui D11 ca 0 analogWrite (7, 255); // analogWrite valoarea lui D7 ca 255 analogWrite (6, 0); // analogWrite valoarea lui D6 ca 0 analogWrite (5, 0); // analog Scrieți valoarea lui D5 ca 0} // toate LED-urile RGB ar străluci în culoare roșie} // deoarece răspunsurile corecte pentru SongNumber 18-20 sunt toate Oceania, acest „dacă bucla” accesează dacă răspunsul jucătorului este corect sau nu lcd_I2C_27.clear (); // ștergeți întârzierea plăcii afișajului LCD (1000); // așteptați 1000 de milisecunde (1 secundă)}}

Pasul 6: Finalizarea dispozitivului

  1. Deschideți cutia de carton și introduceți circuitele construite anterior (inclusiv toate elementele, de exemplu: trei panouri, placa Arduino, încărcătorul portabil)
  2. Referindu-vă la cod și la părțile continentale trasate din partea de sus a casetei, introduceți butoanele în fiecare dintre pozițiile lor corespunzătoare

    * Puteți consulta notele laterale din spatele codurilor pentru a vă asigura că butonul pinului este pentru care continent *

  3. Umpleți cele două „butoane funcționale” (hartă-deco a lui D10 și puzzle-game a lui D9) în fiecare dintre părțile tăiate din partea dreaptă a cutiei
  4. Instalați placa de afișare LCD în partea sa tăiată din partea dreaptă a cutiei
  5. Deschideți cutia și asigurați-vă că toate firele sunt conectate corect la plăci
  6. Lipiți fundația plăcii de lemn în partea superioară a cutiei folosind bandă dublă (asigurați-vă că vă aliniați corect, astfel încât butoanele să se potrivească chiar în partea tăiată a plăcilor de lemn)
  7. Folosiți un pistol de adeziv fierbinte pentru a completa piesele din regiunea mică (nu continentele principale)

Pasul 7: GATA !!!!

Pentru jocul de puzzle, accesați linkul pentru lista de redare de testare!

Recomandat: