Deprecated: Required parameter $output follows optional parameter $depth in /home/pkaykstj/andiandaria.trinita.ac.id/wp-content/themes/jannah/framework/classes/class-tielabs-mega-menu.php on line 451
Pertemuan 10 (Interface Input Analog (ADC) – 2) – Charissa
Periferal dan Antarmuka

Pertemuan 10 (Interface Input Analog (ADC) – 2)

Tujuan Pembelajaran

1. Mahasiswa mampu mengimplementasikan fungsi antarmuka ADC pada mikrokontroler AVR dan Arduino.
2. Mahasiswa mampu membuat rangkaian dan pemrograman antarmuka ADC pada mikrokontroler AVR dan Arduino.

5.5 Interface ADC di Mikrokontroler AVR

Pembacaan ADC pada mikrokontroler jenis AVR pada umumnya mempunyai resolusi pembacaan 8bit atau 10 bit, artinya nilai pembaccan analog dari sensor akan dirubah menjadi nilai digital 8bit(256 keadaan) atau 10bit(1024 keadaan), berikut adalah rumus mencari nilai ADC.

Keterangan :
1. ADC: analog to digital konverter
2. Vin : Hasil Ukuran tegangan pada sensor
3. digital bit rate : resolusi bit bisa menggunakn 8bit atau 10bit.
4. Vreff: tegangan referensi yang akan digunakan untuk mengelolah ADC biasanya menggunakan tegangan 5v
Berikut adalah contoh rangkaian sederhan dan pemrograman interface ADC menggunakan Mikrokontroler AVR ATmega16.

5.5.1 Rangkaian

Berikut adalah contoh rangkaian mikrokkontroler AVR ATmega16 yang mnrggunakan interface ADC sensor Cahaya Photodiode ditambahkan dengan interface LCD untuk menampilkan nilai digital atau hasil conversi dari tegangan analog.

Gambar 5.8: Interface ADC dengan LCD

Pada mikrokontroler AVR untuk dapat berkomunikasi menggunakan antarmuka input analog harus menggunakan kaki pin ADC.

Beberapa mikrokontroler keluaran Atmel masih belum menggunakan fitur pin ini jadi pada penggunaan mikrokontroler yang tidak memiliki pin ini harus menggunakan rangkaian pembanding terlebih dahulu (komparator ADC).

Adapun contoh mikrokontroler keluaran Atmel seri AVR yang telah menyediakan fitur pin ADC adalah mikrokontroler AVR ATmega8538, ATmega8, ATmega16, ATmega32 dan ATmega128.

5.5.2 Pemrograman

Berdasarkan dari rankaian diatas, dapat diatur pada aplikasi codevisionAVR dengan mengaktifkan fitur ADC dan menggunakan rate 8 bit pembacaan.

Gambar 5.9: pengaturan untuk mengaktifkan ADC 8 bit

Setelah melakukan pengaturan seperti gambar 5.9, maka pada source code akan langsung otomatis tersedia perintah untuk membaca data ADC. Perintah dalam pembacaan ADC adalah

read adc(pin);

contoh :

read adc(0)

artinya kita akan mengelolah data sensor yang terhubung pada pin ADC.0.

Berikut source code lengkap untuk membaca data ADC dan menampilkannya pada LCD. Interface ADC di Mikrokontroler AVR 91

Listing Program:

5.6 Interface ADC di Arduino

Pembacaan ADC pada Arduino umumnya menggunakan resolusi pembacaan 10 bit (1024 keadaan/kondisi).

5.6.1 Rangkaian

Berikut adalah contoh rangkaian Arduino UNO yang menggunkan interface ADC sensor Cahaya ditambahkan dengan Interface LCD untuk menampilkan nilai digital atau nilai hasil konversi dari tegangan analog pada sensor.

Gambar 5.10: Interface ADC dengan LCD

5.6.2 Pemrograman

Pada program arduino sudah otomatis menyediakan fitur yang membaca data analog (ADC), fitur tersebut adalah

analog.Read(pin);

contoh :

analog.Read(A0);

artinya program akan membaca data sensor yang terhubung pada pin A0. Berikut source code lengkap untuk membaca data ADC dan menampilkannya di LCD.

Listing Program:

Rangkuman

1. Data analog adalah sinyal data dalam bentuk gelombang yang yang kontinyu, yang membawa informasi dengan mengubah karakteristik gelombang
2. Gelombang pada sinyal analog yang umumnya berbentuk gelombang sinus memiliki tiga variable dasar, yaitu amplitudo, frekuensi dan phase.
3. ADC (Analog To Digital Converter) adalah perangkat elektronika yang berfungsi untuk mengubah sinyal analog (sinyal kontinyu) menjadi sinyal digital
4. Prinsip kerja ADC adalah mengkonversi sinyal analog ke dalam bentuk besaran yang merupakan rasio perbandingan sinyal input dan tegangan referensi. Sebagai contoh, bila tegangan referensi 5 volt, tegangan input 3 volt, rasio input terhadap referensi adalah 60%. Jadi, jika menggunakan ADC 8 bit dengan skala maksimum 255, akan didapatkan sinyal digital sebesar 60% x 255 = 153 (bentuk decimal) atau 10011001 (bentuk biner)
5. Jenis ADC ada tiga yaitu ADC Simultan, Counter Ramp ADC, dan ADC SAR.
6. Penggunaan data analog terkhusus pada pembacaan ADC lebih banyak digunakan pada perangkat interface yang berupa sensor yang memiliki kondisi lebih dari 2 keadaan standar seperti sensor cahaya, suhu, tekanan, kecepatan, magnet, panyandi, aliran, flame.
7. ADC pada mikrokontroler AVR maupun Arduino menggunakan resolusi pembacaan 8 bit atau 10 bit.
8. Pemrograman ADC pada mikrokontroler AVR menggunakan perintah “read adc(pin);”, sedangkan pada Arduino menggunakan perintah “analoRead(pin);”

Tugas Formatif

Jelaskan perangkat yang dapat diimplementasikan menggunakan data ADC menggunakan mikrokontroler AVR maupun Arduino?

Tugas Latihan

1. Buatlah rangkaian dan program menggunakan mikrokontroler AVR dan Arduino menggunakan interface 1 buah LCD, dan 1 buah sensor warna menggunakan Photodiode.
2. Buatlah dengan algoritma, jika benda warna merah didekatkan pada sensor makan akan muncul tulisan pada LCD “MERAH”, begitupun untuk warna lain, buatlah agar alat mengenali minimal 3 warna.

Daftar Pustaka

1. Adrianto, H.: 2013, Pemrograman Mikrokontroler AVR ATmega16 Menggunakan Bahasa C (CodeVisionAVR), Informatika bandung, Bandung.
2. Adrianto, H.: 2015, Pemrograman Mikrokontroler AVR ATmega16 Menggunakan Bahasa C (CodeVisionAVR), Informatika bandung, Bandung.
3. E. Knuth, D.: 2011, The Art of Computer Programing, Addison Wesley, United States.
4. Fahmizal: 2011, Jenis dan Tipe Motor Servo. URL: https://fahmizaleeits.wordpress.com/
5. Fauzi, F. A.: 2015, Downloader). URL: https://fajarahmadfauzi.wordpress.com/
6. Grupta, M.: 2012, Perkenalan Seputar Mikrokontroler. URL: https://guptayp.wordpress.com/
7. Iswanto: 2011, Belajar Mikrokontroler AT89S51 dengan Bahasa C, CV Andi Offset, Yogyakarta.
8. Kadir, A.: 2015, Buku Pintar Pemrograman Arduino, MediaKom, Yogyakarta.
9. Rachmat, O.: 2012, Panduan Praktis Membuat Robotik dengan Pemrograman C++, CV Andi Offset, Yogyakarta.
10. Rangkuti, S.: 2011, Mikrokontroler Atmel AVR Simulasi dan Praktik Menggunakan ISIS Proteus dan CodeVisionAVR, Informatika Bandung, Bandung.
11. Saputra, E.: 2015, Materi dasar Algoritma dan Pemograman. URL: https://suhaebiebi40.wordpress.com/
12. Spurianto: 2015, Pengertian Push Button Switch (Saklar Tombol Tekan)). URL: http://blog.unnes.ac.id/
13. Syahrul: 2012, Mikrokontroler AVR ATmega8535, Informatika Bandung, Bandung.
14. syarif, m.: 2014, Serial Pheripheral Interface (SPI) dan Universal Synchronous Asynchronous Receiver Transmitter (USART). URL: http://muhammadsyarif.ilearning.me/
15. Wangready: 2012, Kendali Motor Servo Menggunakan PWM dari Timer). URL: https://wangready.wordpress.com/
16. zonaelektro.net: 2014, ADC (Analog To Digital Converter). URL: http://zonaelektro.net/adc-analog-to-digital-converter/

Related Articles

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Back to top button