Pengertian Sensor Suhu 1 Wire DS1820
Sensor suhu 1 wire DS1820 adalah sensor suhu jenis digital, rentang suhu yang dapat diukur antara -55 C sampai 125 C, terdiri dari 3 pin yaitu vcc, ground dan DQ (Data input/data output). Komunikasi mikrokontrol dengan sensor terjadi lewat pin DQ.
Berbeda dengan sensor LM35 yang menggunakan interface ADC, sensor suhu 1 wire DS1820 tidak menggunakan interface ADC melainkan 1 wire, data yang dikirimkan ke mikro beresolusi 9 bit.
Program Pembuatan Sensor Suhu 1 Wire DS1820 dengan Codevision AVR dan Atmel ATMega
Pada codevision telah disediakan library 1wire.h dan ds1820.h untuk mempermudah codingnya.
/***************************************************** This program was produced by the CodeWizardAVR V2.05.0 Advanced Automatic Program Generator © Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : input sensor suhu 1 wire DS1820 Version : Date : 08/04/2014 Author : Priyo Harjiyono Company : https://anotherorion.com Comments: Chip type : ATmega16 Program type : Application AVR Core Clock frequency: 8,000000 MHz Memory model : Small External RAM size : 0 Data Stack size : 256 *****************************************************/ #include #include // 1 Wire Bus interface functions #include #include // DS1820 Temperature Sensor functions #include // Alphanumeric LCD Module functions #include #define MAX_DS1820 8 unsigned char ds1820_devices; unsigned char ds1820_rom_codes [MAX_DS1820][9]; char lcd_buffer[33]; void main(void) { char i; unsigned char j; int temp; w1_init(); ds1820_devices=w1_search(0xf0,ds1820_rom_codes); lcd_init(16); while (1) { for (i=0;i<ds1820_devices;i++) { temp=ds1820_temperature_10(ds1820_rom_codes[i]); j='+'; if (temp<0) { j='-'; temp=-temp; }; sprintf(lcd_buffer,"t%u=%c%i.%u\xdfC",++i,j,temp/10,temp%10); lcd_clear(); lcd_gotoxy(0,i); lcd_puts(lcd_buffer); delay_ms(200); } } }
Gambar Rangkaian Sensor Suhu 1 Wire DS1820
tampilan simulasi proteusnya sebagai berikut
Komponen DS1820 dalam simulator ISIS Proteus memiliki 3 port yaitu VCC, Ground dan juga DQ, Port DQ kita hubungkan dengan mikrokontroler Atmel ATMega, untuk praktik kali ini menggunakan ATmega 16 dan dihubungkan dengan Port B0. Sementara untuk keperluan display menggunakan Port A.
mas mau tanya kalo includenya kan ada 6 apa aja ya?
Ada yang Error Pak….
error nya di sini unsigned char ds1820_rom_codes [MAX_DS1820][9];
sama di sini lcd_init(16);
itu karena include nya waktu saya post disini di anggap tag HTML jadi gak keliatan, harusnya ada beberapa library dalam include itu;
1. mega16.h
2. stdio.h
3. 1wire.h
4. alcd.h
5. ds1820.h