Selasa, 17 Desember 2013

Arduino Sleep Mode


Arduino Sleep Mode
Pada percobaan kali ini akan dibuat program untuk mengakses mode sleep pada mikrokontroler. Mode sleep akan terjadi selama 4 detik, kemudian mikrokontroler akan aktif kembali (wake up). Pada saat wake up, mikrokontroler akan melakukan perubahan terhadap kondisi LED yang terhubung pada pin 12. Sehingga jika program dijalankan, seakan-akan LED akan berkedip dengan selang waktu 4 detik. Namun, sebenarnya selama 4 detik tersebut mikrokontroler sedang dalam sleep mode (tidak melakukan apa-apa).

Prosedur :

1.  Rangkailah rangkaian pada Gambar 9.1 berikut ini.

2.  Tuliskan  sintaks  program  berikut  ini  pada  Arduino  IDE, kompilasi dan upload program.
#include  <avr/sleep.h> 
#include  <avr/power.h> 
#define  LED_PIN  13
volatile  int  f_timer=0;
ISR(TIMER1_OVF_vect)  
{ if(f_timer ==  0)  {f_timer  =  1;}} 
void enterSleep(void) 
{  
set_sleep_mode(SLEEP_MODE_IDLE);   
sleep_enable();  
power_adc_disable();                                
power_spi_disable(); 
power_timer0_disable();                         
power_timer2_disable(); 
power_twi_disable();                                
sleep_mode();
sleep_disable();
power_all_enable();
}

void  setup()  
{ 
pinMode(LED_PIN, OUTPUT);
TCCR1A  =  0x00; 
TCCR1B  =  0x05; 
TCNT1=0x0000;
TIMSK1=0x01;
}

void  loop()  { 
if(f_timer==1)  
{f_timer  =  0;digitalWrite(LED_PIN, !digitalRead(LED_PIN));enterSleep();}
} 
 
Hasil percobaan :

Kesimpulan :
  • Dari hasil praktikum mula – mula led berada dalam kondisi mati, setelah empat detik kemudian led akan menyala. Saat led menyala di dalam program juga mengaktifkan mode sleep dari arduino dengan mendisable beberapa fitur dari mikrokontroller.
  • Manfaat dari sleep mode pada mikrokontroller adalah kita dapat mematikan fitur-fitur yang tersedia pada mikrokontroller seperti ADC, TWI, Serial, Timer dan sebagainya. Fungsi dari kita mematikan beberapa fitur yang kita inginkan adalah untuk menghemat pemakaian daya dari mikrokontroller. Sehingga jika sebuah mikrokontroller dijalankan dengan menggunakan battery, akan dapat bertahan lebih lama lagi.

Sabtu, 07 Desember 2013

Tutorial Membuat Arduino Champ


Pada kesempatan kali ini saya akan memberitahukan bagaimana membuat Ardu - Champ baik itu suka dan duka, akan saya beritahukan di kesempatan kali ini. Langsung saja kita mulai.
Kumpulin dulu bahan- bahannya :
1. Download dulu Skematik dan juga layoutnya.
2. Download Khazama AVR programer untuk isi bootloadernya.
3. Download file .hex Bootloader.
4. Download file USB Asp Driver


Persiapan:

Teman - teman sekalian harus sudah menyelesaikan board Ardu - Champ dahulu sebelum melanjutkan percobaan ini. Itu cuma sekedar saran dari saya saja , kalau tidak di ikuti juga tidak ada masalah.

Langkah Pertama :

Install dulu khazama AVR Programernya.

Langkah Kedua :
Isi bootloader ATMega8PU dengan bootloader yang sudah disediakan. Untuk tutorial pengisian bootloader temen bisa lihat lihat ke blog senior kita  Blog bang Guntur.
Cuma ada perbedaan saat setting fuse lock nya.
coba teman teman cocokin sama gambar di bawah ini.
Setelah selesai setting fuse lock-nya, kita lanjut mengisi bootloadernya. cukup mudah dengan memperhatikan gambar berikut ini.


Langkah Ketiga :

Hubungkan Ardu - Champ ke Komputer dengan kabel USB tipe B kalau saya tidak salah.
Jangan lupa memindahkan selektor Power Supply ke mode USB Power. 

Langkah Empat :
Teman - teman akan melihat tampilan sebagai berikut.


Itu hal yang wajar, untuk mengkatifkan Ardu - Champ, tekan kedua tombol reset. lepaskan tombol reset pertama dan lepaskan tombol reset kedua, maka akan tampil Unknown USB Asp seperti gambar dibawah ini.
Kalau tidak ada drivernya teman -teman bisa lihat cara instalasi drivernya di blog bang guntur.

Langkah Kelima :
Teman  teman buka aplikasi Arduino IDE, nah sebelum di upload programnya, settiing dulu seperti gambar di bawah ini.
Langkah Enam : 
Buka Example program Blink yang ada pada Arduino, kemudian lakukan Upload (  Shift + Ctrl + U )

Sekian dulu dari saya, jika teman teman ada yang bingung, silahkan hubungi saya saja. Atau bisa datang langsung ke Bengkel Robot Politeknik Negeri Batam.