Mündəricat:

Arduino Ad günü tortu: 4 addım
Arduino Ad günü tortu: 4 addım

Video: Arduino Ad günü tortu: 4 addım

Video: Arduino Ad günü tortu: 4 addım
Video: REAL RACING 3 LEAD FOOT EDITION 2024, Iyul
Anonim

Bu təlimatda çox sadə və sadə bir arduino layihəsi hazırlayacağam: doğum günü tortu!

Bir ad günü tortu, arduino üzərindəki UTFT ekran qalxanında göstərilir və bir natiq "Happy birthday" musiqisini səsləndirir.

Mikrofonu vurduqda şamlar sönür.

Addım 1: Materiallar

Materiallar
Materiallar
Materiallar
Materiallar
Materiallar
Materiallar
Materiallar
Materiallar

Bu sadə layihə üçün sizə lazım olacaq:

- MEGA arduino

- dinamik və ya səs siqnalı

- mikrofon modulu

- UTFT ekranlı arduino qalxanı

Bu layihə üçün iki səbəbdən arduino MEGA lövhəsini istifadə etmək qərarına gəldim: çox yaddaşa və çoxlu pinlərə malikdir.

Bu layihə üçün bir arduino UNO istifadə edə bilməzsiniz, çünki UTFT ekranı bağlandıqda bütün sancaqlar gizlənir (mikrofon və dinamik üçün artıq yoxdur) və kifayət qədər yaddaşı yoxdur (UTFT kitabxanası çox böyük).

Addım 2: Kabel çəkmə

Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama
Kablolama

Dinamik arduinonun D40 və GND sancaqlarına bağlanır.

Mikrofon GND ("G"), 5V ("+") və A10 ("A0") pinlərinə bağlanır.

UTFT ekranı adi bir qalxan kimi bağlanır.

UTFT ekran qalxanı arduino MEGA ilə tam uyğun gəlmir: arduino lövhəsinin USB fişi çox böyükdür

Bu problemi həll etmək üçün UTFT ekranını başqa bir arduino qalxanına bağladım (daha uzun sancaqlar ilə), sonra hər ikisini arduinoya bağladım.

Addım 3: Mikrofonu kalibr edin

Mikrofonu kalibr edin
Mikrofonu kalibr edin
Mikrofonu kalibr edin
Mikrofonu kalibr edin

Mikrofonu kalibrləmək üçün bir tornavida və kompüterinizə ehtiyacınız olacaq.

Əvvəlcə aşağıdakı kodu arduino -ya yükləyin:

int val = 0;

void setup () {Serial.begin (9600); } void loop () {val = analogRead (10); Serial.println (val); gecikmə (100); }

Sonra serial monitoruna gedin və səs çıxmadıqda potensialiometrini tornavida ilə çevirərək mikrofonu kalibr edin, dəyər təxminən 30 ~ 40 olmalıdır.

Mikrofonu vurduqda, dəyər 100 -dən yüksək olmalıdır.

Danışarkən (hətta yüksək səslə) dəyərin 100 -dən kiçik olduğundan əmin olun.

Addım 4: Kod

Budur layihənin kodu.

UTFT -də şamlar olan bir ad günü tortu göstərilir və dinamiklə birlikdə "Xoşbəxt doğum günü" oynayır. Tort düzbucaqlılardan hazırlanır.

Bu proqram UTFT kitabxanasını tələb edir.

#daxil edin

xarici uint8_t BigFont ; // bu modelləri UTFT myGLCD ekran modelinizə uyğun olaraq dəyişdirin (ITDB28, A5, A4, A3, A2); int melodiyası = {196, 196, 220, 196, 262, 247, 196, 196, 220, 196, 294, 262, 196, 196, 392, 330, 262, 247, 220, 349, 349, 330, 262, 294, 262}; int noteDurations = {8, 8, 4, 4, 4, 2, 8, 8, 4, 4, 4, 2, 8, 8, 4, 4, 4, 4, 3, 8, 8, 4, 4, 4, 2}; int val = 0; void setup () {myGLCD. InitLCD (); myGLCD.setFont (BigFont); myGLCD.fillScr (20, 200, 150); // mavi fon myGLCD.setColor (200, 125, 50); // qəhvəyi tort myGLCD.fillRect (100, 90, 220, 160); myGLCD.setColor (255, 255, 255); // ağ buzlanma myGLCD.fillRect (100, 90, 220, 105); myGLCD.setColor (255, 50, 50); // qırmızı xətlər myGLCD.fillRect (100, 120, 220, 123); myGLCD.fillRect (100, 140, 220, 143); myGLCD.setColor (255, 255, 0); // sarı xətt myGLCD.fillRect (100, 130, 220, 133); myGLCD.setColor (255, 170, 255); // çəhrayı şamlar myGLCD.fillRect (128, 70, 132, 90); myGLCD.fillRect (158, 70, 162, 90); myGLCD.fillRect (188, 70, 192, 90); myGLCD.setColor (255, 255, 0); // şamların atəşi myGLCD.fillCircle (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (0, 255, 0); // doğum günün mübarək myGLCD.print ("HAPPY BIRTHDAY!", CENTER, 200); for (int thisNote = 0; thisNote 100) {myGLCD.setColor (20, 200, 150); // myGLCD.fillCircle şamlarını söndürür (130, 62, 5); myGLCD.fillCircle (160, 62, 5); myGLCD.fillCircle (190, 62, 5); myGLCD.setColor (255, 255, 255); // və "təbriklər" mesajını göstərir myGLCD.print ("TEBRİKLER !!!", MƏRKƏZ, 10); gecikmə (10000); myGLCD.clrScr (); // 10 saniyədən sonra ekranı təmizləyin}}

Tövsiyə: