Read more
Membaca data ADC sensor LDR (sensor cahaya) menggunakan bascom di tampilkan ke computer melalui komunikasi serial
Judul yang menggelitik bagi saya… maklum saya tidak pandai membuat judul, namun harapan saya postingan ini memberikan manfaat bagi anda para pemula dalam belajar mikrokontroller
sensor LDR (sensor cahaya) dapat dipergunakan dalam otomatisasi penyalaan lampu , baik lampu jalanan, maupun lampu rumah, sebagai sarana otomatisasi ketika rumah sedang di tinggal pergi oleh pemiliknya, di tengah tengah kepadatan aktivitas kehidupan masyarakat saat ini, otomatisasi penyalaan lampu rumah menjadi sesuatu yang cukup penting.
Berikut ini adalah source code pembacaan data sensor cahaya ke PC.. hanya sebatas untuk experiment saja, jika dikembangkan untuk pengaman rumah dari pencuri juga bisa (namun memerlukan rangkaian komparator)
Source code pembacaan sensor cahaya pada pin ADC mikrokontroller at mega 40pin adalah sebagai berikut :
$regfile = "8535def.dat" ' jenis mikro yang digunakan
$crystal = 12000000 'Cristal yang digunakan 12M
$baud = 9600 'baud rate yang digunakan bit/second
Porta = &B000000000 'opsional
Waitms 500
Config Adc = Single , Prescaler = Auto , Reference = Avcc ' configurasi adc
Dim Inadc1 As Word , Inadc2 As Word , Inadc3 As Word , Inadc4 As Word ' deklarasi variable
Dim Itung1 As Word , Itung2 As Word , Itung3 As Word , Itung4 As Word
Dim Jml1 As Word , Jml2 As Word , Jml3 As Word , Jml4 As Word
Dim Avrg1 As Word , Avrg2 As Word , Avrg3 As Word , Avrg4 As Word 'dekarasi variable
Print "ok"
Do
Start Adc ' memulai ad
Waitms 100
'sensor 1
Inadc1 = Getadc(0) ' baca adc chanel 0
Jml1 = Jml1 + Inadc1
' data masuk di simpan ke dalam variable jml. kemudian jumlahkan setiap data masuk dengan variable jml
Itung1 = Itung1 + 1 ' tiap ada data masuk, nilai ini akan di naikkan untuk perhitungan rata-rata
Avrg1 = Jml1 / Itung1 ' nilai rata rata suhu di dapat dari jml di bagi jumlah data masuk.s
Waitms 100
'sensor 2
Inadc2 = Getadc(1) ' baca adc chanel 1
Jml2 = Jml2 + Inadc2 ' data masuk di simpan ke dalam variable jml. kemudian jumlahkan setiap data masuk dengan variable jml
Itung2 = Itung2 + 1 ' tiap ada data masuk, nilai ini akan di naikkan untuk perhitungan rata-rata
Avrg2 = Jml2 / Itung2
Waitms 100
'sensor 3
Inadc3 = Getadc(2) ' baca adc chanel 2
Jml3 = Jml3 + Inadc3 ' data masuk di simpan ke dalam variable jml. kemudian jumlahkan setiap data masuk dengan variable jml
Itung3 = Itung3 + 1 ' tiap ada data masuk, nilai ini akan di naikkan untuk perhitungan rata-rata
Avrg3 = Jml3 / Itung3 ' nilai rata rata suhu di dapat dari jml di bagi jumlah data masuk.s
Waitms 100
'sensor 4
Inadc4 = Getadc(3) ' baca adc chanel 3
Jml4 = Jml4 + Inadc4 ' data masuk di simpan ke dalam variable jml. kemudian jumlahkan setiap data masuk dengan variable jml
Itung4 = Itung4 + 1 ' tiap ada data masuk, nilai ini akan di naikkan untuk perhitungan rata-rata
Avrg4 = Jml4 / Itung4 ' nilai rata rata suhu di dapat dari jml di bagi jumlah data masuk.s
Waitms 100
If Itung4 > 10 Then ' jika data masuk > 20
Print "A" ; Avrg1 ; "a"
Waitms 5
Print "B" ; Avrg2 ; "b"
Waitms 5
Print "C" ; Avrg3 ; "c"
Waitms 5
Print "D" ; Avrg4 ; "d"
Waitms 5
' jumlah di nolkan
Jml1 = 0
Jml2 = 0
Jml3 = 0
Jml4 = 0
' penghitung berapa kali data masuk juga di nolkan (kembali ke set awal)
Itung1 = 0
Itung2 = 0
Itung3 = 0
Itung4 = 0
End If
loop
Selama berkreasi.



0 Reviews
Silakan dikomentari