Adu mikro : Arduino lawan ATmega8535 (1)
Masih bersama kami, inkubatek jogja. Kita lanjutkan gosipan kita kemarin. Pilih Arduino atau ATmega. Sekarang kita jajal ke aplikasi ya. Yang sederhana saja, sekedar gambaran awal tentang Arduino dan ATmega. Proyek comparasi : Monitoring Suhu dengan sensor LM35 tampilannya LCD.
Kita persilahkan Arduino untuk memulai pertandingan ini. Siap ?
Skematik monitoring suhu dengan Arduino. Hanya butuh 3 modul : Arduino UNO, LCD dan sensor suhu LM35.
Programnya pendek :
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
int adc0,temp;
void setup()
{
lcd.begin(16, 2);
lcd.print(“Dig Thermometer”);
lcd.setCursor(0, 1);
lcd.print(“Temp=”);
}
void loop()
{
adc0 = analogRead(0);
temp=(adc0*5)/10;
lcd.setCursor(5,1);
lcd.print(temp);
lcd.print(” Celcius”);
delay(1000);
}
Simpan terus Upload, hasilnya tampak seperti ini :
Sekarang giliran ATmega8535. Bahan : ATmega8535, LCD, sensor suhu LM35 dan Downloader.
Program jika dibuat dengan BASCOM-AVR :
$regfile = “m8535.dat”
$crystal = 16000000
Dim D As Word , V As Word , T As Word
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.2 , Db4 = Portc.4 ,
Config Lcdpin = Pin , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7
Config Lcd = 16 * 2
Cls
Cursor Off
Lcd “Dig Thermometer”
Lowerline
Lcd “Temp=”
Start Adc
Do
D = Getadc(0)
V = D * 5
T = V / 10
Locate 2 , 6
Lcd T ; ” C “
‘Lcd ” C”
Waitms 800
Loop
End
Untuk CodeVisionAVR (CVAVR) :
#include <mega8535.h>
#include <delay.h>
#include <alcd.h>
#include <stdio.h>
unsigned int D,V,T;
char str[16];
void main(void)
{
ADCSRA=0B10000111;
lcd_init(16);
lcd_clear();
lcd_putsf(“Dig Thermometer “);
lcd_gotoxy(0,1);
lcd_putsf(“Temp=”);
while (1)
{
ADMUX=0B01000001;
delay_us(10);
ADCSRA|=0B01000000;
while ((ADCSRA & 0B00010000)==0);
ADCSRA|=0B00010000;
D=ADCW;
V = D * 5;
T=V/10;
sprintf(str,”%d Celcius “,T);
lcd_gotoxy(5,1);
lcd_puts(str);
delay_ms(1000);
}
}
Sekarang lihat hasilnya :
Bagusan mana penonton ?