Minggu, 15 Februari 2015

Jam tanpa rtc yang dapat diatur

Link ke Halaman utama

halaman ini adalah lanjutan dari halaman berlatih membuat jam tanpa RTC

Ceritanya jam yang dirancang kali ini dapat di atur dengan tombol tekan yang ada sehingga jam dapat disesuaikan. rangkaiannya adalah seperti dibawah ini.

nah ini dia poto-poto percobaannya

poto di atas adalah hasil percobaan kang mas Yadi tuuuch.. ada tombol saklar 3 biji,sebuah arduino board, satu buah lcd 16x2 karakter murah meriah dan powerbank samsung sebagai catu dayanya dengan menggunakan kabel printer, jadi abis ngupload programnya dari laptop langsung deh colokin ke power bang, terlihat dari poto
Langkah pertama adalah mengatur jamnya
Langkah selanjutnya adalah mengatur menitnya
langkah terakhir sesuaikan detiknyaa
Selesailah bagian pengaturan jam. tapi awas yaaa..  jangan sampai batrainya abis. batrai abis selesai sudah jamnya. atur lagi deh dari awal
---------------------------------------------------------------------------
#include <LiquidCrystal.h>
LiquidCrystal lcd(5, 4, 3, 2,1,0);
int aa,a,b,c,d,e,f,ff,g ,jamm,menitt,detikk;
String jam;
String mode="jam";
void setup() {
  lcd.begin(16, 2);
  pinMode(8,INPUT);
  pinMode(9,INPUT);
  pinMode(10,INPUT);
}

void loop() {
if (mode=="jam"){
if ( f!=ff){
  lcd.clear();
  lcd.setCursor (0,0); lcd.print("Proyek Jam");
  jam="Jam : "+String(a)+String(b)+":" +String(c);
  jam=jam +String(d)+":"+String(e)+String(f);
  lcd.setCursor (0,1); lcd.print(jam);
  ff=f;
}
  delay(200);
  g=g+1;
  if (g==5){  f=f+1; g=0;}
  if (f==10) {   f=0; e=e+1;}
  if (e==6) {   e=0; d=d+1;}
  if (d==10) {   d=0; c=c+1;}
  if (c==6) {   c=0; b=b+1;}
  if (b==10) {   b=0; a=a+1;}
  aa=(a*10)+b ;  if (aa==24) {   a=0; b=0;}
  if (digitalRead(8)==HIGH){ mode="atur1";
  jamm=(a*10)+b; menitt =(c*10)+d; detikk=(e*0)+f;
delay(200);}
}

if (mode=="atur1"){
  lcd.clear();
  lcd.setCursor (0,0); lcd.print("Rubah Jam: ");lcd.print(jamm);
  if (digitalRead(9)==HIGH){delay(100);
  jamm=jamm+1;
  if (jamm>23){jamm=0;}
    }
  if (digitalRead(10)==HIGH){delay(100);
  jamm=jamm-1;
  if (jamm<0){jamm=23;}
   }
  if (digitalRead(8)==HIGH){
  a=jamm/10; b=jamm % 10;
   mode="atur2";   delay(200);}
delay(200);} 

if (mode=="atur2"){
  lcd.clear();
  lcd.setCursor (0,0); lcd.print("Rubah menit: ");lcd.print(menitt);
  if (digitalRead(9)==HIGH){delay(100);
  menitt=menitt+1;
  if (menitt>59){menitt=0;}
   }
  if (digitalRead(10)==HIGH){delay(100);
  menitt=menitt-1;
  if (menitt<0){menitt=59;}
   }
  if (digitalRead(8)==HIGH){
  c=menitt/10; d=menitt % 10;
   mode="atur3";   delay(200);}
delay(200);} 
if (mode=="atur3"){
  lcd.clear();
  lcd.setCursor (0,0); lcd.print("Rubah Detik: ");lcd.print(detikk);
  if (digitalRead(9)==HIGH){ delay(100);
   detikk=detikk+1;
  if (detikk>59){detikk=0;}
   }
  if (digitalRead(10)==HIGH){delay(100);
   detikk=detikk-1;
  if (detikk<0){detikk=59;}
   }
  if (digitalRead(8)==HIGH){
  e=detikk/10;  f=detikk % 10 ;
   mode="jam";   delay(200);}
delay(200);}   

}

---------------------------------------------------------------------------
Setelah di jalankan ternyata dalam semalam jam mengalami telat sekitar 4 menit. Maksudnya waktu malam di jalankan waktunya sama dengan jam dindi. Dan setelah semalaman ham nya tidak sama dengan jam dinding. Ada telat sekitar 4 atau 5 menit. Dan juga baterainya tidak kuat lama. Jadi tidak mungkin di gunakan jangka panjang

Tidak ada komentar:

Posting Komentar