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.
Misi gan, dari beberapa penjelasan agan di atas,, saya ingin tau gimana cara nya buat grafik dan cari persamaan grafik t gimana ? mohon bimbingan nya gan….
Persamaan grafik t yang mana mas? Grafik untuk apa?
misi gan, ini tegangan yg diukur tegangan DC atau AC ya….?
Kalau yang ini DC mas. Tegangan output dari potensiometer saya masukkan ke ADC.
halo mas riski, mau nanya.
kalo mau konversi tegangan ke PPM gimana ya, tapi alat untuk mengukur PPM nya ga ada. bisa ga di koneversikan kalo dari lihat datasheet nya masing-masing? caranya gimana mas. saya make sensor MQ 131, MQ7, MG811 dan MQ 136.
Terimakasih mas
Halo mas
Di datasheet ada data tentang hubungan keluaran sensor dengan konsentrasi zat yang diukur nggak? Kalau ada dan yakin tentang nilai di datasheet itu, mungkin bisa. Tapi saya tidak menyarankan untuk melakukan hal itu. Dalam merancang alat, mas pasti punya rancangan sistem elektronik sendiri mulai dari penguatan dan lainnya, sehingga menurut saya, alat yang mas buat punya karakter sendiri dan punya persamaan konversi sendiri. Jadi kalau saya pribadi tetap akan membandingkan dengan alat ukur standar untuk menilai kebenaran konsenttrasi yang diukur. Bandingkan keluaran nilai keluaran sensor dan nilai PPM alat yang sudah standar. Semoga menjawab pertanyaannya mas
gini mas, penelitian saya itu mau buat alat pendeteksi polusi udara menggunakan sensor MQ 131, MQ7, MG811 dan MQ 136 yang di pasang di arduino. kalo hasil bacaan awal sensor kan nilainya masih berupa nilai ADC ? sementara untuk sensor itu, satuan outputnya berupa PPM (part per milion). saya mengalami kesulitan untuk mengubah nilai tegangan ke PPM karena keterbatasan referensi.
untuk data sheet masing-masing sensor ada, dan range sensivitas sensor juga ada. misalnya untuk MQ 7 dia dapat mengukur tingkat gas CO itu antara 20 ppm – 2000 ppm. saya berharap mas riski bisa membantu masalah saya. ataupun jika mas punya referensi, saya akan sangat senang untuk mempelajarinya.
terimakasih mas
Begini mas, untuk mengubah nilai ADC mas harus punya alat standar sebagai pembanding untuk mengukur konsentrasi. Prosesnya seperti ini,
Nilai ADC ————————— PPM alat ukur standar
100———————————- 20 PPM
150———————————- 30 PPM
200———————————- 40 PPM
250———————————- 50 PPM
dan seterusnya.
Selanjutnya, buat grafik dengan sumbu X adalah nilai ADC dan sumbu Y adalah nilai PPM. Dari grafik itu, tarik garis regresinya mas, dan nanti ada persamaannya. Persamaan tersebut yang digunakan untuk konversi nilai ADC ke PPM. Misal persamaannya y=20x+10. Nah, x disini adalah nilai ADC dan y adalah nilai PPM. Jadi misal mas dapat nilai ADC 10, maka nilai PPM adalah 210. Semoga sedikit membantu mas
Terimakasih atas ilmunya sangat bermanfaat dan bahasanya mudah dimengerti
Semoga bermanfaat mas
halo mas .mau tanya kalau untuk mengkonversikan outputan dari sensor MQ3 menjadi satuan persen di lcd bagaimana ya mas ? . terimakasih
Untuk pertanyaan yang ini sudah pernah ditanyakan mas. Jawaban saya ada di atas. Nanti mas tinggal ubah satuannya saja dalam bentuk persen. Tetapi tentunya harus ada alat standar sebagai pembanding.
Halo mas mau nanya, untuk jawaban dari yang MQ-3 ada dimana ya mas? soalnya saya cari ga ada. Trs kalo pake yang volt hasilnya berbeda. makasih sblumya
Ada dikomen sebelumnya mbk. Cukup banyak juga yang tanya bagaimana cara konversinya.
permisi mohon bantuannya, saya menggunakan arduiono dengan e-health untuk mencari bpm dengan sensor ecg. hasil nilai sensor cg memiliki satuan V, bagaimana cara menggubah akar nilai tersebut satuannya menjadi bit ? terim kasih atas informasinya
Nilai keluaran sensor satuan V itu diukur dengan apa? Itu sudah masuk ke ADC atau bagaimana? Kalau mau mengubah ke nilai desimal, masukkan saja ke ADC.
Saya mau nanya mas, kalau dari nilai tegangan yang terbaca itu mau kita rubah ke derajat arah (0 sampai 360 deraiat) gimana yah mas?
Sensor sudut yang digunakan apa mas?
terimaksih mas, saya mau tanya, saya kan ingin memasukkan output dari fotodioda ke arduino dan tegangn keluaran fotodioda itu juga saya ukur dengan multimeter, kalau tegangannya makin besar, ADC makin kecil.. sesuai itu mas?
Apa pengukurannya sudah benar mas? Tegangan output semakin besar nilai ADC semakin kecil?
Mas Rizki,
mau Tanya untuk rumus sensor suara (ADC) ke Decibel dan di tampilkan ke LCD?
mungkin ada literature,
ini yang saya dapat dari browsing
double db = (20. * log(10)) * (sensorValue / 5.);
tapi masih kurang akurat?
tks
Maaf mas, sensor yang digunakan sensor apa? Kalau menurut saya harus dibandingkan dengan alat standar mas. Jadi mas mencatat nilai ADCnya dan nilai pembacaan pada alat standar. Misal
ADC Alat standar
50 50 dB
100 75 dB
150 85 dB
… …
Begitu seterusnya. Nanti mas buat grafik sumbu x ADC sumbu y intensitas. Dari situ tarik garis regresinya mas, nah persamaan regresi itu yang dapat digunakan untuk konversi nilai ADC jadi dB. Semoga membantu
Mas mau tanya, kalau sensor saya piezoelectric(sebagai input) dan untuk rentangnya dari 0v-1.5v . apakah bisa membaca tegangan adc sesuai yang ada di blog ini?
trims
Bisa saja kok mas
mas klu alat standar itu untuk mengetahui nilai ADC nya bagaimana?
Berdasarkan pengalaman mas, mayoritas alat yang standar dan tersertifikasi itu sudah tertutup. Jadi penggunanya tidak bisa ambil data nilai ADC nya karena harus akses ke mikrokontrolernya. Tapi kalau untuk orang-orang yang niat, ‘penggila’ hardware atau elektronik bisa saja mereka ngoprek untuk routing (cari track pcbnya), cari komponennya masing-masing, dan baca datasheetnya kemudian ‘nguping’ sinyal yang masuk ke ADC. Jadi intinya, sepengetahuan saya, nilai ADC dari suatu alat yang standar sulit untuk diakses oleh pengguna.
mau nanya mas, bisa tidak kalau yang tegangan yang diukur itu nilainya mili volt trus caranya agar nilai tesebut bisa dikirimkan ke handphone dengan module gsm seperti apa/bagaimana??
Rentang tegangan yang dibaca berapa mas? Kenapa tidak diperkuat dengan amplifier? Saran saya tegangan orde milivolt perkuat dulu dengan amplifier hingga rentang 0-5V setelah itu kirimkan dengan modul gsm.
kak mau nanya ada rumus program arduino konversi dari berat ke liter,gak?
Rumus itu ditulis sendiri. Ingat massa jenis dari seuatu benda yang merupakan hasil bagi antara massa dengan volumenya rho = massa/volume. Setiap benda memiliki massa jenis sendiri. Bagaimana mengetahui massa jenis suatu benda? Bisa cari diinternet karena itu sebuah tetapan.
Punten mas mau tanya, kalo hasil programnya ditampilkan lewat LCD kira2 kodingannya jadi seperti apa ya mas ?
makasih
Maaf mas, sudah coba cari diinternet kah? Karena contoh program LCD sangat banyak
Permisi gan mau nanya..
Gimana cara mengkonversi tegangan output yang dihasilkan slider potensiometer menjadi mm ?
nuhun
Untuk konversi berarti harus ada persamaan (rumus). Untuk mendapatkan persamaannya, mas harus melakukan pengukuran. Kemudian buat grafik dari dara yang didapatkan. Saya beri contoh
Pergeseran—————–tegangan
1 mm———————–>10 mV
2 mm———————–>20 mv
3 mm———————–>30 mv
4 mm———————–>40 mV
dst
Dari data yang didapatkan, mas harus buat grafik. Sumbu X adalah tegangan keluaran, sumbu y adalah pergeseran. Setelah itu tarik garis regresi dan lihat persamaannya. Persamaan itu yang digunakan untuk konversi dari tegangan menjadi mm. Buat saja grafik di excel, cukup mudah kok. Semoga membantu
Gan mau tanya
Rumus untuk menghitung desibel seperti apa
Ini menggunakan sensor v2 dengan arduino
Tks
Sensor suara V2? Keluaran sensor tersebut adalah tegangan analog. Untuk mengubah menjadi dB, anda harus punya alat pembanding misalnya pengukur intesitas suara yang sudah standar. Ukur keluaran sensor pada berbagai taraf intensitas, buat grafik, tarik garis regresi, dan persamaan garis regresi tersebut yang digunakan untuk konversi. Mas bisa baca komentar yang sudah ada di tulisan ini mas. Caranya sama kok
gan, boleh nanya saya ada penelitian tentang wsn, saya mau nanya: bagaimana cara menghitung berapa daya pada saat transmisi antar node 1 ke node 2 untuk menghitung lifetime baterai pada node sensor. mohon bantuannya gan!
Waduh maaf mas, saya belum tau apapun tentang itu.
kak mau tanya, untuk besar nilai input tegangan agar dapat terukur di arduino nano ini sendiri apakah ada batasannya? apakah harus 5 volt?
Semua perangkat punya batasan, itu bisa dilihat di datasheet nya. Maksimalnya 5 Volt, bukan harus 5 volt. Jadi kalau inputnya kurang dari 5 Volt bisa saja
makasih banyak kak! membantu banget buat tugas matkul mekatronika 😀
permisi mau tanya mas
kalau untuk soil moisture hasilnya dirubah ke persentase gmn ya mas??
Thx
Bisa dilihat dulu di datasheet sensornya mas untuk konversi jadi persen.
ka mau tanya, kalau untuk sensor tekanan MPX5050DP apa proses konversinya sama aja ?
Cara konversi untuk sensor tersebut sudah ada di datasheetnya. Keluaran sensor tersebut berupa tegangan analog yang sebanding dengan perbedaan tekanan pada kedua inputnya. Tinggal dibaca saja berapa tegangannya kemudian dikalikan nilai sensitivity nya
ka mau tanya, kalo misal yang masuk ke analog input nya arduino itu perangkat dengan range tegangan 10v, apa ttp bisa terbaca oleh ai arduino?
Arduino apa? Tiap chip bisa beda. Tiap chip punya tegangan maksimal yang boleh diterima. Kalau Arduino UNO tidak boleh melebihi 5V, kalau Arduino DUE maksimal 3.3V
Gan, ane mau tanya. Kalau inputnya adalah tegangan sinus AC 4Vpp apakah untuk konversi ke 10 bit juga sama caranya?
Cara baca ADC sama saja kok.
Kan ini ane lagi bikin tapis digital gan. Untuk masukannya kan sama cara konversi ke 10 bit. Nah kalo untuk keluarannya apakah harus dikonversi lagi jadi analog? Kalau iya berarti harus dikali 1023/5 kah? Keluaranya mau ditampilkan ke osiloskop.
Kalau tampilannya mau ke osiloskop bagi saya nggak perlu dikonversi jadi tegangan. Konversi itu kan hanya untuk tampilan saja misal LCD atau serial monitor. Kalau ditampilkan diosiloskop ya langsung saja baca di pin keluaran
Permisi mas rizki, saya mau tanya mengenai perhitungan PPM,saya baca dari beberapa komentar yang dimaksud mereka mungkin bagaimana cara mendapatkan kok bisa gas tersebut dikatakan 1 ppm,2ppm,3ppm. Apa memang harus menggunakan alat aslinya? tidak ada cara alternatif lain?
Terima Kasih
Iya mas saya paham. Sejauh yang saya tau kita butuh alat standar untuk konversi ke PPM. Kalau kita tidak punya alat ukur yang standar, lalu apa acuan kita? Jadi hasil bacaan alat kita harus dibandingkan dengan hasil bacaan alat standar. Dari situ kita bisa membuat grafik dan memperoleh persamaannya
Mas, mau tanya, klo tujuan kita hanya utk menDETEKSI keberadaan gas saja, apakah alat rakitan kita perlu di kalibrasi/koreksi dg alat ukur standar? Karena di datasheetnya sensor gas kan udah ada keterangan rentang ppm yg bisa disense oleh sensor. Nah, apakah sama antara alat deteksi dengan alat ukur? Menurut saya BEDA, klo alat ukur tujuannya utk mengukur jd wajib dikalibrasi /dibandingkan dg alat standar, klo hanya sebagai alat deteksi ya tinggal menerapkan/melihat bacaan tegangan keluaran yg mas jelaskn disini. Terimakasih, mohon pencerahannya.
Menurut saya kalau hanya mendeteksi kita tidak perlu mengetahui berapa ppm gas nya. Asal ada gas, sensor mendeteksi, alarm bunyi sudah beres. Tapi kalau mau mengukur ya bagi saya harus ada pembandingnya.
Mas mau tanya bagaimana ya merubah arus dari rpm sepeda motor untuk bisa dibaca ke arduino? Saya punya rpm digital supaya bisa di baca di arduino dan digunakan sebagai swicth on/off pada rpm atau putaran tertentu harus bagaimana mas? Thanks
Cara yang sederhana, pasang resistor pada keluaran sensor ke ground seperti pada web ini >> https://electronics.stackexchange.com/questions/178212/how-to-make-current-to-voltage-converter
Halo Mas Rizki, saya mau tanya mas, saya mau membuat alat pengukuran intenstas cahaya dengan sensor fotodioda, nah saya sudah mendapatkan nilai tegangan keluaran dari sensornya saat dikenai cahaya, bagaimana yaa cara mengkonversi nilai tegangan keluaran tersebut menjadi satuan nilai photonic unit seperti candela atau lux atau lumens? karena sudah saya cari2, saya belum menemukan rumus hubungan antara tegangan keluaran fotodioda dengan lux stsu candela atau lumen.
i would really appreciate it your respon mas.
Halo, terima kasih sudah baca blog saya.
Cara konversi ini sebenarnya sudah banyak ditanyakan pembaca sebelumnya. Butuh alat ukur yang standar sebagai alat bantu konversi. Pertama intensitas cahaya diukur dengan luxmeter, kemudian diukur dengan alat buatan anda. Variasikan intensitas cahaya dan ukur dengan luxmeter standar kemudian ukur berapa tegangan tiap intensitas yang digunakan. Misalnya
Luxmeter || Hasil pembacaan alat
1 lux || 1.5 V
2 lux || 2.7 V
3 lux || 2.8 V
4 lux || 3.31 V
dst || dst
Kemudian buat plot hasil tegangan keluaran alat terhadap intensitas cahaya. Sumbu X adalah tegangan keluaran alat dan sumbu Y adalah intensitas cahaya. Selanjutnya amati grafiknya, cari daerah linearnya. Tarik garis regresi linear pada daerah itu. Persamaan garis regresi itu yang dapat digunakan untuk konversi tegangan menjadi intensitas cahaya.
Setiap fotodioda punya responnya sendiri terhadap cahaya, jadi beda dioda beda respon. Setahu saya, keluaran fotodioda adalah arus listrik, sehingga ada tekniknya untuk mengubahnya menjadi tegangan. Saya rasa tidak akan ada rumus yang spesifik untuk konversi intensitas cahaya menjadi tegangan. Itu bergantung desain alatnya juga
oh iyaa mas, mau tanya juga, apakah ada cara untuk meningkatkan resolusi analogRead (10 bit) dari arduino uno menjadi lebih tinggi lagi?
Kalau yang ini saya belum pernah. Kalau baca di forum sepertinya bisa tapi juga tidak bisa terlalu tinggi, ada batasannya