Daftar Isi:

Kue Ulang Tahun Arduino: 4 Langkah
Kue Ulang Tahun Arduino: 4 Langkah

Video: Kue Ulang Tahun Arduino: 4 Langkah

Video: Kue Ulang Tahun Arduino: 4 Langkah
Video: Birthday cake ๐ŸŽ‚ with Arduino 2024, Juli
Anonim

Dalam instruksi ini, saya akan membuat proyek arduino yang sangat sederhana dan mendasar: kue ulang tahun!

Kue ulang tahun ditampilkan pada pelindung layar UTFT pada arduino dan speaker memainkan musik "Selamat ulang tahun".

Saat Anda meniup mikrofon, lilin padam.

Langkah 1: Bahan

Bahan
Bahan
Bahan
Bahan
Bahan
Bahan
Bahan
Bahan

Untuk proyek sederhana ini, Anda memerlukan:

- sebuah arduino MEGA

- pengeras suara atau bel

- modul mikrofon

- pelindung arduino layar UTFT

Saya memutuskan untuk menggunakan papan arduino MEGA untuk proyek ini karena dua alasan: ia memiliki banyak memori dan memiliki banyak pin.

Anda tidak dapat menggunakan arduino UNO untuk proyek ini, karena ketika layar UTFT dicolokkan, semua pin disembunyikan (tidak ada lagi yang tersedia untuk mikrofon dan speaker), dan tidak memiliki cukup memori (perpustakaan UTFT adalah sangat besar).

Langkah 2: Pengkabelan

Pengkabelan
Pengkabelan
Pengkabelan
Pengkabelan
Pengkabelan
Pengkabelan
Pengkabelan
Pengkabelan

Speaker dihubungkan pada pin D40 dan GND dari arduino.

Mikrofon dipasang pada pin GND ("G"), 5V ("+") dan A10 ("A0").

Layar UTFT dicolokkan seperti pelindung biasa.

Pelindung layar UTFT tidak sepenuhnya kompatibel dengan arduino MEGA: colokan USB papan arduino terlalu besar

Untuk memperbaiki masalah ini, saya mencolokkan layar UTFT pada pelindung arduino lain (dengan pin yang lebih panjang), lalu saya mencolokkan keduanya pada arduino.

Langkah 3: Kalibrasi Mikrofon

Kalibrasi Mikrofon
Kalibrasi Mikrofon
Kalibrasi Mikrofon
Kalibrasi Mikrofon

Untuk mengkalibrasi mikrofon, Anda memerlukan obeng dan komputer.

Pertama, unggah kode berikut ke arduino Anda:

int nilai = 0;

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

Kemudian pergi ke monitor serial dan kalibrasi mikrofon dengan memutar potensiometer dengan obeng ketika tidak ada suara, nilainya harus sekitar 30~40.

Saat Anda meniup mikrofon, nilainya harus lebih tinggi dari 100.

Pastikan nilainya lebih kecil dari 100 saat Anda berbicara (bahkan keras).

Langkah 4: Kode

Berikut kode proyeknya.

Ini menampilkan kue ulang tahun dengan lilin di UTFT dan memainkan "Selamat ulang tahun" dengan pembicara. Kue dibuat dengan persegi panjang.

Program ini membutuhkan perpustakaan UTFT.

#termasuk

extern uint8_t BigFont; //ubah nilai ini sesuai dengan model layar Anda 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 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 nilai = 0; void setup() { myGLCD. InitLCD(); myGLCD.setFont(BigFont); myGLCD.fillScr(20, 200, 150); //latar belakang biru myGLCD.setColor(200, 125, 50); //kue coklat myGLCD.fillRect(100, 90, 220, 160); myGLCD.setColor(255, 255, 255); //white icing myGLCD.fillRect(100, 90, 220, 105); myGLCD.setColor(255, 50, 50); //garis merah myGLCD.fillRect(100, 120, 220, 123); myGLCD.fillRect(100, 140, 220, 143); myGLCD.setColor(255, 255, 0); //garis kuning myGLCD.fillRect(100, 130, 220, 133); myGLCD.setColor(255, 170, 255); //lilin merah muda myGLCD.fillRect(128, 70, 132, 90); myGLCD.fillRect(158, 70, 162, 90); myGLCD.fillRect(188, 70, 192, 90); myGLCD.setColor(255, 255, 0); //api lilin myGLCD.fillCircle(130, 62, 5); myGLCD.fillCircle(160, 62, 5); myGLCD.fillCircle(190, 62, 5); myGLCD.setColor(0, 255, 0); //pesan selamat ulang tahun myGLCD.print("SELAMAT ULANG TAHUN !", CENTER, 200); for (int thisNote = 0; thisNote 100) { myGLCD.setColor(20, 200, 150); //mematikan lilin myGLCD.fillCircle(130, 62, 5); myGLCD.fillCircle(160, 62, 5); myGLCD.fillCircle(190, 62, 5); myGLCD.setColor(255, 255, 255); //dan menampilkan pesan "selamat" myGLCD.print("SELAMAT !!!", CENTER, 10); penundaan (10000); myGLCD.clrScr(); //hapus layar setelah 10 detik } }

Direkomendasikan: