Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Memutar Musik Dengan Remote Anda

Komponen dan persediaan

Arduino UNO
× 1
Remote control
× 1
Penerima IR (generik)
× 1
Buzzer
× 1
Adafruit LCD Standar - 16x2 Putih di Atas Biru
× 1
Potensiometer putar (generik)
× 1
Resistor 221 ohm
× 1

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

Halo komunitas Hackster!

Saya Simone Adobs dan ini adalah proyek kedua saya yang saya rilis di situs ini.

Logika proyek ini sangat sederhana:

  • Ambil Remote Controller Anda dan pilih melodi yang ingin Anda mainkan;
  • Arduino dengan Buzzer akan memainkan melodi;
  • Pada Layar LCD Anda dapat melihat not musik dimainkan.

Beberapa penjelasan kode:

Ini adalah contoh melodi, semua melodi ditulis dengan cara ini:

void melodi_example() { lcd.clear(); lcd.setCursor(0,0); lcd.print("Judul Lagu"); penundaan (1000); lcd.clear(); nota_mi(durasi,jeda); //notasi musik nota_do(durasi,jeda); //catatan musik lcd.clear(); penundaan(100); Setel Ulang_AVR(); //Perintah ini digunakan untuk mereset Arduino tanpa menekan tombol apapun} 

Untuk menggunakan perintah "Reset_AVR()" Anda harus meletakkan kode ini di atas sketsa:

#include  #include  #define Reset_AVR() wdt_enable(WDTO_30MS); while(1) {} 

Beginilah cara Arduino memahami melodi mana yang harus dimainkan:

if (result==12495) { //12495 adalah kode yang dikirim oleh Remote saya saat Anda menekan tombol 1 melody_1(); } else if (hasil==6375) { //6375 adalah kode tombol 2 melodi_2(); } else if (hasil==31365) { //31365 adalah kode tombol 3 melodi_3(); } else if (hasil==4335) { //4335 adalah kode tombol 4 melodi_4(); } } 
void nota_example(int durasi, int pause) { shut(); // Perintah ini memanggil fungsi yang akan saya jelaskan di bawah lcd.setCursor(0, 0); lcd.print("Contoh"); //Cetak nama not musik NewTone(11,262,durasi); //11->Pin Buzzer - 262->penundaan kode catatan(jeda); //tunggu beberapa milidetik}  

Apakah Anda ingin menghentikan melodi saat sedang diputar?

Tidak masalah, berkat fungsi "shut()" Anda dapat menghentikan melodi kapan pun Anda mau.

Ini adalah Fungsi "shut()":

void shut() { if (irrecv.decode(&results)) { //Menerima kode dari tombol yang ditekan result=results.value, HEX; //Simpan kode yang diterima Serial.println(result); if (result==-23971) { //-23971 pada Remote saya mewakili tombol shutdown Reset_AVR(); //Reset Arduino } } irrecv.resume(); //Memungkinkan Arduino untuk menerima kode baru dari Remote}  

Saya harap Anda akan menyukai proyek ini dan jika ya, coba lihat proyek saya sebelumnya.

Semoga harimu menyenangkan..

Simone dari Italia <3

Kode

  • Mainkan Melodi
Mainkan MelodiC/C++
Salin kode ini di Arduino IDE
#include #include #include #include #include #define Reset_AVR() wdt_enable(WDTO_30MS); while(1) {} #define buzzer 11 LiquidCrystal lcd(9, 8, 7, 6, 5, 4);int result;int RECV_PIN=2;IRrecv irrecv(RECV_PIN);hasil decode_results; void setup() { Serial.begin(9600); lcd.begin(16,2); lcd.setCursor(0,0); lcd.print("-----Pilih-----"); lcd.setCursor(0,1); lcd.print("----Lagu!!----"); pinMode(buzzer, OUTPUT); irrecv.enableIRIn();} void loop() { if (irrecv.decode(&results)) { result=results.value, HEX; Serial.println(hasil); if (hasil==12495) { ode(); } else if (hasil==6375) { london(); } else if (hasil==31365) { bulu(); } else if (hasil==4335) { bajak laut(); } irrecv.resume(); } delay(100);} void bulu() { lcd.clear(); lcd.setCursor(0,0); lcd.print("Bulu Elise"); penundaan (1000); lcd.clear(); nota_mi(150.200); nota_rez(150.200); nota_mi(150.200); nota_rez(150.200); nota_mi(150.200); nota_si(150.200); nota_rez(150.200); nota_do(150.200); nota_la(450.300); nota_do(150.200); nota_mi(150.200); nota_la(150.200); nota_si(450.300); nota_mi(150.200); nota_solz(150.200); nota_si(150.200); nota_do(450.300); nota_mi(150.200); nota_mi(150.200); nota_rez(150.200); nota_mi(150.200); nota_rez(150.200); nota_mi(150.200); nota_si(150.200); nota_rez(150.200); nota_do(150.200); nota_la(450.300); nota_do(150.200); nota_mi(150.200); nota_la(150.200); nota_sol(450.300); nota_mi(150.200); nota_do(150.200); nota_si(150.200); nota_la(600.800); nota_mi(150.200); nota_rez(150.200); nota_mi(150.200); nota_rez(150.200); nota_mi(150.200); nota_si(150.200); nota_rez(150.200); nota_do(150.200); nota_la(450.300); nota_do(150.200); nota_mi(150.200); nota_la(150.200); nota_si(450.300); nota_mi(150.200); nota_solz(150.200); nota_si(150.200); nota_do(450.300); lcd.clear(); penundaan(100); Reset_AVR();}tidak berlaku london() { lcd.clear(); lcd.setCursor(0,0); lcd.print("Jembatan London"); lcd.setCursor(0,1); lcd.print("Terjatuh"); penundaan (1000); lcd.clear(); nota_sol(450.600); nota_la(150.200); nota_sol(300.400); nota_fa(300.400); nota_mi(300.400); nota_fa(300.400); nota_sol(600.800); nota_re(300.400); nota_mi(300.400); nota_fa(600.800); nota_mi(300.400); nota_fa(300.400); nota_sol(600.800); nota_sol(450.600); nota_la(150.200); nota_sol(300.400); nota_fa(300.400); nota_mi(300.400); nota_fa(300.400); nota_sol(600.800); nota_re(600.800); nota_sol(600.800); nota_mi(300.400); nota_do(450.600); lcd.clear(); penundaan(100); Reset_AVR();}void ode() { lcd.clear(); lcd.setCursor(0,0); lcd.print("Bersyukurlah"); penundaan (1000); lcd.clear(); nota_mi(300.400); nota_mi(300.400); nota_fa(300.400); nota_sol(300.400); nota_sol(300.400); nota_fa(300.400); nota_mi(300.400); nota_re(300.400); nota_do(300.400); nota_do(300.400); nota_re(300.400); nota_mi(300.400); nota_mi(450.600); nota_re(150.200); nota_re(600.800); nota_mi(300.400); nota_mi(300.400); nota_fa(300.400); nota_sol(300.400); nota_sol(300.400); nota_fa(300.400); nota_mi(300.400); nota_re(300.400); nota_do(300.400); nota_do(300.400); nota_re(300.400); nota_mi(300.400); nota_re(450.600); nota_do(150.200); nota_do(600.800); nota_re(300.400); nota_re(300.400); nota_mi(300.400); nota_do(300.400); nota_re(300.400); nota_mi(150.200); nota_fa(150.200); nota_mi(300.400); nota_do(300.400); nota_re(300.400); nota_mi(150.200); nota_fa(150.200); nota_mi(300.400); nota_re(300.400); nota_do(300.400); nota_re(300.400); nota_sol(600.800); nota_mi(300.400); nota_mi(300.400); nota_fa(300.400); nota_sol(300.400); nota_sol(300.400); nota_fa(300.400); nota_mi(300.400); nota_re(300.400); nota_do(300.400); nota_do(300.400); nota_re(300.400); nota_mi(300.400); nota_re(450.600); nota_do(150.200); nota_do(600.800); lcd.clear(); penundaan(100); Reset_AVR();}batalkan bajak laut() { lcd.clear(); lcd.setCursor(0,0); lcd.print("Dia Bajak Laut"); penundaan (1000); lcd.clear(); nota_mi(150.200); nota_sol(150.200); nota_la(300.400); nota_la(300.400); nota_la(150.200); nota_si(150.200); nota_do(300.400); nota_do(300.400); nota_do(150.200); nota_re(150.200); nota_si(300.400); nota_si(300.400); nota_la(150.200); nota_sol(150.200); nota_sol(150.200); nota_la(450.600); nota_mi(150.200); nota_sol(150.200); nota_la(300.400); nota_la(300.400); nota_la(150.200); nota_si(150.200); nota_do(300.400); nota_do(300.400); nota_do(150.200); nota_re(150.200); nota_si(300.400); nota_si(300.400); nota_la(150.200); nota_sol(150.200); nota_la(300.400); penundaan (400); nota_mi(150.200); nota_sol(150.200); nota_la(300.400); nota_la(300.400); nota_la(150.200); nota_do(150.200); nota_re(300.400); nota_re(300.400); nota_re(150.200); nota_mi(150.200); nota_fa(300.400); nota_fa(300.400); nota_mi(150.200); nota_re(150.200); nota_mi(150.200); nota_la(450.600); nota_la(150.200); nota_si(150.200); nota_do(300.400); nota_do(300.400); nota_re(300.400); nota_mi(150.200); nota_la(450.600); nota_la(150.200); nota_do(150.200); nota_si(300.400); nota_si(300.400); nota_do(150.200); nota_la(150.200); nota_si(900.1200); nota_si(300.400); nota_si(300.400); nota_do(150.200); nota_la(150.200); nota_si(900.1200); nota_si(300.400); nota_si(300.400); nota_la(150.200); nota_sol(150.200); nota_la(600.800); lcd.clear(); penundaan(100); Reset_AVR();}void shut() { if (irrecv.decode(&results)) { result=results.value, HEX; Serial.println(hasil); if (hasil==-23971) { Reset_AVR(); } } irrecv.resume();}void nota_do(int durasi, int jeda) { shut(); lcd.setCursor(0, 0); lcd.print("Lakukan "); Nada Baru(11,262,durasi); // LAKUKAN penundaan(jeda); }void nota_doz(int durasi, int jeda) { tutup(); lcd.setCursor(0, 0); lcd.print("Lakukan # "); Nada Baru(11,277,durasi); // LAKUKAN penundaan(jeda); }void nota_re(int durasi, int jeda) { tutup; lcd.setCursor(0, 0); lcd.print("Re"); Nada Baru (11.294, durasi); //RE penundaan(jeda); }void nota_rez(int durasi, int jeda) { tutup; lcd.setCursor(0, 0); lcd.print("Ulang#"); Nada Baru(11,311, durasi); //RE penundaan(jeda); }void nota_mi(int durasi, int pause) { tutup(); lcd.setCursor(0, 0); lcd.print("Mi"); Nada Baru (11.330, durasi); //penundaan MI(jeda); }void nota_fa(int durasi, int jeda) { tutup(); lcd.setCursor(0, 0); lcd.print("Fa"); Nada Baru(11.349,durasi); //penundaan FA(jeda); }void nota_faz(int durasi, int jeda) { tutup(); lcd.setCursor(0, 0); lcd.print("Fa#"); Nada Baru (11.370, durasi); //penundaan FA(jeda); }void nota_sol(int durasi, int jeda) { tutup(); lcd.setCursor(0, 0); lcd.print("Sol"); Nada Baru(11,392,durasi); //penundaan SOL(jeda); }void nota_solz(int durasi, int jeda) { tutup(); lcd.setCursor(0, 0); lcd.print("Sol#"); Nada Baru(11.415,durasi); //penundaan SOL(jeda); }void nota_la(int durasi, int jeda) { tutup(); lcd.setCursor(0, 0); lcd.print("La"); Nada Baru(11,440,durasi); //LA penundaan(jeda); } void nota_laz(int durasi, int jeda) { tutup(); lcd.setCursor(0, 0); lcd.print("La#"); Nada Baru(11.466,durasi); //LA penundaan(jeda); }void nota_si(int durasi, int jeda) { tutup(); lcd.setCursor(0, 0); lcd.print("Si"); Nada Baru(11,494, durasi); //penundaan SI(jeda); }

Skema

canzoni_con_tastiera_fQS3978roa.fzz

Proses manufaktur

  1. Menggunakan IR Remote dengan Raspberry Pi tanpa LIRC
  2. Game Arduino Gyroscope dengan MPU-6050
  3. Kamera Keamanan Discord dengan ESP32
  4. Arduino Digital Dice
  5. Game Roulette LED 37 DIY
  6. Remote Control TV Bertenaga Baterai dengan Casing Cetakan 3D
  7. Ketahui Suhu Rumah Anda Dari Mana Saja dengan Arduino Cloud!
  8. ATtiny85 Mini Arcade:Ular
  9. Detektor Jangkauan Portabel
  10. Kontrol LED Anda dengan Cortana