Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
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 muzike, koji uključuje polja geografije, geometrije, karte, Ujedinjene Nacije i muziku 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 njen simbol).
Prilikom aktiviranja načina ukrašavanja, kontinenti karte zasjajali 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 porijeklo pjesama narodne muzike (odabranih 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 vreme (unapred podešeno za 1 minut).
_
SUPPLIES
Stvarni materijali
- 5 mm RGB LED diode *20
- Žice
- Otpornici *9
- Arduino ploča *1 (bilo koje vrste)
- Oglasne ploče *3
- Dugmad *7
- Ploča za LCD ekran I2C *1
- Kartonska kutija (13*9*5,7 inča; 33*23*14,5 cm)
- Drvena daska (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
Mašine:
Mašina za lasersko rezanje
Softver:
- Adobe Illustrator
- Adobe Photoshop
- Rhino 3D
Korak 1: Dizajnirajte ploču
Možete direktno preuzeti priloženu datoteku ili slijediti donje korake.
Nacrt karte
- Preuzmite skicu karte s Googlea
- Google "logo ujedinjenih nacija"
- Odaberite "alati - veličina - veliki"
- Preuzmite svoju najomiljeniju sliku (onu koju koristi ovaj projekt: veza) *Pokušajte ne birati one sa kompliciranim linijama koje se preklapaju s kontinentalnim zemljama *
-
Prenesite preuzetu kartu u verziju za štampanje
- Obojite neželjena područja u bijelo pomoću funkcije četke u Adobe Photoshopu
- Izvezite datoteku (JPEG)
- Uvezite datoteku u Adobe Illustrator i koristite funkciju "trag slike" za praćenje karte
- Izvezite datoteku (dxf)
Dodavanje pozadine šesterokuta
- Uvezite dxf datoteku u Rhino
- Odaberite funkciju "poligon" i unesite "6" za opciju "NumSides"
- Upišite "3.5" za vrijednost radijusa
- Nacrtajte 28 šesterokuta jednake veličine
- Izvezite datoteku u 3dm
Korak 2: Lasersko rezanje
- Uvezite prethodno dovršenu datoteku u xxx.
- Koristeći stroj 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
Daske nakon laserskog rezanja
-
Akrilni kontinenti
- Upotrijebite ljepila koja se stvrdnjavaju UV zrakama za lijepljenje tri ploče svakog kontinenta zajedno (sa poluprozirnim kao srednjim slojem)
- Upotrijebite UV svjetlo da obasjate zalijepljena područja kako bi se ljepila učvrstila
-
Temelj drvene ploče
- Ručno uklonite male kopnene dijelove zaglavljene na glavnoj drvenoj ploči
- *Ako je bilo koji dio drvene ploče polomljen, upotrijebite ljepila koja se stvrdnjavaju UV zrakama kako biste ih zalijepili*
Izgradnja baze (Donja osnova cijelog uređaja)
- Pronađite kartonsku kutiju odgovarajuće veličine, dimenzija koje su blizu 13*9*5,7 inča (33*23*14,5 cm)
- Koristeći drvenu ploču kao referentni model, ocrtajte kontinentalne dijelove na gornju površinu kutije
- Nacrtajte donji dio dugmadi na gornju površinu kutije, sa svakim dugmetom centriranim unutar svakog ucrtanog kontinentalnog dijela
- Oštricom odrežite dijelove dugmeta prateći tragove
- Unutar ucrtanih kontinentalnih dijelova, oštricom odrežite kratke segmente koji okružuju gumb
- Nacrtajte još dva donja dijela gumba na desnoj strani okvira (pokušajte poravnati tragove s istom visinom)
- Nacrtajte ploču LCD ekrana s desne strane kutije (iznad dva dugmeta u prethodnom koraku)
- Oštricom odrežite dva dijela dugmeta i LCD dio slijedeći tragove u koracima 6 i 7
Korak 4: Izgradite kola
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 za LCD zaslon nema I2C model, nije savršeno povezana. (Ploče LCD ekrana sa I2C modelima moraju priključiti samo četiri pina)
- Spojite GND na zaslon i Arduino ploču
- Spojite VCC na zaslonu s pozitivnim pinovima na matičnoj ploči
- Povežite SDA -ove na zaslonu i Arduino ploči
- Povežite SCL -ove na zaslonu i Arduino ploči
Korak 5: Otpremite kôd
Kôd za ovaj projekat možete pronaći ovdje ili ispod.
Svaka linija kodiranja ima napomenu 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 odložene sekunde mogu se promijeniti u različite vrijednosti, ali nemojte ih brisati! (Ove odložene sekunde omogućuju logičkom protoku koda. Bez njih neki dijelovi koda možda neće funkcionirati!)
- Na liniji 24 (uvod u "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 dugmeta može se prilagoditi i prilagoditi. (U početku su RGB LED diode svijetlile zelenom bojom ako bi bile pritisnute, a zasvijetlile bi crvenom bojom ako nisu pritisnute. Možete promijeniti vrijednosti tako da imaju kreativne boje za odgovaranje na DESNO i NEPRAVILNO)
#include
#include LiquidCrystal_I2C lcd_I2C_27 (0x27, 16, 2); // postavljanje LCD adrese za prikaz od 16 znakova i 2 reda int _R; // uvodimo varijablu R, koja označava crvenu vrijednost RGB LED -a 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; // uvodi 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 tipku puzzle-igre pinMode (8, INPUT); // postavlja D8 kao ulaz za tipku Eurasia pinMode (4, INPUT); // postavlja D4 kao ulaz za pinMode gumba Sjeverne Amerike (3, INPUT); // postavlja D3 kao ulaz za pinMode dugmeta Južne Amerike (2, INPUT); // postavlja D2 kao ulaz za afričko dugme pinMode (1, INPUT); // postavlja D1 kao ulaz za dugme Oceanije lcd_I2C_27.init (); // inicijalizira LCD ploču ekrana lcd_I2C_27.backlight (); // uključuje pozadinsko osvjetljenje ploče LCD ekrana} void loop () {if (digitalRead (10)) {// ako je dugme za ukrašavanje karte pritisnuto za (int i = 0; i <5; ++ i) {// pokrenite sljedeću petlju 5 puta _R = random (0, 1023); // dajemo varijabli R slučajnu vrijednost od 0 do 1023 _G = slučajno (0, 1023); // dajemo varijabli G 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 grupu zamjenjuje i upisuje vrijednost varijable od 0 do 255 analogWrite (12, (_G /4)); // G vrijednost RGB LED dioda za prvu grupu zamjenjuje i upisuje promjenjivu vrijednost od 0 do 255 analogWrite (11, (_B /4)); // B vrijednost RGB LED dioda za prvu grupu zamjenjuje i upisuje vrijednost varijable 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 upisuje promjenjivu vrijednost od 0 do 255 analogWrite (5, (_B /4)); // B vrijednost RGB LED dioda za drugu grupu 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 dugme puzzle-game je pritisnuto _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 sa 0 lcd_I2C_27.print (_SongNumber); // ispisuje vrijednost SongNumber na ploču LCD ekrana 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); // resetiramo i upisujemo 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); // čekamo 60000 milisekundi da svirači slušaju narodnu muziku (60 sekundi; 1 min) if (digitalRead (1)) {// ako je dugme Oceanije pritisnuto 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 će zasvijetliti zelenom bojom u suprotnom {// ako se ne pritisne tipka Oceania 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); // analognoNapišite vrijednost D5 kao 0} // sve RGB LED diode će zasvijetliti crvenom bojom} // budući da su tačni odgovori za broj pjesme od 18. do 20. svi u Oceaniji, ova "if petlja" pristupa je li igračev odgovor tačan ili nije lcd_I2C_27.clear (); // poništavanje kašnjenja ploče LCD zaslona (1000); // čekajte 1000 milisekundi (1 sekunda)}}
Korak 6: Dovršavanje uređaja
- Otvorite kartonsku kutiju i umetnite prethodno izrađena kola (uključujući sve elemente, npr.: tri ploče, Arduino ploču, prijenosni punjač)
- Pozivajući se na kôd i ucrtane kontinentalne dijelove na vrhu okvira, gurnite gumbe u svaki od odgovarajućih položaja
*Možete se pozvati na sporedne napomene iza kodova kako biste bili sigurni koje je dugme za koji kontinent*
- Stavite dva "funkcijska dugmeta" (map-deco iz D10 i zagonetka iz D9) u svaki od izrezanih dijelova s desne strane kutije
- Ugradite ploču LCD zaslona u izrezani dio s desne strane kutije
- Otvorite kutiju i provjerite jesu li sve žice pravilno spojene na ploče
- 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 ravno u izrezani dio drvenih ploča)
- Pištoljem za vruće ljepilo napunite male dijelove regije (ne glavne kontinente)
Korak 7: GOTOVO !!!!
Za slagalicu idite na vezu za popis pjesama za testiranje!