Anda di halaman 1dari 16

Membaca tegangan analog dengan Arduino

5 Votes

Tulisan kali ini akan membahas tentang pembacaan tegangan analog yang masuk pada pin
analog Arduino. Tegangan yang masuk dikonversi terlebih dahulu menjadi data digital.
Arduino yang saya gunakan adalah Arduino UNO. Pin analog Arduino dapat menerima nilai
hingga 10 bit sehingga dapat mengkonversi data analog menjadi 1024 keadaan (2^10= 1024).
Artinya nilai 0 merepresentasikan tegangan 0 volt dan nilai 1023 merepresentasikan tegangan
5 volt. Mengapa 1023? Bukannya 1024? Hati-hati, disini dimulai dari angka 0 bukan angka 1,
sehingga nilai terbesar adalah 1023. Data yang sebelumnya analog dikonversi menjadi data
digital. Proses konversi dari nilai analog menjadi digital ini disebut proses ADC (Analog to
Digital Conversion). Bagaimana jika tegangan 5 volt dikonversi menjadi data digital 10 bit?
Mari kita hitung

Artinya setiap 1 angka desimal mewakili tegangan sebesar 0,004887585 volt. Berapa besar
tegangan yang diwakili angka 512?

Oke sekarang mari kita langsung saja menuju ke program Arduino-nya. Tulis program seperti
dibawah ini:

/*

Membaca tegangan analog ReadAnalogVoltage

Membaca input analog pada pin 0 kemudian mengonversi menjadi data digital, dan
ditampilkan pada serial monitor atau hyperterminal.

Pin tengah potensiometer terhubung dengan pin A0, pin yang lainnya terhubung dengan +5
dan ground.

*/

void setup() {
// komunikasi serial 9600 bit per sekon:

Serial.begin(9600);

void loop() {

// baca input analog pada pin A0:

int NilaiSensor = analogRead(A0);

// Konversi NilaiSensor (dari 0 – 1023) menjadi tegangan (0 – 5V):

float Tegangan = NilaiSensor * (5.0 / 1023.0);

// Menampilkan hasil:

Serial.println(Tegangan);

Setelah programnya selesai ditulis, sekarang upload, dan putar potensiometernya. Saya
menampilkan hasil dengan hyperterminal seperti dibawah ini

Jika tidak memiliki hyperterminal hasilnya dapat ditampilkan dengan fasilitas serial monitor
pada menu tools yang ada di software Arduino-nya.
Membuat Detektor Gas LPG (Liquified Petroleum Gas) TGS2610

Membuat Detektor Gas LPG (Liquified Petroleum Gas) TGS2610

Prinsip Kerja Alat

Alat detektor gas LPG ini mendeteksi adanya kadar gas propana dan butana diudara, kadar
minimal yang bisa dideteksi oleh alat ini adalah 500ppm, sehingga jika kadar gas diudara kurang dari
500ppm maka alat ini tidak bisa mendeteksi adanya gas propana dan butana diudara, ini didapat dari
range sensor TGS2610 yaitu 500ppm -10.000ppm. kadar ppm yang maksimal dan valid untuk alat ini
hanyalah sampai 10.000ppm, selebihnya dapat dikatakan kurang valid.

Alat ini menggunakan sebuah buzzer, 8 buah led sebagai indikator akan adanya bahaya atau
tidaknya suatu ruangan / dapur, buzzer akan berbunyi jika keadaan didalam ruangan pada kadar
lebih dari 10% atau lebih dari 100.000ppm, tepatnya yaitu jika sensor TGS2610 telah mengeluarkan
tegangan output sebesar 4,45 volt.

Terdapat 8 buah led yang bervariasi warnanya, ada 2 warna putih, 2 warna biru, 2 warna hijau

\]dan 2 warna merah. Tiap-tiap led mewakili suatu keadaan yang berbeda, jika led putih akan menyala
saat proses heater pada 90 detik yang pertama, kemudian led warna biru menyala pada heater 90 detik
kedua. Led merah menyala pada saat kondisi berbahaya yaitu tegangan output dari sensor TGS2610
lebih dari atau sama dengan 4,45 volt, sebaliknya led hijau menyala pada kondisi aman yaitu tegangan
output sensor kurang dari 4,45 volt.

Minimum System ATMega16


Rangkaian TGS2610

komponen yang dibutuhkan untuk membuat sensor TGS2610 ini bisa berfungsi optimal
hanyalah variabel resistor 10Kohm, yang mana variabel resistor ini digunakan untuk RL (Resistansi
Load) untuk sensor TGS2610. Menurut datasheet dari sensor TGS2610, RL yang digunakan yaitu
minimal 0,45Kohm, sehingga jika diberikan 10K sudah termasuk dalam batas minimal rangkaian.
Berikut adalah gambar skematik dari rangkaian TGS2610

Sensor TGS2610 memiliki 4 buah kaki, yaitu 2 kaki untuk mengaktifkan heater di kaki 3 dan 4,
pada kaki 1 diberikan GND untuk heater, untuk output tegangan dari sensor ini ada pada kaki 2 yang
langsung dihubungkan ke RL yang berupa variabel resistor 10K.
Program Bascom-AVR

'------------------

'Alat Ukur Gas LPG

'by yanuar mukhammad

'------------------

$regfile = "m16def.dat"

$crystal = 12000000

Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2

Config Lcdpin = Pin , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5

Config Lcd = 16 * 2

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

'------------------------ Konfigurasi

Ddrb.0 = 1 ‘portB.0 sebagai output

Ddrd = &B11111111 ‘ portD sebagai output

'------------------------ Type

Dim Gas_ref As Word

Dim Gas As Single

Dim Lpg As String * 5

Dim Vol As String * 5

Dim Tegangan As Single

Dim Teganganx As Single

Dim A As Single

Dim Vo As Single

Dim X As Single

Dim Y As Single

Dim Rs As Single

Dim D As Single

Dim E As Single

Dim Ppm As Single


Dim Ro As Single

'------------------------

Deflcdchar 0 , 31 , 31 , 31 , 31 , 31 , 31 , 31 , 31

Deflcdchar 1 , 31 , 17 , 17 , 17 , 17 , 17 , 17 , 31

Cls

Cursor Off

Start Adc

'------------------------

Upperline

Lcd "Detektor Gas Lpg"

Portd = &B11111100 ‘led putih aktif

Wait 90

Cls

Upperline

Lcd "Range Detektor "

Lowerline

Lcd "500 - 10,000 ppm"

Portd = &B11001111 ‘led biru aktif

Wait 90

Cls

Do

Gas_ref = Getadc(0) 'Nilai tegangan ADC dr out sensor

Gas = Gas_ref

Ro = 633750 'kadar Rs dalam udara bersih (ADC minimal)

Teganganx = Gas_ref / 1023

Tegangan = Teganganx * 5.15 ‘untuk nilai menampilkan tegangan


X = 5.15 - Tegangan

Y = X / Tegangan

Rs = Y * 10000 ‘untuk menemukan nilai Rs

D = Rs / Ro

E = 112.1 / D 'dari grafik excel ditemukan 112,1x^-0,68

Ppm = E ^ 1.58 '1/0.63

Vol = Fusing(tegangan , "#.##")

Locate 1 , 1

Lcd "(Vol)="

Locate 1 , 8

Lcd Vol

Locate 2 , 1

Lcd Chr(0)

Locate 2 , 2

Lcd "(PPM)=" ; Fusing(ppm , "#.##")

If Tegangan < 4.45 Then

Portd = &B11110011 ‘led hijau aktif

Portb.0 = 0

End If

If Tegangan >= 4.45 Then

Portd = &B00111111 ‘led merah aktif

Portb.0 = 1 ‘buzzer aktif

End If

Loop
'------------------------ end

Penjelasan Program dan Kalibrasi

Pejelasan program dan kalibrasi ini akan membahas bagaimana cara untuk menampilkan
tegangan output sensor dan cara kalibrasi sensor TGS2610.

a. Cara Menampilkan Tegangan Keluaran Pada LCD

Untuk mengetahui bagaimana cara agar didapat kadar PPM dalam udara, yang harus
dilakukan adalah mengetahui tegangan output sensor TGS2610 terlebih dahulu, sehingga akan
didapat nilai Rs dan Ro nya yang kemudian akan diolah ke dalam bentuk PPM. cara agar bisa
menampilkan tegangan output sensor TGS2610 pada LCD yaitu dengan menggunakan rumus berikut
pada program Bascom-AVR

Jadi tegangan output dari port ADC dibagi dengan nilai 1023 karena mikrokontroler
sebelum menampilkan data ke layar LCD dari port ADC, dia mengalikan cacahan dengan 1024,
cacahan yang dilakukan mokrokontroler lebih detailnya dari 0 sampai 1023, maka dari harus dibagi
dengan nilai 1023 agar diketahui nilai yang sebenarnya dari ADC tanpa dikali dengan pencacah. Data
yang telah dibagi kemudian dikalikan tegangan ADC yaitu tegangan AVCC, biasanya tegangan VCC ini
berkisar antara 4,9 v sampai 5,20 v tergantung dari regulator yang dipakai, jadi akan didapat nilai
tegangan output dari suatu sensor, namun perlu dilakukan kalibrasi terlebih dahulu terhadap data
tegangan ini dengan membandingkan antara tampilan tegangan output pada LCD dengan
multimeter, berikut tabel perbandingan data yang telah diambil dengan menggunakan rumus
tegangan diatas.
Tabel 6.11.2 Tabel Pengujian Keakuratan Data ADC

Kalibrasi ADC (Volt)

Tegangan ADC Tegangan Multimeter

0,11 0,11

0,14 0,14

0,34 0,33

1,20 1,20

2,37 2,36

4,26 4,26

Dari tabel diatas jelas sekali persamaan yang didapat antara menggunakan rumus dengan
pengukuran secara langsung dengan multimeter, hanya berbeda 0,01 yang artinya telah layak
dipakai untuk suatu pengukuran.

b. Konversi dari Tegangan ke PPM

Konversi dari nilai tegangan yang telah didapat ke PPM memang agak panjang namun
semuanya masih dalam kotegori mudah. Pertama mengambil data dari grafik datasheet sensor
mengenai Rs / Ro terhadap kadar gas PPM seperti grafik berikut ini.
Dari grafik tersebut jika diambil data per kenaikannya maka akan menghasilkan seperti data
pada tabel berikut.

Tabel 6.11.3 Tabel Sensitivitas Rs/Ro dengan PPM Melalui Grafik

Rs/Ro PPM

2,8 300

2,7 400

2 500

1,9 600

1,8 700

1,7 800

1,6 900
1,5 1000

0,9 2000

0,75 3000

0,6 4000

0,5 5000

0,49 6000

0,4 7000

0,39 8000

0,35 9000

0,3 10000

Dari data tersebut dapat diketahui senstvitas yang sebenarnya dari sensor TGS2610 untuk
melakukan konversi ADC ke PPM dengan menghitung tiap kenaikan dari Rs/Ro terhadap PPM, Data
yang telah didapat dikalkulasi menggunakan microsoft excel dan tampilan grafik sehingga akan
menghasilkan tampilan seperti berikut.
Dari grafik 5,36 dapat dilihat bahwa terdapat nilai R2= 0,994, yang artinya tingkat
keakuratannya 99,4 % dan selisih antara data kesatu, kedua dan seterusnya tidaklah berbeda jauh.
Nilai y = 112,1 x-0,63 adalah nilai yang akan digunakan untuk konversi tegangan ke PPM, X mewakili
kadar gas dalam PPM dan Y mewakili nilai Rs/Ro, bagaimana cara menampilkan nilai tersebut pada
ms.Excel? berikut caranya

Setelah dipilih pada menu scatter, maka ms.Excel akan menampilkan grafik yang telah dipih
sebelumnya. Kemudian pada tampilan grafik klik kanan tepat di garis grafiknya, Pilih menu Add
trendline.... sehingga akan menampilkan suatu layar setting untuk menampilkan option trendline.
Setelah itu pilih pilihlah option Power pada trendline option, centang / check pada check list display
equation on chart dan display R-squared on chart. Seperti yang ditunjukkan pada gambar berikut
Jika langkah-langkah diatas telah dilakukan dengan benar maka akan nampak nilai persamaan
antara faktor Rs/Ro dengan kadar gas PPM dan juga akan nampak tingkat keakuratan mengenai
selisih data yang didapat dari data pertama hingga terakhir.
Langkah kedua setelah tampilan grafik didapat adalah menghitung nilai Ro untuk
mendapatkan nilai Rs/Ro. Nilai Ro dan Rs didapat memalui rumus berikut

Ro adalah nilai resistansi sensor saat kondisi Rs bernilai 1800 ppm, saat kondisi 1800ppm
disini diartikan saat kondisi udara normal, tanpa tercampur oleh gas propana dan butana, karena
keadaan 1800ppm adalah keadaan awal atau minimal dari Rs sebelum mendeteksi kadar gas,
sehingga jika kondisi awal maka VRl yang dihasilkan adalah 0,08 volt, nilai tegangan 0,08 volt diambil
dari nilai minimal yang dikeluarkan oleh sensor saat Rs bernilai 1800ppm, sehingga jika dimasukkan
ke rumus hasilnya. Vc pada rumus adalah tegangan AVCC yang digunakan untuk mengaktifkan
rangkaian. RL pada rumus adalah Variabel resistor yang digunakan, untuk alat ini menggunakan RL
sebesar 10K.

Ro = 5,15 - 0,08 = 5,07

Ro = 5,07 / 0,08 = 63,375

Ro = 63,375 * 10000

Ro = 633750

Nilai Ro telah didapat yaitu 633750, sehingga dari nilai Ro tersebut bisa digunakan untuk
mencari nilai Rs/Ro, dengan Rs adalah kondisi sensor mendeteksi berbagai variasi kadar gas diudara,
maka dari itu pada program bascom dinyatakan sbb
D adalah nilai dari Rs / Ro yang mana nilai D ini yang akan dikonversikan kedalam PPM melalui
rumus konversi yang didapat dari grafik yaitu y = 112,1 x -0,63 berikut penjelasan dari rumus konversi.
Yang perlu diingat yaitu Y mewakili kadar gas dalam PPm dan X mewakili nilai Rs / Ro.

y = 112,1 x-0,63

y = 112,1 / x 0,63

x 0,63 = 112,1 / y

x 0,63 = (112,1 / y) 1

x 0,63/0,63 = (112,1 / y) 1/0,63

X = (112,1 / y) 1,58

Dari proses konversi diatas didapatlah rumus untuk mengubah nilai tegangan yang telah
dirubah kedalam Rs dan Ro menjadi PPM. rumusnya sbb.

PPM = (112,1 / (Rs/Ro) ) 1,58

Diprogram bascom AVR Rs/Ro didefinisikan sebagai variabel D dan hasil dari pembagian
antara 112,1 dengan Rs/Ro didefinisakan dalam variabel E. Berikut program bascom yang
menjelaskan tentang rumus tersebut

D = Rs / Ro

E = 112.1 / D

Ppm = E ^ 1.58

Kadar PPM yang telah didapat menggunakan rumus yang tertampil pada layar LCD harus
dikalibrasi lagi dengan cara menyesuaikan dengan grafik datasheet apakah benar atau tidak nilai
tampilan dari Rs/Ro berbanding dengan kadar gas PPM. hasil dari kalibrasi ini seperti berikut.
Tabel 6.11.4 Tabel Pengujian Rs/Ro terhadap PPM Menggunakan Rumus

Rs/Ro PPM

0,83 2307

0,79 2505

0,88 2115

0,93 1929

Cara Penggunaan Alat

Cara penggunaan alat detektor gas LPG ini tidaklah sulit, hanya perlu memberikan catu
daya 12 v atau 9 v jika terdapat rangkaian regulator sehingga lampu led hijau akan menyala untuk
mengindikasikan bahwa kadar ruangan akan gas LPG masih aman.

Saat pengaktifan alat, led putih akan menyala terlebih dahulu selama 90 detik dan led biru
akan menyusul 90 detik juga, sehingga total 180 menit yang mana telah memenuhi standart untuk
heater pada sensor TGS2610.

Setelah itu letakkan alat ini didekat tabung gas LPG dengan jarak kurang dari 50 cm, jika
terdeteksi ada kadar gas LPG yang bocor maka tampilan nilai tegangan dan nilai PPM akan naik
sesuai dengan kadar gas LPG diruangan tersebut. Buzzer dan led merah akan aktif jika tegangan
keluaran dari sensor > = 4,45 volt sesuai dengan alat yang terdapat dilapangan yang menggunakan
sensor MQ5.

Anda mungkin juga menyukai