04 November, 2011

SENSOR SUHU LM35 dg Micro ATmega8535 + LCD display + Buzzer

wah..,dah lama gak posting nih. n skarang coba lagi utk ngblog stelah kian lama mati suri...he he he.,

ok bro kli ni gue dapet job buat pengukur suhu kolam pake sensor LM35 n gue pake micro ATmega8535
  
lom tu lo kudu siapin komponen pendukung bro, karna mustahil tanpa komponen soalnya ni dunia nyata bukan magic, ha ha ha  relaks bro just kidding.,n_n

komponen : (saran : lo mesti nyari di toko komponen elektronik, jngan d pasar buah. ya iya lah)
- microcontroller AVR ATmega8535
- Crystal 12 MHz
- kapasitor 33 pF
- PCB
- sensor suhu LM35 
- buzzer 
- LCD display (20x4 / 16x2 trgantung kbutuhan lo bro)
- pin male & female
- kabel (pelangi utk permudah hafal jalur)
- resistor variabel 50 ohm

tu ane kira utk kompenen utamanya bro, selebihnya kreasi pribadi, anak indonesia kan kreatif 
          ^^^^^hidup anak indonesia^^^^^

go action :

rangkai komponen tadi kyak gambar dbwah ni,



pastiin bro rangkaian lo gak salah..,OK

nah klu dah dirakit tu smua komponen lo mesti buat listing programnya, tersrah lo mo pake program apa, n kali ni gue pake BASCOM (Basic Compiler)

'######################################################'
'*** LISTING PROGRAM SENSOR SUHU LM35                    ***'
'*** NAMA               = qabulbee.blogspot.com                            ***'
'*** JUR & ANG      = TEKNIK ELEKTRO 2007               ***'
'*** UNIVERSITAS SRIWIJAYA                                                ***'
'######################################################'


$regfile = "M8535.dat"
$crystal = 12000000

Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
Config Lcd = 16 * 2

Buzzer Alias Portb.0
Aman Alias Portc.7
Bahaya Alias Portc.6

Config Adc = Single , Prescaler = Auto , Reference = Internal
Dim Dataadc As Word , Datasuhu As Single
Const Vreff = 5.00
Start Adc

Cls
Cursor Off
Locate 1 , 1
Lcd "*qabulbee.blogger*"
Locate 2 , 14
Lcd Chr(223) ; "C"
Locate 2 , 1
Lcd "SUHU ="

Do

Dataadc = Getadc(5)
Datasuhu = Dataadc / 1024
Datasuhu = Datasuhu * Vreff
Datasuhu = Datasuhu * 100
Locate 2 , 8
Lcd "" ; Fusing(datasuhu , "#.##")

If Datasuhu > 30 Then
Aman = 0
Bahaya = 1
Buzzer = 1

Elseif Datasuhu < 30 Then
Aman = 1
Bahaya = 0
Buzzer = 0
End If

Waitms 100
  Loop
End

nah slesai deh ni listing programnnya, loh kog gak jlan alat gue, tenang bro lo kan blum masukin ni listing programnya ke micro ATmega8535. yg jelas jngan pake gancu bro

so pake downloader karena ni alat didesain tanpa downloader klu pengen skalian downloader lo bisa kembangin sendiri bro., OK

 ni Downloader yg ane pake pabrikan dari Micro+ TRAINING..,nah ni jga butih driver usbnya biar detect di PC.
 dah sbuah software lagi yaitu KHAZAMA AVR programmer yg bisa BroLek (bro elektro) lihat di khazama.com

nih tampilan softwarenya :



 tretet..,tretet..,tretet..,tretet download program selesai..,nah ni alat ane BROLEK.



























       

  



9 comments:

  1. gan rumus konversi suhu ke adcnya dapet dari mana.?

    Datasuhu = Dataadc / 1024
    Datasuhu = Datasuhu * Vreff
    Datasuhu = Datasuhu * 100

    dataadc = input lm35
    1024 = bit adc
    vreff=5
    100=.?
    dari mana tu 100nya gan.?

    ReplyDelete
  2. micro yg dipake kan ATMEGA8535 dg ADC 10 bit maka 2^10 = 1024 artinya data digital yg dikonversi dari 0-1023

    nah hasinya di kali Vreff alias tegangan referensi dari suplly micro 5V (lihat Const Vreff = 5.00) agr prhitungan micro tetap mnggunakan standar tgangan ini meskipun tegangan supply untk alat melebihi 5v dan juga karena mak. teg. utk LM35 = 5V

    nah krena LM35 mndeteksi prubahan tegangan per milivolt dg standar stiap knaikan 10mV = 1 oC

    nah 100 didapat dari stiap knaikan suhu yg trdeteksi pada alat adalah dalam 1000mV = 100 oC artinya sama dngan standar awal LM35 10mV = 1 oC

    smoga membantu..,maaf jika tlat blas karna sibuk TA

    ReplyDelete
  3. Gan, bisa bantu saya dapat coding untuk pembacaan ADC seperti ini,
    Dim Data_adc As Word , T As Word , F As Bit

    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc

    Wait 1
    T = 19

    Do

    Data_adc = Getadc(0)
    T = Data_adc * 5
    T = T / 10

    Bisa dibantu dijelaskan "F as Bit" dan metode pengambilan data adc "T=T/10" , sepuluh itu karakteristik LM35 10milivolt?

    Terima kasih

    ReplyDelete
  4. Mas, gmn simulink motor stepper dgn rangkaian yg mas buat di atas

    ReplyDelete
  5. Mas, aq punya rangkain yg hampir sama dengan yg mas buat,bisa bantuin buat kodingnya ngga? balas ea... nanti aq kirimkan gambarnya, tapi alatnya ada tambahannya, ada 2 relay, dan satunya pake Ic driver untuk motor..

    ReplyDelete
  6. Gan kok itu kodingan diatas ga bisa diterapin yah dirangkaian simulator proteous ane

    ReplyDelete
  7. gan kalo kita pengen set nilai suhu dengan push button gmn ya gan pengen ngeset batas maksimum batas minimum suhunya. kalo nilai suhu lebih dari 40 kipas pendingin akan nyala
    trus kalo nilai suhu dibawah 35 pemanasnya akan menyala,, ane bingung gan,, mohon bantuanya

    ReplyDelete
  8. Gan klo ic nya pake atmega16 bisa gk?

    ReplyDelete

Mohon Kritik dan saran demi kemajuan blog ini, terima kasih.