İçindekiler:

Arduino Doğum Günü Pastası: 4 Adım
Arduino Doğum Günü Pastası: 4 Adım

Video: Arduino Doğum Günü Pastası: 4 Adım

Video: Arduino Doğum Günü Pastası: 4 Adım
Video: HAZIR ALMAYIN, EVDE YAPILACAK EN KOLAY DOĞUM GÜNÜ PASTASI😍 TAM ÖLÇÜLÜ ÇİKOLATALI YAŞ PASTA TARİFİ 2024, Aralık
Anonim

Bu derste çok basit ve basit bir arduino projesi yapacağım: bir doğum günü pastası!

Arduino'daki UTFT ekran koruyucusunda bir doğum günü pastası görüntülenir ve bir hoparlör "Mutlu yıllar" müziğini çalar.

Mikrofona üflediğinizde mumlar söner.

Adım 1: Malzemeler

Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler
Malzemeler

Bu basit proje için ihtiyacınız olacak:

- bir arduino MEGA

- bir hoparlör veya zil

- bir mikrofon modülü

- bir UTFT ekran arduino kalkanı

Bu proje için iki nedenden dolayı bir arduino MEGA kartı kullanmaya karar verdim: çok fazla hafızası ve çok fazla pini var.

Bu proje için bir arduino UNO kullanamazsınız, çünkü UTFT ekranı takıldığında tüm pinler gizlenir (mikrofon ve hoparlör için daha fazla kullanılabilir değildir) ve yeterli belleğe sahip değildir (UTFT kitaplığı çok büyük).

Adım 2: Kablolama

kablolama
kablolama
kablolama
kablolama
kablolama
kablolama
kablolama
kablolama

Hoparlör, arduino'nun D40 ve GND pinlerine takılır.

Mikrofon, GND ("G"), 5V ("+") ve A10 ("A0") pinlerine takılır.

UTFT ekranı normal bir kalkan gibi takılır.

UTFT ekran koruyucu, arduino MEGA ile tam uyumlu değil: arduino kartının USB fişi çok büyük

Bu sorunu çözmek için UTFT ekranını başka bir arduino kalkanına (daha uzun pinli) taktım, sonra ikisini de arduinoya taktım.

3. Adım: Mikrofonu Kalibre Edin

Mikrofonu Kalibre Et
Mikrofonu Kalibre Et
Mikrofonu Kalibre Et
Mikrofonu Kalibre Et

Mikrofonu kalibre etmek için bir tornavidaya ve bilgisayarınıza ihtiyacınız olacak.

İlk önce, aşağıdaki kodu arduino'nuza yükleyin:

int değer = 0;

geçersiz kurulum() { Serial.begin(9600); } geçersiz döngü() { val = analogRead(10); Seri.println(val); gecikme(100); }

Ardından seri monitöre gidin ve ses olmadığında tornavida ile potansiyometreyi çevirerek mikrofonu kalibre edin, değer yaklaşık 30~40 olmalıdır.

Mikrofona üflediğinizde değer 100'den büyük olmalıdır.

Konuşurken (yüksek sesle bile olsa) değerin 100'den küçük olduğundan emin olun.

Adım 4: Kod

İşte projenin kodu.

UTFT'de mumlu bir doğum günü pastası görüntüler ve hoparlörle "Doğum günün kutlu olsun" çalar. Kek dikdörtgenlerle yapılır.

Bu program UTFT kitaplığını gerektirir.

#Dahil etmek

harici uint8_t BigFont; //bu değerleri ekran modelinize göre değiştirin UTFT myGLCD(ITDB28, A5, A4, A3, A2); int melodi= {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 notDurations = {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 değer = 0; geçersiz kurulum() { myGLCD. InitLCD(); myGLCD.setFont(BigFont); myGLCD.fillScr(20, 200, 150); //mavi arka plan myGLCD.setColor(200, 125, 50); //kahverengi kek myGLCD.fillRect(100, 90, 220, 160); myGLCD.setColor(255, 255, 255); //beyaz buzlanma myGLCD.fillRect(100, 90, 220, 105); myGLCD.setColor(255, 50, 50); //kırmızı çizgiler myGLCD.fillRect(100, 120, 220, 123); myGLCD.fillRect(100, 140, 220, 143); myGLCD.setColor(255, 255, 0); //sarı satır myGLCD.fillRect(100, 130, 220, 133); myGLCD.setColor(255, 170, 255); //pembe mumlar myGLCD.fillRect(128, 70, 132, 90); myGLCD.fillRect(158, 70, 162, 90); myGLCD.fillRect(188, 70, 192, 90); myGLCD.setColor(255, 255, 0); // mumların ateş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 kutlu olsun mesajı myGLCD.print("DOĞUM GÜNÜNÜZ KUTLU OLSUN!", MERKEZ, 200); for (int thisNote = 0; thisNote 100) { myGLCD.setColor(20, 200, 150); // mumları kapatır myGLCD.fillCircle(130, 62, 5); myGLCD.fillCircle(160, 62, 5); myGLCD.fillCircle(190, 62, 5); myGLCD.setColor(255, 255, 255); //ve "tebrikler" mesajını görüntüler myGLCD.print("TEBRİKLER!!!", MERKEZ, 10); gecikme (10000); myGLCD.clrScr(); //10sn sonra ekranı temizle } }

Önerilen: