Sadržaj:

Azimuthalna projekcija 3D dekoracija karte X Slagalica s narodnom glazbom - Arduino: 7 koraka
Azimuthalna projekcija 3D dekoracija karte X Slagalica s narodnom glazbom - Arduino: 7 koraka

Video: Azimuthalna projekcija 3D dekoracija karte X Slagalica s narodnom glazbom - Arduino: 7 koraka

Video: Azimuthalna projekcija 3D dekoracija karte X Slagalica s narodnom glazbom - Arduino: 7 koraka
Video: Когда Контрнаступление Украины? (10 июня 2023) 2024, Studeni
Anonim
Image
Image
Dizajnirajte ploču
Dizajnirajte ploču

UVOD

Sljedeća stranica će vas uputiti kako stvoriti Arduino projekt, koji ima dvije glavne funkcije-običan ukras sa rasvjetom i puzzle igru narodne glazbe, koji uključuje polja geografije, geometrije, karte, Ujedinjene Narode i glazbu zajedno u jedno. Nadovezujući se na strukturu šesterokuta, uređaj prikazuje kartu svijeta u Azimuthalnoj ekvidistantnoj projekciji, koja je oblik projekcije karte koju koriste Ujedinjeni narodi (i njezin simbol).

Prilikom aktiviranja načina ukrašavanja, kontinenti karte svijetlili bi u različitim bojama određenim slučajnim kombinacijama RGB vrijednosti upotrebom RGB LED dioda.

Način igre, s druge strane, zahtijeva od korisnika da prepoznaju podrijetlo pjesama narodne glazbe (odabrane nasumičnim generiranjem brojeva od 1 do 20) i postave kontinentalnu ploču svog odgovora na odgovarajući položaj na glavnoj drvenoj ploči unutar skupa vrijeme (unaprijed postavljeno za 1 minutu).

_

PRIBOR

Stvarni materijali

  • 5 mm RGB LED diode *20
  • Žice
  • Otpornici *9
  • Arduino ploča *1 (bilo koja vrsta)
  • Oglasne ploče *3
  • Gumbi *7
  • Ploča za LCD zaslon I2C *1
  • Kartonska kutija (13*9*5,7 inča; 33*23*14,5 cm)
  • Drvena ploča (37,5*29*0,8 cm)
  • Akrilne ploče (prozirne * 2, poluprozirne * 1)
  • Prijenosni punjač *1

Alati:

  • Oštrica *1
  • Ljepila za UV stvrdnjavanje *1
  • Dvostrana traka *1 rola
  • Pištolj za vruće ljepilo *1

Strojevi:

Stroj za lasersko rezanje

Softver:

  • Adobe Illustrator
  • Adobe Photoshop
  • Nosorog 3D

Korak 1: Dizajnirajte ploču

Priloženu datoteku možete izravno preuzeti ili slijedite dolje navedene korake.

Nacrt karte

  1. Preuzmite obris karte s Googlea
    1. Google "logo ujedinjenih nacija"
    2. Odaberite "alati - veličina - veliki"
    3. Preuzmite svoju najomiljeniju sliku (onu koju koristi ovaj projekt: veza) *Pokušajte ne birati one sa kompliciranim linijama koje se preklapaju s kontinentalnim zemljama *
  2. Prenesite preuzetu kartu u verziju za ispis

    1. Obojte neželjena područja u bijelo pomoću funkcije četke u Adobe Photoshopu
    2. Izvezite datoteku (JPEG)
    3. Uvezite datoteku u Adobe Illustrator i upotrijebite funkciju "trag slike" za praćenje karte
    4. Izvoz datoteke (dxf)

Dodavanje pozadine šesterokuta

  1. Uvezite dxf datoteku u Rhino
  2. Odaberite funkciju "poligon" i utipkajte "6" za opciju "NumSides"
  3. Upišite "3.5" za vrijednost radijusa
  4. Nacrtajte 28 šesterokuta jednake veličine
  5. Izvezite datoteku u 3dm

Korak 2: Lasersko rezanje

Image
Image
Lasersko rezanje
Lasersko rezanje
Lasersko rezanje
Lasersko rezanje
Lasersko rezanje
Lasersko rezanje
  1. Uvezite prethodno dovršenu datoteku u xxx.
  2. Pomoću stroja za lasersko rezanje odštampajte glavno tijelo na drvenoj ploči, a kontinente na akrilnim pločama (2 prozirna i 1 poluprozirna) (videozapisi su navedeni gore)

Korak 3: Izgradite uređaj

Napravite uređaj
Napravite uređaj
Napravite uređaj
Napravite uređaj
Napravite uređaj
Napravite uređaj

Daske nakon laserskog rezanja

  • Akrilni kontinenti

    1. Upotrijebite ljepila koja se stvrdnjavaju UV zrakama za lijepljenje tri ploče svakog kontinenta (s poluprozirnim kao srednjim slojem)
    2. UV svjetlom obasjajte zalijepljena područja kako bi se ljepila učvrstila
  • Zaklada od drvene ploče

    1. Ručno uklonite male kopnene dijelove zaglavljene na glavnoj drvenoj ploči
    2. *Ako je bilo koji dio drvene ploče slomljen, upotrijebite ljepila za stvrdnjavanje UV -a kako biste ih zalijepili*

Izgradnja baze (donji temelj cijelog uređaja)

  1. Pronađite kartonsku kutiju odgovarajuće veličine, dimenzija koliko je blizu 13*9*5,7 inča (33*23*14,5 cm)
  2. Koristeći drvenu ploču kao referentni model, ocrtajte kontinentalne dijelove na gornju površinu kutije
  3. Nacrtajte donji dio gumba na gornju površinu okvira, pri čemu je svaki gumb centriran unutar svakog ucrtanog kontinentalnog dijela
  4. Oštricom odrežite dijelove gumba slijedeći tragove
  5. Unutar ucrtanih kontinentalnih dijelova, oštricom odrežite kratke segmente koji okružuju gumb
  6. Nacrtajte još dva donja dijela gumba na desnoj strani okvira (pokušajte poravnati tragove s istom visinom)
  7. Nacrtajte ploču LCD zaslona s desne strane okvira (iznad dva gumba u prethodnom koraku)
  8. Oštricom odrežite dva dijela gumba i LCD dio slijedeći tragove u koracima 6 i 7

Korak 4: Izgradite krugove

Izgradite sklopove
Izgradite sklopove

Pozivajući se na gornje sheme, izgradite krug.

Bilješka:

  • Otpornici za RGB LED diode i oni na gumbima su različiti, IZGLEDAJTE JASNO!
  • Budući da gornja ploča LCD zaslona nema I2C model, nije savršeno povezana. (LCD ploče s I2C modelima moraju priključiti samo četiri pina)

    • Spojite GND na zaslon i Arduino ploču
    • Spojite VCC na prikazivaču s pozitivnim pinovima na ploči
    • Spojite SDA -e na zaslon i Arduino ploču
    • Spojite SCL -ove na zaslonu i Arduino ploči

Korak 5: Prenesite kôd

Kôd za ovaj projekt možete pronaći ovdje ili ispod.

Svaka linija kodiranja ima sporednu bilješku koja objašnjava njenu svrhu i funkciju.

Bilješka:

  • Svi specifični D pinovi mogu se mijenjati i prilagođavati ovisno o rasporedu vašeg kruga
  • Sve odgođene sekunde mogu se promijeniti u različite vrijednosti, ali nemojte ih brisati! (Ove odgođene sekunde omogućuju logičniji protok koda. Bez njih neki dijelovi koda možda neće funkcionirati!)
  • Na retku 24 (uvod "for loop") možete odrediti broj ponavljanja za koji želite da se petlja izvodi (izvorna vrijednost je 5)
  • Kombinacija boja RGB LED dioda u petljama "ako je pritisnuto" i "ako nije pritisnuto" svakog gumba može se prilagoditi i prilagoditi. (U početku su RGB LED diode zasvijetlile zeleno ako bi bile pritisnute, a zasvijetlile bi crvenom bojom ako nisu pritisnute. Možete promijeniti vrijednosti tako da imaju kreativne boje za odgovaranje DESNO i NEPRAVILNO)

#uključi

#include LiquidCrystal_I2C lcd_I2C_27 (0x27, 16, 2); // postavljanje LCD adrese za prikaz od 16 znakova i 2 retka int _R; // uvodimo varijablu R, koja označava crvenu vrijednost RGB LED dioda int _G; // uvodimo varijablu G, koja označava zelenu vrijednost RGB LED -a int _B; // uvodimo varijablu B, koja označava Blue vrijednost RGB LED -a int _SongNumber; // uvodimo varijablu SongNumber void setup () {pinMode (10, INPUT); // postavlja D10 kao ulaz za gumb za ukrašavanje karte pinMode (9, INPUT); // postavlja D9 kao ulaz za gumb za zagonetku pinMode (8, INPUT); // postavlja D8 kao ulaz za pinMode tipke Eurasia (4, INPUT); // postavlja D4 kao ulaz za pinMode gumba Sjeverne Amerike (3, INPUT); // postavlja D3 kao ulaz za pinMode gumba Južne Amerike (2, INPUT); // postavlja D2 kao ulaz za pinMode gumba Africa (1, INPUT); // postavlja D1 kao ulaz za gumb Oceanije lcd_I2C_27.init (); // inicijalizira LCD ploču zaslona lcd_I2C_27.backlight (); // uključuje pozadinsko osvjetljenje ploče LCD zaslona} void loop () {if (digitalRead (10)) {// ako je pritisnuta tipka za ukrašavanje karte (int i = 0; i <5; ++ i) {// pokrenite sljedeću petlju 5 puta _R = random (0, 1023); // varijabli R dajemo slučajnu vrijednost od 0 do 1023 _G = slučajno (0, 1023); // varijabli G dajemo slučajnu vrijednost od 0 do 1023 _B = slučajno (0, 1023); // dajemo varijabli B slučajnu vrijednost od 0 do 1023 analogWrite (13, (_R /4)); // vrijednost R RGB LED dioda za prvu skupinu zamjenjuje i zapisuje promjenjivu vrijednost od 0 do 255 analogWrite (12, (_G /4)); // vrijednost G RGB LED dioda za prvu grupu zamjenjuje i upisuje promjenjivu vrijednost od 0 do 255 analogWrite (11, (_B /4)); // vrijednost B RGB LED dioda za prvu grupu zamjenjuje i upisuje promjenjivu vrijednost od 0 do 255 analogWrite (7, (_R /4)); // R vrijednost RGB LED dioda za drugu grupu zamjenjuje i upisuje promjenjivu vrijednost od 0 do 255 analogWrite (6, (_G /4)); // G vrijednost RGB LED dioda za drugu grupu zamjenjuje i zapisuje promjenjivu vrijednost od 0 do 255 analogWrite (5, (_B /4)); // vrijednost B RGB LED dioda za drugu skupinu zamjenjuje i upisuje promjenjivu vrijednost od 0 do 255 kašnjenja (3000); // čekamo 3000 milisekundi (3 sekunde)} // budući da su vrijednosti varijable R, G, B određene u petlji, bilo bi pet različitih kombinacija boja po petlji} if (digitalRead (9)) {// if pritisnut je gumb zagonetke _SongNumber = random (1, 20); // daje varijabli SongNumber slučajnu vrijednost od 1 do 20 lcd_I2C_27.setCursor (0, 0); // postavljamo kursor, odbrojavanje počinje s 0 lcd_I2C_27.print (_SongNumber); // ispisuje vrijednost SongNumber na ploču LCD zaslona analogWrite (13, 0); // resetirati i upisati vrijednost D13 kao 0 analogWrite (12, 0); // resetirati i upisati vrijednost D12 kao 0 analogWrite (11, 0); // resetirati i upisati vrijednost D11 kao 0 analogWrite (7, 0); // resetirati i upisati vrijednost D7 kao 0 analogWrite (6, 0); // resetirati i upisati vrijednost D6 kao 0 analogWrite (5, 0); // resetirati i upisati vrijednost D5 kao 0 ako je (_SongNumber> = 1 && _SongNumber = 4 && _SongNumber = 7 && _SongNumber = 11 && _SongNumber = 15 && _SongNumber = 18 &&_SongNumber <= 20) {// ako je vrijednost od varijabla SongNumber je od 18 do 20 kašnjenja (60000); // pričekajte 60000 milisekundi da svirači slušaju narodnu glazbu (60 sekundi; 1 min) if (digitalRead (1)) {// ako se pritisne tipka Oceania analogWrite (13, 0); // analogWrite vrijednost D13 kao 0 analogWrite (12, 255); // analogWrite vrijednost D12 kao 255 analogWrite (11, 0); // analogWrite vrijednost D11 kao 0 analogWrite (7, 0); // analogWrite vrijednost D7 kao 0 analogWrite (6, 255); // analogWrite vrijednost D6 255 analogWrite (5, 0); // analogWrite vrijednost D5 kao 0} // sve RGB LED diode zasvijetlit će u zelenoj boji inače {// ako gumb Oceanije nije pritisnut analogWrite (13, 255); // analogWrite vrijednost D13 kao 255 analogWrite (12, 0); // analogWrite vrijednost D12 kao 0 analogWrite (11, 0); // analogWrite vrijednost D11 kao 0 analogWrite (7, 255); // analogWrite vrijednost D7 kao 255 analogWrite (6, 0); // analogWrite vrijednost D6 kao 0 analogWrite (5, 0); // analognoZapišite vrijednost D5 kao 0} // sve RGB LED diode zasjat će crvenom bojom} // budući da su točni odgovori za broj pjesme od 18. do 20. svi u Oceaniji, ova "if petlja" pristupa je li igračev odgovor točan ili nije lcd_I2C_27.clear (); // brisanje kašnjenja ploče LCD zaslona (1000); // pričekajte 1000 milisekundi (1 sekunda)}}

Korak 6: Dovršavanje uređaja

  1. Otvorite kartonsku kutiju i umetnite prethodno izrađena kola (uključujući sve elemente, npr.: tri ploče, Arduino ploču, prijenosni punjač)
  2. Pozivajući se na kôd i ucrtane kontinentalne dijelove na vrhu okvira, gumbe ugurajte u svaki njihov odgovarajući položaj

    *Možete pogledati sporedne napomene iza kodova kako biste bili sigurni koji je gumb za koji kontinent*

  3. Stavite dva "funkcijska gumba" (map-deco iz D10 i zagonetka iz D9) u svaki od izrezanih dijelova s desne strane kutije
  4. Ugradite ploču LCD zaslona u izrezani dio s desne strane kutije
  5. Otvorite kutiju i provjerite jesu li sve žice pravilno spojene na ploče
  6. Zalijepite temelj drvene ploče na gornji dio kutije pomoću dvostrane trake (pobrinite se da je pravilno poravnano tako da se gumbi mogu uklopiti izravno u izrezani dio drvenih ploča)
  7. Pištoljem za vruće ljepilo napunite male dijelove regije (ne glavne kontinente)

Korak 7: GOTOVO !!!!

Za zagonetku idite na vezu za popis pjesama za testiranje!

Preporučeni: