LED Bargraph Untuk Indikator Tegangan

Aplikasi mikrokontroler ini sebenarnya hanya sedkit modifikasi dari yang sudah kita buat yaitu membuat monitoring tegangan. Hanya saja tampilannya dalam bentuk LED Bargraph. LED yang disusun keatas sehingga biasanya dipakai untuk indicator level meter.

99 proyek arduinoRangkaiannya hanya mikrokontroler ATmega8535 dengan 10 buah LED (LED bargraph) :

Rangkaian Mikrokontroler dg LED Bargraph

Program kita buat dengan BASCOM-AVR :

$regfile = “m8535.dat”
$crystal = 1600000
Dim Data_adc As Word , Lb As Word , Hb As Word
Dim Sat As Word , Pul As Word , Rat As Word
Dim T As String * 1

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

Config Portb = Output
Config Portd = Output
Start Adc

Do
   Data_adc = Getadc(0)
   If Data_adc <= 100 Then
      Portd = &B10000000
      Portb = &B00000000
   Elseif Data_adc <= 200 Then
      Portd = &B11000000
      Portb = &B00000000
   Elseif Data_adc <= 300 Then
      Portd = &B11100000
      Portb = &B00000000
   Elseif Data_adc <= 400 Then
      Portd = &B11110000
      Portb = &B00000000
   Elseif Data_adc <= 500 Then
      Portd = &B11111000
      Portb = &B00000000
   Elseif Data_adc <= 600 Then
      Portd = &B11111100
      Portb = &B00000000
   Elseif Data_adc <= 700 Then
      Portd = &B11111110
      Portb = &B00000000
   Elseif Data_adc <= 800 Then
      Portd = &B11111111
      Portb = &B00000000
   Elseif Data_adc <= 900 Then
      Portd = &B11111111
      Portb = &B10000000
   Else
      Portd = &B11111111
      Portb = &B11000000
   End If
Loop
End

Banner MM AVR
Hasil pembacaan ADC akan dibagi menjadi 10 bagian, menyesuaikan dengan jumlah LED (skala bargraph).  ADC nya 10 bit jadi nilai maksimal 1023, kita bagi 10 maka tiap level nilainya 102,3 kita bulatkan jadi 100 gitu aja ya. Nah akhirnya LED akan kita kontrol ON-OFF nya berdasarkan skala tersebut.

Contoh saja, jika hasil pembacaan tegangan bernilai 80 berarti berada di level 1 (LED 1 nyala) maka kondisi pertama yang akan dikerjakan.
If Data_adc <= 100 Then
      Portd = &B10000000
      Portb = &B00000000
Demikian juga jika hasilnya adalah 200 (sekitar 1 V) maka berada pada level 2 sehingga LED 1 dan LED 2 nyala.
  Elseif Data_adc <= 200 Then
      Portd = &B11000000
      Portb = &B00000000
Demikian seterusnya jika tegangan 5 V maka akan berada pada level 10 dan semua LED nyala.
Sederhana kan ?

Aplikasi Mikrokontroler

This entry was posted in Mikrokontroler AVR and tagged , , , , , , . Bookmark the permalink.

Leave a Reply