Posts tagged ‘ATMega16’

Simulasi Membuat Tulisan Pada LCD 16×2 Dengan ATMega16


LCD 16×2 adalah salah satu display yang populer dipakai pada peralatan elektronik saat ini. Mikrokontroller adalah salah satu sistem yang menggunakan LCD 16×2 untuk menampilkan tulisan sebagai informasi kepada pemakai.

LCD 16×2 dapat digunakan dengan mode 8-bit atau 4-bit untuk pengiriman datanya. Dengan menggunakan program CodeVision dapat dibuat sebuah program yang mudah. CodeVision memberikan fungsi untuk membuat program dengan wizard, dimana hardware dapat dikonfigurasikan dengan memilih pada form setting dan akan dihasilkan code secara otomatis.

Program yang dibuat dapat juga disimulasikan menggunakan program Proteus untuk mengetahui hasilnya tanpa menggunakan hardware.

Rangkaian yang digunakan adalah seperti berikut:

 

rangkaian

Berikut adalah contoh untuk membuat rangkaian pada Proteus.

 

Dibawah ini tutorial untuk membuat program menulis kalimat pada LCD 16×2 menggunakan CodeVision dan mensimulasikan menggunakan software Proteus.

Script program yang digunakan adalah sebagai berikut:


// Place your code here
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("TESTING LCD");
delay_ms(1000);

lcd_clear();
lcd_gotoxy(0,1);
lcd_putsf("BARIS KEDUA LCD");
delay_ms(1000)

Membaca Suhu DS1820 dengan ATMega16


DS1ds1820820 adalah sensor suhu yang dikeluarkan oleh Dallas Semiconductor. Untuk membacanya menggunakan protokol 1 wire communication. Dimana hanya ada tiga kabel yang terdiri dari +5V, GND dan DQ (Data Input/Output). Datasheet DS1820 dapat diunduh DS18S20.

Keunggulan dari DS1820 adalah, output berupa data digital dengan nilai ketelitian 0,5 derajat Celcius sehingga mempermudah pembacaan oleh mikrokontroller.

Pada tulisan ini akan digunakan compiler CodeVision untuk membuat programnya. Pada CodeVision sudah tersedia fasilitas wizard untuk mempermudah pengguna dalam membuat program. Termasuk salah satunya adalah device DS1820. Sehingga kita tidak perlu susah payah membuat coding untuk membaca DS1820.

Rangkaian yang digunakan adalah berikut:

schematic

Penjelasan:


// DS1820 Temperature Sensor functions
 #include <ds1820.h>
 #include <stdio.h>
 #include <math.h>

fungsi untuk mendeklarasikan library yang akan digunakan.


// maximum number of DS1820 devices
 // connected to the 1 Wire bus
 #define MAX_DS1820 8
 // number of DS1820 devices
 // connected to the 1 Wire bus
 unsigned char ds1820_devices;
 // DS1820 devices ROM code storage area,
 // 9 bytes are used for each device
 // (see the w1_search function description in the help)
 unsigned char ds1820_rom_codes[MAX_DS1820][9];
 char lcd_buffer1[33],lcd_buffer2[33];
 unsigned char rom_codes[8][9];
 unsigned char temp, Suhu;

fungsi coding di atas adalah mendeklarasikan variabel yang akan digunakan.


ds1820_devices=w1_search(0xf0,ds1820_rom_codes);

baris dia tas berfungsi untuk mendeteksi jumlah device DS1820 yang terhubung.


sprintf (lcd_buffer1,"%-u DEVICE(S) DETECTED",ds1820_devices);
 lcd_clear();
 lcd_gotoxy(0,0);lcd_puts(lcd_buffer1);
 delay_ms(1500);

fungsi di atas untuk menampilkan jumlah device yang dideteksi.

 for (i=0;i<ds1820_devices;)
{        temp=ds1820_temperature_10(&rom_codes[i][0]);
sprintf (lcd_buffer1,"t%-u=%-i.%-u\xf8C\n\r",++i,temp/10,abs(temp%10));
 };
 sprintf (lcd_buffer2,"Status: Low");

lcd_clear();
 lcd_gotoxy(0,0);lcd_puts(lcd_buffer1);
 lcd_gotoxy(0,1);lcd_puts(lcd_buffer2);
 delay_ms(500);

fungsi: untuk membaca sensor DS1820 dan menampilkan hasil pada LCD 16×2

Untuk source code unduh disini.

Demikian semoga bermanfaat.

%d blogger menyukai ini: