Mündəricat:
- Addım 1: Lövhəni dizayn edin
- Addım 2: Lazerlə kəsmə
- Addım 3: Cihazı qurun
- Addım 4: Dövrləri qurun
- Addım 5: Kodu yükləyin
- Addım 6: Cihazı bitirmək
- Addım 7: BİTDİN !!!!
Video: Azimuthal Projeksiyon 3D Xəritə Dekorasiya X Xalq Musiqi Puzzle Oyunu - Arduino: 7 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
GİRİŞ
Aşağıdakı səhifə, coğrafiya, həndəsə, xəritələr, Birləşmiş Millətlər və musiqi sahələrini bir araya gətirən iki əsas funksiyaya sahib olan işıqlandırma və xalq musiqisi tapmaca oyunu olan bir Arduino layihəsinin necə yaradılacağını sizə izah edəcək. Altıbucaqlıların quruluşuna əsaslanan qurğu, dünya xəritəsini Birləşmiş Millətlər Təşkilatının (və simvolu) istifadə etdiyi xəritə proyeksiyası forması olan Azimutal bərabər məsafəli proyeksiyada əks etdirir.
Dekorasiya rejimini aktivləşdirərkən, xəritənin qitələri RGB LED -lərinin istifadəsi ilə RGB dəyərlərinin təsadüfi birləşmələri ilə təyin olunan fərqli rənglərdə parlayacaqdı.
Digər tərəfdən oyun rejimi, istifadəçilərdən xalq musiqisi mahnılarının mənşəyini tanımağı (1 -dən 20 -ə qədər ədədlər təsadüfi yaradılaraq seçilməsini) və öz cavabının kontinental lövhəsini bir dəstə içərisində əsas taxta lövhənin müvafiq mövqeyinə qoymasını tələb edir. vaxt (1 dəqiqə əvvəlcədən qurulmuşdur).
_
TƏCHİZAT
Həqiqi Materiallar
- 5 mm RGB LED *20
- Tellər
- Rezistorlar *9
- Arduino Board *1 (istənilən tip)
- Çörək lövhələri *3
- Düymələr *7
- LCD ekran lövhəsi I2C *1
- Karton Kutu (13*9*5.7 düym; 33*23*14.5 sm)
- Taxta lövhə (37.5*29*0.8 sm)
- Akril lövhələr (şəffaf * 2, yarı şəffaf * 1)
- Portativ Şarj Cihazı *1
Alətlər:
- Bıçaq *1
- UV müalicəsi üçün yapışqanlar *1
- İki tərəfli lent *1 rulon
- İsti yapışqan silahı *1
Maşınlar:
Lazer kəsmə maşını
Proqram təminatı:
- Adobe Illustrator
- Adobe Photoshop
- Kərgədan 3d
Addım 1: Lövhəni dizayn edin
Əlavə edilmiş faylı birbaşa yükləyə və ya aşağıdakı addımları izləyə bilərsiniz.
Xəritənin təsviri
-
Google -dan bir xəritə konturu yükləyin
- Google "Birləşmiş Millətlər Təşkilatının loqosu"
- "Alətlər - ölçü - böyük" seçin
- Ən çox sevdiyiniz şəkli yükləyin (bu layihənin istifadə etdiyi şəkil: link) *Kontinental torpaqlarla üst -üstə düşən mürəkkəb xətləri olanları seçməməyə çalışın *
-
Yüklənmiş xəritəni çap versiyasına köçürün
- Adobe Photoshop -da boya fırçası funksiyasından istifadə edərək arzuolunmaz bölgələri ağ rəngə boyayın
- Faylı ixrac edin (JPEG)
- Dosyanı Adobe Illustrator -a idxal edin və xəritəni izləmək üçün "görüntü izi" funksiyasından istifadə edin
- Faylı ixrac edin (dxf)
Altıbucaqlı fonun əlavə edilməsi
- Dxf faylını Rhino -ya idxal edin
- "Çoxbucaqlı" funksiyasını seçin və "NumSides" seçimi üçün "6" yazın
- Radius dəyəri üçün "3.5" yazın
- 28 bərabər ölçülü altıbucaq çəkin
- Faylı 3dm formatında ixrac edin
Addım 2: Lazerlə kəsmə
- Əvvəllər tamamlanmış faylı xxx -ə idxal edin.
- Lazer kəsmə maşını istifadə edərək, əsas gövdəni taxta lövhədə və qitələri akril lövhələrdə çap edin (2 şəffaf və 1 yarı şəffaf) (videolar yuxarıda verilmişdir)
Addım 3: Cihazı qurun
Lazerlə kəsildikdən sonra lövhələr
-
Akril Qitələr
- Hər qitənin üç lövhəsini bir-birinə yapışdırmaq üçün ultrabənövşəyi şəfalı yapışqanlardan istifadə edin (orta təbəqə kimi yarı şəffaf).
- Yapışqanların bərkiməsini təmin etmək üçün yapışqan bölgələrə parlamaq üçün UV işığını istifadə edin
-
Taxta lövhə təməli
- Əsas taxta lövhəyə yapışmış kiçik torpaq sahələrini əl ilə çıxarın
- *Taxta lövhənin hər hansı bir hissəsi qırılıbsa, UV yapışqanlı yapışqanlardan istifadə edərək geri yapışdırın*
Baza Qurmaq (Bütün Cihazın Alt Vəqfi)
- Ölçüləri 13*9*5.7 düym (33*23*14.5 sm) olan uyğun ölçülü karton qutu tapın.
- Referans modeli olaraq taxta taxtadan istifadə edərək kontinental hissələri qutunun üst səthində izləyin
- Düymələrin alt hissəsini qutunun yuxarı səthində izləyin, hər bir düymə hər bir kontinental hissənin mərkəzindədir.
- İzləri izləyərək düymə hissələrini kəsmək üçün bir bıçaq istifadə edin
- İzlənilən kontinental hissələrdə düyməni əhatə edən qısa seqmentləri kəsmək üçün bir bıçaq istifadə edin
- Düymənin daha iki alt hissəsini qutunun sağ tərəfinə çəkin (izləri eyni hündürlükdə hizalamağa çalışın)
- LCD ekran lövhəsini qutunun sağ tərəfinə çəkin (əvvəlki addımdakı iki düymənin üstündə)
- 6 və 7 -ci addımdakı izləri izləyərək iki düymə hissəsini və LCD hissəsini kəsmək üçün bir bıçaq istifadə edin
Addım 4: Dövrləri qurun
Yuxarıdakı sxemlərə istinad edərək, dövrə qurun.
Qeyd:
- RGB LED -lərin və düymələrin rezistorları fərqlidir, aydın görün!
-
Yuxarıdakı LCD Ekran Lövhəsində I2C modeli olmadığı üçün mükəmməl bağlanmamışdır. (I2C modelləri olan LCD Ekran Lövhələri yalnız dörd pinlə bağlanmalıdır)
- GND -ləri ekran və Arduino lövhəsinə qoşun
- Çörək lövhəsindəki pozitiv pinlərlə ekrandakı VCC -ni bağlayın
- SDA'ları ekran və Arduino lövhəsinə bağlayın
- SCL -ləri ekran və Arduino lövhəsinə qoşun
Addım 5: Kodu yükləyin
Bu layihənin kodunu burada və ya aşağıda tapa bilərsiniz.
Hər bir kodlaşdırma xəttində məqsədini və funksiyasını izah edən bir yan qeyd var.
Qeyd:
- Bütün xüsusi D pinləri, sxeminizin sxeminə əsasən dəyişdirilə və tənzimlənə bilər
- Bütün gecikmiş saniyələr fərqli dəyərlərə dəyişdirilə bilər, ancaq bunları SİLMƏYİN! (Bu gecikmiş saniyələr kodun daha məntiqli axmasına imkan verir. Onsuz kodun bəzi hissələri işləməyə bilər!)
- 24 -cü sətirdə ("döngə üçün" tətbiqi), döngənin işləməsini istədiyiniz təkrar sayını təyin edə bilərsiniz (orijinal dəyər 5 -dir)
- RGB LED -lərinin hər düymənin "basıldığı təqdirdə" və "basılmazsa" döngələrindəki rəng birləşməsi tənzimlənə və fərdiləşdirilə bilər. (Başlanğıcda, RGB LED -ləri basıldıqda yaşıl rəngdə, basılmadıqda qırmızı rəngdə parlayacaqdı. SAĞ və YAN cavab vermək üçün dəyərləri yaradıcı rənglərə dəyişə bilərsiniz)
#daxil edin
#daxil LiquidCrystal_I2C lcd_I2C_27 (0x27, 16, 2); // LCD ünvanını 16 simvol və 2 sətirlik int _R üçün təyin edin; // int _G RGB LED -lərinin Qırmızı dəyərini ifadə edən R dəyişənini təqdim edin; // int _B RGB LED -lərinin Yaşıl dəyərini ifadə edən G dəyişənini təqdim edin; // int _SongNumber RGB LED -lərinin Mavi dəyərini ifadə edən B dəyişənini təqdim edin; // dəyişən SongNumber void setup () {pinMode (10, INPUT) təqdim edin; // D10-u xəritə dekorasiya düyməsi pinMode (9, INPUT) üçün giriş olaraq təyin edir; // pinMode (8, GİRİŞ) tapmaca oyunu düyməsi üçün D9-u giriş olaraq təyin edir; // D8 -i Avrasiya düyməsi pinMode (4, INPUT) üçün giriş olaraq təyin edir; // D4 -ü Şimali Amerika düyməsi pinMode (3, INPUT) üçün giriş olaraq təyin edir; // D3 -ü Cənubi Amerika düyməsi pinMode (2, INPUT) üçün giriş olaraq təyin edir; // D2 düyməsini Afrika düyməsi pinMode (1, INPUT) üçün giriş olaraq təyin edir; // D1 -i Okeaniya düyməsi üçün giriş olaraq təyin edir lcd_I2C_27.init (); // LCD ekran lcd_I2C_27.backlight (); // LCD ekran lövhəsinin arxa işığını yandırın} void loop () {if (digitalRead (10)) {// map-bəzək düyməsinə basıldıqda (int i = 0; i <5; ++ i) {// aşağıdakı döngəni 5 dəfə işlədin _R = təsadüfi (0, 1023); // R dəyişəninə 0 -dan 1023 -ə qədər təsadüfi bir dəyər verin _G = təsadüfi (0, 1023); // G dəyişəninə 0 -dan 1023 -ə qədər təsadüfi bir dəyər verin _B = təsadüfi (0, 1023); // B dəyişəninə 0 ilə 1023 analogWrite arasında təsadüfi bir dəyər verin (13, (_R /4)); // birinci qrup əvəzediciləri üçün RGB LED -lərinin R dəyəri və 0 -dan 255 -ə qədər analogWrite (12, (_G /4)) dəyişən dəyərini yazır; // birinci qrup əvəzedicilər üçün RGB LED -lərinin G dəyəri və 0 -dan 255 -ə qədər analogWrite (11, (_B /4)) dəyişən dəyərini yazır; // birinci qrup əvəzedicilər üçün RGB LED -lərinin B dəyəri və dəyişən dəyəri 0 -dan 255 analogWrite (7, (_R /4)) yazır; // ikinci qrup üçün RGB LED -lərinin R dəyəri əvəz edir və 0 -dan 255 -ə qədər analogWrite (6, (_G /4)) dəyişən dəyəri yazır; // ikinci qrup üçün RGB LED -lərinin G dəyəri əvəz edir və dəyişən dəyəri 0 -dan 255 analogWrite (5, (_B /4)) yazır; // ikinci qrup əvəzediciləri üçün RGB LED -lərinin B dəyəri və dəyişən dəyəri 0 ilə 255 gecikmə (3000) arasında yazır; // 3000 milisaniyə (3 saniyə) gözləyin} // R, G, B dəyişənlərinin dəyərləri döngədə təyin olunduğundan hər bir döngədə beş fərqli rəng birləşməsi olardı} if (digitalRead (9)) {// if tapmaca oyunu düyməsinə basılır _SongNumber = təsadüfi (1, 20); // SongNumber dəyişəninə 1 -dən 20 -ə qədər təsadüfi bir dəyər verin lcd_I2C_27.setCursor (0, 0); // imleci təyin edin, sayma 0 lcd_I2C_27.print (_SongNumber) ilə başlayır; // SongNumber dəyərini analogWrite LCD ekran lövhəsinə yazdırın (13, 0); // sıfırlayın və D13 dəyərini 0 analogWrite (12, 0) olaraq yazın; // sıfırlayın və D12 dəyərini 0 analogWrite (11, 0) olaraq yazın; // sıfırlayın və D11 -in dəyərini 0 analogWrite (7, 0) olaraq yazın; // sıfırlayın və D7 dəyərini 0 analogWrite (6, 0) olaraq yazın; // sıfırlayın və D6 dəyərini 0 analogWrite (5, 0) olaraq yazın; // sıfırla və D5 dəyərini 0 olaraq yaz dəyişən SongNumber 18-20 gecikmədir (60000); // oyunçuların xalq musiqisini dinləməsi üçün 60000 millisaniyə gözləyin (60 saniyə; 1 dəq) əgər (digitalRead (1)) {// Okeaniya düyməsinə analogWrite (13, 0) basılarsa; // analogD13 dəyərini 0 analogWrite olaraq yazın (12, 255); // analogD12 -nin dəyərini 255 analogWrite (11, 0) olaraq yazın; // analogD11 -in dəyərini 0 analogWrite (7, 0) olaraq yazın; // analogD7 -nin dəyərini 0 analogWrite olaraq yazın (6, 255); // analogWrite D6 255 analogWrite (5, 0) dəyərini yazın; // analogD5 -in dəyərini 0} olaraq yazın // bütün RGB LEDləri başqa yaşıl rəngdə parlayacaq {// Okeaniya düyməsinə basmasanız analogWrite (13, 255); // analogD13 dəyərini 255 analogWrite (12, 0) olaraq yazın; // analogD12 -nin dəyərini 0 analogWrite (11, 0) olaraq yazın; // analogD11 -in dəyərini 0 analogWrite olaraq yazın (7, 255); // analogD7 -nin dəyərini 255 analogWrite (6, 0) olaraq yazın; // analogD6 dəyərini 0 analogWrite (5, 0) olaraq yazın; // analogD5 -in dəyərini 0} olaraq yazın // bütün RGB LED -ləri qırmızı rəngdə parlayacaq} // SongNumber 18 -dən 20 -dək düzgün cavablar hamısı Okeaniya olduğundan, bu "əgər döngə" oyunçunun cavabının doğru olub -olmamasına daxil olur lcd_I2C_27.clear () deyil; // LCD ekran lövhəsinin gecikməsini silin (1000); // 1000 milisaniyə gözləyin (1 saniyə)}}
Addım 6: Cihazı bitirmək
- Karton qutunu açın və əvvəllər qurulmuş sxemlərə qoyun (bütün elementlər daxil olmaqla, məsələn: üç çörək taxtası, Arduino lövhəsi, portativ şarj cihazı)
-
Qutunun üstündəki koda və izlənilən kontinental hissələrə istinad edərək, düymələri müvafiq mövqelərinin hər birinə daxil edin.
*Hansı pin düyməsinin hansı qitə üçün olmasını təmin etmək üçün kodların arxasındakı yan qeydlərə müraciət edə bilərsiniz*
- İki "funksiya düyməsini" (D10-un xəritəsi və D9-un tapmaca oyunu) qutunun sağ tərəfindəki kəsik hissələrinin hər birinə doldurun.
- LCD ekran lövhəsini qutunun sağ tərəfindəki kəsilmiş hissəsinə quraşdırın
- Qutunu açın və bütün tellərin lövhələrə düzgün bir şəkildə bağlandığından əmin olun
- Taxta lövhənin təməlini iki tərəfli lent istifadə edərək qutunun yuxarı hissəsinə yapışdırın (düymələrin taxta lövhələrin kəsilmiş hissəsinə tam oturması üçün düzgün hizalandığınızdan əmin olun)
- Kiçik bölgə hissələrini doldurmaq üçün isti yapışqan tabancasından istifadə edin (əsas qitələr deyil)
Addım 7: BİTDİN !!!!
Tapmaca oyunu üçün test siyahısının linkinə daxil olun!
Tövsiyə:
Collorfull LED Dekorasiya: 9 Addım (Şəkillərlə birlikdə)
Rəngli LED Dekorasiya: Bir müddət ağlımda belə bir fikir var idi, amma boş vaxtım olmadı və həyata keçirmək üçün lazım olan bütün materiallar indi nəhayət hazırlanır
Musiqi montajçısı: Blok tipli sensor sensorlu inteqrasiya olunmuş virtual musiqi aləti: 4 addım
Musiqi Assembler: Blok Tipli Sensorlu İnteqrasiya edilmiş Virtual Musiqi Aləti: Musiqi alətində çalmağı öyrənmək istəyən bir çox insan var. Təəssüf ki, bəziləri alətlərin yüksək qiymətinə görə başlamırlar. Buna əsaslanaraq, başlanğıc büdcəsini azaltmaq üçün inteqrasiya olunmuş virtual musiqi alətləri sistemi yaratmağa qərar verdik
WS2812 LED Şeritləri ilə Clemson Tiger Paw Dekorasiya Arxa işıqlı: 5 addım (şəkillərlə)
Clemson Tiger Paw Dekorasiya WS2812 LED Şeritləri ilə Arxadan işıqlandırılır: Cattonun Watt mərkəzindəki makerində lazer kəsici var və onu yaxşı istifadə etmək istədim. Arxa işıqlı bir pələng pəncəsi düzəltməyin yaxşı olacağını düşündüm, amma kənar işıqlı akril ilə bir şey etmək istədim. Bu layihə hər ikisinin birləşməsidir
Optik Fiber Dekorasiya Lampası: 11 Addım
Optik Fiber Dekorasiya Lampası: hii bu dekorativ lampanı gələcəkdə mümkün layihələr üçün ebayda aldığım bəzi optik lifdən hazırladı və nəhayət ondan bir şey edə bildim
Musiqi Reaktiv İşıq -- Masaüstünü Möhtəşəm etmək üçün Super Sadə Musiqi Reaktiv İşıq Necə Hazırlanır: 5 Addım (Şəkillərlə)
Musiqi Reaktiv İşıq || Masaüstü Awsome etmək üçün Super Sadə Musiqi Reaktiv İşıq Necə Hazırlanır: Salam uşaqlar, bu gün çox maraqlı bir layihə hazırlayacağıq.Bu gün biz reaktiv musiqi yaradacağıq. Led parlaqlığını dəyişəcək. əslində aşağı tezlikli səs siqnalı olan bas. Qurmaq çox sadədir, biz