Saat sensor suhu disambungkan ke PORTA, maka pada LCD akan ditampilkan
nilai suhu (T=....?)
#include <mega8535.h>
#include <delay.h>
#include <stdio.h>
#include <alcd.h>
#include <alcd.h>
delay_us(10);
ADCSRA|=0x40;
ADCSRA|=0x10;
return ADCW;
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x00;
// RS - PORTB Bit 0
// RD - PORTB Bit 1
// EN - PORTB Bit 2
// D4 - PORTB Bit 4
// D5 - PORTB Bit 5
// D6 - PORTB Bit 6
// D7 - PORTB Bit 7
// Characters/line: 16
lcd_init(16);
while (1)
lcd_clear();
idata = read_adc(0);
lcd_puts(cstr);
fdata = (((float)idata*2)/1023)/0.01;
T = (char)fdata;
lcd_gotoxy(0,1);
lcd_puts(cstr);
delay_ms(250);
}
Analisa.
ADC (Analog To Digital Converter) adalah perangkat elektronika yang berfungsi untuk mengubah
sinyal analog (sinyal kontinyu) menjadi sinyal digital. Perangkat ADC (Analog To Digital Convertion) dapat
berbentuk suatu modul atau rangkaian elektronika maupun suatu chip IC. ADC (Analog To Digital
Converter) berfungsi untuk menjembatani pemrosesan sinyal analog oleh sistem digital.
Tegangan input dan power supply dari transformator atau dari baterai.
Karena jika dari transformator teganganya tidak stabil dan masih ada noisenya yang mempengaruhi
pembacaan ADC.
Untuk pembacaan ADC yang akurasi sebaiknya tidak menggunakan frekuensi ADC yang cepat.
Contoh:
T = (ADCxVref/1023)/sensitivitas
T= (128x5/1023)/0.01
Saat jarak memenuhi -> Lampu LED Blinking, atau counting 7segmen atau boleh yang lain.
#include <mega8535.h>
#include <stdlib.h>
#include <delay.h>
#include <lcd.h>
#asm
#endasm
int jarak;
void main(void)
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC disabled
ADCSRA=0x00
lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf("TESJARAK:");
while (1)
TRIGGER=1;//inisialisasi sensor
delay_us(10);
TRIGGER=0;
TRIGGER=1;
while (ECHO==0){};
while (ECHO==1)
count++;
lcd_clear();
lcd_gotoxy(0,1);
itoa(count,strjarak);
lcd_puts(strjarak);
delay_ms(1000);
Analisa
Pada sensor ultrasonik, gelombang ultrasonik dibangkitkan melalui sebuah alat
yang disebut dengan piezoelektrik dengan frekuensi tertentu. Piezoelektrik ini akan
menghasilkan gelombang ultrasonik (umumnya berfrekuensi 40kHz) ketika sebuah
osilator diterapkan pada benda tersebut. Secara umum, alat ini akan menembakkan
gelombang ultrasonik menuju suatu area atau suatu target. Setelah gelombang
menyentuh permukaan target, maka target akan memantulkan kembali gelombang
tersebut. Gelombang pantulan dari target akan ditangkap oleh sensor, kemudian
sensor menghitung selisih antara waktu pengiriman gelombang dan waktu
gelombang pantul diterima.
Gambar cara kerja sensor ultrasonik dengan transmitter dan receiver (atas), sensor ultrasonik
dengan single sensor yang berfungsi sebagai transmitter dan receiver sealigus
Cara menggunakan alat ini yaitu: ketika kita memberikan tegangan positif pada pin
Trigger selama 10uS, maka sensor akan mengirimkan 8 step sinyal ultrasonik
dengan frekuensi 40kHz. Selanjutnya, sinyal akan diterima pada pin Echo. Untuk
mengukur jarak benda yang memantulkan sinyal tersebut, maka selisih waktu ketika
mengirim dan menerima sinyal digunakan untuk menentukan jarak benda tersebut.
Rumus untuk menghitungnya sudah saya sampaikan di atas.
Berikut adalah visualisasi dari sinyal yang dikirimkan oleh sensor HC-SR04