Kali ini saya akan menjelaskan mengenai bagaimana cara merubah resolusi ADC mikrokontroller ATMega menggunakan bahasa Bascom AVR, jadi prinsip kerjanya merubah resolusi adc yang dari 0 - 1023 menjadi resolusi 0 - 255. Disini dicontohkan menggunakan potensiometer sebagai sensor yang akan membuktikan resolusi adc, jika biasanya setting default adc adalah 10 bit harusnya 0 - 1023 maka sekarang dirubah menjadi 0 - 255. Kegunaan adc resolusi ini yaitu bisa digunakan untuk setting pwm 8 bit atau untuk setting port 8 bit sesuai kebutuhan. untuk lebih jelasnya berikut adalah skema dan programnya.
a. Minimum System
b. Potensiometer
c. Rangkaian RS232
d. Program Bascom AVR
$regfile = "m8535.dat"
$crystal = 11059200
$baud = 9600
$hwstack = 64
$swstack = 64
$framesize = 64
'map(value, fromLow, fromHigh, toLow, toHigh)
Declare Function Map(byval X As Word , Byval In_min As Word , Byval In_max As Word , Byval Out_min As Word , Byval Out_max As Word ) As Word
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim H As Word
Dim Dataadc As Word
Start Adc
Do
Dataadc = Getadc(0)
H = Map(dataadc , 0 , 1023 , 0 , 255)
Print H
Waitms 200
Loop
End
Function Map(byval X As Word , Byval In_min As Word , Byval In_max As Word , Byval Out_min As Word , Byval Out_max As Word ) As Word
Local A As Single
Local B As Single
A = X - In_min
B = Out_max - Out_min
A = A * B
B = In_max - In_min
A = A / B
Map = A + Out_min
End Function
e. Video Hasilnya
No comments:
Post a Comment