Oke pada artikel ini saya akan membahas tentang bagaimana kita bisa membuat sebuah jam digital yang informasi waktu nya di infokan dengan cara menyebutkan waktu.
Jadi seolah olah jam yang akan kita buat ini bisa berbicara.
Artikel ini saya buat setelah project menyalakan motor dengan sidik jari saya selesai. Karena project tersebut sudah selesai dan berfungsi dengan baik, akhirnya saya lanjutkan untuk membuat alat jam digital berbicara sesuai dengan janji saya sebelum nya.
Jangan kawatir, dalam pembuatan alat ini kita hanya akan menggunakan sedikit komponen untuk menekan biaya perakitan nya 😀
Saya usahakan dalam proses pembuatan coding dan merangkai alat ini, dilakukan sesederhana mungkin agar dapat berfungsi seminimal mungkin sesuai dengan judul lah.
Cara Kerja Alat
Cara kerja alat yang akan dibuat ini adalah, alat akan menyebutkan waktu terbaru saat sebuah tombol sudah ditekan oleh pengguna. Jadi jika tombol belum ditekan maka informasi waktu tidak akan dapat kita peroleh.
Untuk sistem penyebutan waktunya saya akan buat dengan format 12jam yang artinya saat waktu menunjukkan pukul 20:00 maka akan disebutkan jam 8:00. Sistem pembulatan waktu juga akan saya terapkan dalam project ini seperti jika waktu telah menujukkan pukul 8:55 maka jam akan mengatakan bahwa waktu saat itu menunjukkan pukul 9 kurang 5 menit.
Alat dan Bahan yang Diperlukan
- Arduino Uno + Protoshield
- Module RTC
- Tactile Switch (tombol)
- Modul DFPlayer
- Kabel jumper
- Speaker
Gambar Rangkaian
[ads1]
Untuk kalian yang menggunakan protoshield tentu saja tidak usah menambahkan breadboard lagi. Tapi untuk kalian yang menggunakan breadboard, kalian bisa ikuti rangkaian seperti pada gambar.
Coding Arduino dan Penjelasan
[sociallocker id=2480]
#include<Wire.h> #include"RTClib.h" #include<SoftwareSerial.h> #include<DFPlayer_Mini_Mp3.h> SoftwareSerial mySerial(4,3);//pin untuk modul DFPlayer RTC_DS1307 RTC; int jam=0; int menit=0; int tekan=2; void setup(){ pinMode(tekan,INPUT_PULLUP); mySerial.begin(9600); mp3_set_serial(mySerial); mp3_set_volume(25);//segini aja uda keras Wire.begin(); RTC.begin(); RTC.adjust(DateTime(__DATE__, __TIME__)); //menggunakan waktu saat compiling, hapus kalau rtc sudah diset waktu. dan upload ulang } void loop(){ boolean tombol=digitalRead(tekan); if(!tombol){//jika tombol ditekan DateTime now=RTC.now();//ngambil data waktu jam=now.hour(),DEC;//data jam disimpan di variable jam if(jam>12){ jam-=12; } else if(jam==0)jam=12; menit=now.minute(),DEC;//data menit disimpan di variable menit mp3_play(60); //memutar file mp3 dengan nama 60 delay(2500); if(menit>45) lebih=true;//pembulatan pemanggil waktu else lebih=false; if(lebih){ jam+=1; if(jam>12)jam-=12;//mode jam 12 hour baca(jam); mp3_play(80); delay(800); baca(60-menit); } else{ baca(jam); mp3_play(90); delay(800); baca(menit); } mp3_play(70); } delay(100); } void baca(int angka){//dari sini mulai algoritma angka ke bilangan terbilang if(angka>9)puluhan(angka); else if(angka>0)satuan(angka); } void puluhan(int angka){ int tmp1,tmp2; tmp1=angka/10; tmp2=angka%10; switch(tmp1){ case 1:{ if(tmp2==0) mp3_play (10); else if(tmp2==1) mp3_play (11); else if(tmp2==2) mp3_play (12); else if(tmp2==3) mp3_play (13); else if(tmp2==4) mp3_play (14); else if(tmp2==5) mp3_play (15); else if(tmp2==6) mp3_play (16); else if(tmp2==7) mp3_play (17); else if(tmp2==8) mp3_play (18); else if(tmp2==9) mp3_play (19); break; } case 2:mp3_play (20);break; case 3:mp3_play (30);break; case 4:mp3_play (40);break; case 5:mp3_play (50);break; } delay(1300); if(tmp2>0&&angka>19)satuan(tmp2); } void satuan(int angka){ switch(angka){ case 1: mp3_play (1);break; case 2: mp3_play (2);break; case 3: mp3_play (3);break; case 4: mp3_play (4);break; case 5: mp3_play (5);break; case 6: mp3_play (6);break; case 7: mp3_play (7);break; case 8: mp3_play (8);break; case 9: mp3_play (9);break; } delay(700); }
[/sociallocker]
Nah jangan lupa untuk melengkapi library arduino yang diperlukan seperti RTClib dan juga DFPlayer nya. Kalau ga lengkap nanti coding nya jadi error saat di compile.
Kalau kalian mau download coding dan gambar dengan format fritzing seperti diatas, ikuti link berikut :
[button color=”red” size=”medium” link=”http://velocicosm.com/7kyR” icon=”” target=”false”]Download Coding[/button]
[button color=”orange” size=”medium” link=”http://velocicosm.com/9zAe” icon=”” target=”false”]Download Gambar Rangkaian[/button]
[button color=”blue” size=”medium” link=”http://fritzing.org/download/?donation=0″ icon=”” target=”false”]Download Software Fritzing[/button]
Untuk kalian yang mau beli kit jam digital berbicara ini lengkap dengan coding nya kalian bisa klik pada tombol beli dibawah ini dan akan langsung diarahkan ke situs jual beli online Bukalapak untuk proses transaksi.
[button color=”orange” size=”medium” link=”https://www.bukalapak.com/p/elektronik/komponen-elektronik/ejwpy0-jual-project-jam-berbicara?keyword=” icon=”” target=”false”]Beli Kits ini di Bukalapak[/button]