Sadržaj:

Azimulska projekcija 3D dekoracija karte Dekoracija s narodnom muzikom Male igre - Arduino: 7 koraka
Azimulska projekcija 3D dekoracija karte Dekoracija s narodnom muzikom Male igre - Arduino: 7 koraka

Video: Azimulska projekcija 3D dekoracija karte Dekoracija s narodnom muzikom Male igre - Arduino: 7 koraka

Video: Azimulska projekcija 3D dekoracija karte Dekoracija s narodnom muzikom Male igre - Arduino: 7 koraka
Video: Когда Контрнаступление Украины? (10 июня 2023) 2024, Juli
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 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

  1. Preuzmite skicu 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 štampanje

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

Dodavanje pozadine šesterokuta

  1. Uvezite dxf datoteku u Rhino
  2. Odaberite funkciju "poligon" i unesite "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. 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

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 zajedno (sa poluprozirnim kao srednjim slojem)
    2. Upotrijebite UV svjetlo da obasjate zalijepljena područja kako bi se ljepila učvrstila
  • Temelj 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 polomljen, upotrijebite ljepila koja se stvrdnjavaju UV zrakama kako biste ih zalijepili*

Izgradnja baze (Donja osnova cijelog uređaja)

  1. Pronađite kartonsku kutiju odgovarajuće veličine, dimenzija koje su 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 dugmadi na gornju površinu kutije, sa svakim dugmetom centriranim unutar svakog ucrtanog kontinentalnog dijela
  4. Oštricom odrežite dijelove dugmeta prateć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 ekrana s desne strane kutije (iznad dva dugmeta u prethodnom koraku)
  8. Oštricom odrežite dva dijela dugmeta i LCD dio slijedeći tragove u koracima 6 i 7

Korak 4: Izgradite kola

Izgradite kola
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

  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, 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*

  3. Stavite dva "funkcijska dugmeta" (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 ravno u izrezani dio drvenih ploča)
  7. 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!

Preporučuje se: