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]

Baca juga  Security sistem Berbasis SMS Gateway

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]

Loading

Membuat Jam Digital Berbicara

Komentar anda

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.