Learning is forever
Going where this year?
Kemaren pas Praktikum Mikrokontroler kita dikasih tugas bikin simulasi detektor level fluida pake BASCOM AVR trus disimulasikan pake Proteus. Ni skrinsutnya
Listing program BASCOM nya:
$regfile = "m32def.dat"
$crystal = 12000000
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.0 , Rs = Portc.1
Config Lcdbus = 4
Config Lcd = 16 * 2
Cls
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Config Portd.0 = Output
Config Portd.1 = Output
Config Pinb.0 = Input
Led1 Alias Portd.0
Led2 Alias Portd.1
Dim Batas_bawah As Word
Dim Level As Word
Dim Batas_atas As Word
Tombol_start alias pinb.0
Set Tombol_start
Reset Led1
Reset Led2
Do
Main:
Cursor Off
Locate 1 , 1
Lcd " level fluida "
Locate 2 , 1
Lcd "Â Taufiq 12133Â "
If Tombol_start = 0 Then
Cls
Do
Start Adc
Batas_bawah = Getadc(0)
Level = Getadc(1)
Batas_atas = Getadc(2)
If Batas_bawah < Level And Level < Batas_atas Then
Locate 1 , 1
Lcd " level normal "
Locate 2 , 1
Lcd Level
End If
If Level < Batas_bawah Then
Led1 = 1
Led2 = 0
Locate 1 , 1
Lcd " level too low "
Locate 2 , 1
Lcd Level
End If
If Level > Batas_atas Then
Led1 = 0
Led2 = 1
Locate 1 , 1
Lcd " level too high "
Locate 2 , 1
Lcd Level
End If
If Tombol_start = 0 Then
Goto Main
End If
Loop
End If
Loop
Ni cara kerjanya:
Pada praktikum ini dibuat program dengan ADC (Analog Digital Converter) yang terdapat pada PORTA ATMega32 untuk mendeteksi level fluida pada suatu tabung.
Ada 3 input ADC yaitu PINA.0, 1, dan 2. PINA.0 sebagai detektor batas bawah fluida yang diperbolehkan pada tabung tersebut, PINA.1 sebagai detektor level fluida, dan PINA.2 sebagai detektor batas bawah fluida.
Level fluida ditampilkan pada LCD 16×2, dan apabila level melebihi batas bawah, maka LED pada PORTD.0 akan menyala, dan apabila melebihi batas atas, maka LED pada PORTD.1 akan menyala.
Untuk melakukan pendeteksian, digunakan percabangan if then. Untuk memulainya, push button pada PORTB.0 harus ditekan terlebih dahulu. Cara kerjanya, pada posisi awal, batas bawah, level, dan batas atas dapat ditentukan secara manual.
Oke, segitu aja deh
You can be the first to comment!