- Komponen yang Diperlukan
- Modul PCF8591 ADC / DAC
- Pin I2C di Raspberry Pi
- Interfacing Modul PCF8591 ADC / DAC dengan Raspberry Pi
- Program Python untuk Konversi Analog ke Digital (ADC)
Konversi analog ke digital adalah tugas yang sangat penting dalam elektronik tertanam, karena sebagian besar sensor memberikan output sebagai nilai analog dan untuk memasukkannya ke dalam mikrokontroler yang hanya memahami nilai biner, kita harus mengubahnya menjadi nilai digital. Sehingga untuk dapat mengolah data analog tersebut, mikrokontroler membutuhkan Analog to Digital Converter.
Beberapa mikrokontroler memiliki ADC bawaan seperti Arduino, MSP430, PIC16F877A tetapi beberapa mikrokontroler tidak memiliki seperti 8051, Raspberry Pi dll dan kita harus menggunakan beberapa IC converter Analog ke digital eksternal seperti ADC0804, ADC0808. Di bawah ini Anda dapat menemukan berbagai contoh ADC dengan mikrokontroler berbeda:
- Bagaimana cara menggunakan ADC di Arduino Uno?
- Tutorial ADC Raspberry Pi
- Menghubungkan ADC0808 dengan Mikrokontroler 8051
- Voltmeter Digital 0-25V menggunakan Mikrokontroler AVR
- Cara menggunakan ADC di STM32F103C8
- Cara menggunakan ADC di MSP430G2
- Cara menggunakan ADC di ARM7 LPC2148
- Menggunakan Modul ADC Mikrokontroler PIC dengan MPLAB dan XC8
Dalam tutorial ini, kita akan belajar bagaimana menghubungkan modul PCF8591 ADC / DAC dengan Raspberry Pi.
Komponen yang Diperlukan
- Raspberry-pi
- Modul ADC PCF8591
- Pot 100K
- Kabel jumper
Diasumsikan Anda memiliki Raspberry Pi dengan OS Raspbian terbaru yang diinstal di dalamnya dan Anda tahu cara SSH ke Pi menggunakan perangkat lunak terminal seperti putty. Jika Anda baru mengenal Raspberry Pi, ikuti artikel ini untuk memulai Raspberry Pi. Masih jika Anda menghadapi masalah apa pun maka ada banyak Tutorial Raspberry Pi yang dapat membantu.
Modul PCF8591 ADC / DAC
PCF8591 adalah modul konverter analog ke digital 8 bit atau digital ke analog 8 bit yang berarti setiap pin dapat membaca nilai analog hingga 256. Ini juga memiliki sirkuit LDR dan termistor yang disediakan di papan. Modul ini memiliki empat masukan analog dan satu keluaran analog. Ini berfungsi pada komunikasi I 2 C, jadi ada pin SCL dan SDA untuk jam serial dan alamat data serial. Ini membutuhkan tegangan suplai 2.5-6V dan memiliki arus siaga rendah. Kita juga dapat memanipulasi tegangan input dengan mengatur kenop potensiometer pada modul. Ada juga tiga jumper di papan tulis. J4 terhubung untuk memilih sirkuit akses termistor, J5 terhubung untuk memilih sirkuit akses resistor LDR / fotodan J6 terhubung untuk memilih sirkuit akses tegangan yang dapat disesuaikan. Ada dua LED pada papan D1 dan D2- D1 menunjukkan intensitas tegangan keluaran dan D2 menunjukkan intensitas tegangan suplai. Semakin tinggi tegangan output atau suplai, semakin tinggi intensitas LED D1 atau D2. Anda juga dapat menguji LED ini dengan menggunakan potensiometer pada VCC atau pada pin AOUT.
Pin I2C di Raspberry Pi
Untuk menggunakan PCF8591 dengan Raspberry Pi, hal pertama yang harus dilakukan adalah mengetahui pin port Raspberry Pi I2C dan mengkonfigurasi port I2C di Raspberry pi.
Di bawah ini adalah Diagram Pin Raspberry Pi 3 Model B +, dan pin I2C GPIO2 (SDA) dan GPIO3 (SCL) digunakan dalam tutorial ini.
Konfigurasi I2C di Raspberry Pi
Secara default, I2C dinonaktifkan di Raspberry Pi. Jadi pertama-tama itu harus diaktifkan. Untuk mengaktifkan I2C di Raspberry Pi
1. Buka terminal dan ketik sudo raspi-config.
2. Sekarang Alat Konfigurasi Perangkat Lunak Raspberry Pi muncul.
3. Pilih opsi Interfacing dan kemudian aktifkan I2C.
4. Setelah mengaktifkan I2C reboot Pi.
Memindai Alamat I2C PCF8591 menggunakan Raspberry Pi
Sekarang untuk memulai komunikasi dengan IC PCF8591, Raspberry Pi harus mengetahui alamat I2C-nya. Untuk mengetahui alamatnya terlebih dahulu sambungkan pin SDA dan SCL PCF8591 ke pin SDA dan SCL Raspberry Pi. Hubungkan juga pin + 5V dan GND.
Sekarang buka terminal dan ketik perintah di bawah ini untuk mengetahui alamat perangkat I2C yang terhubung, sudo i2cdetect –y 1 atau sudo i2cdetect –y 0
Setelah menemukan alamat I2C sekarang waktunya untuk membangun sirkuit dan menginstal pustaka yang diperlukan untuk menggunakan PCF8591 dengan Raspberry Pi.
Interfacing Modul PCF8591 ADC / DAC dengan Raspberry Pi
Diagram sirkuit untuk Interfacing PCF8591 dengan Raspberry Pi sederhana. Dalam contoh interfacing ini, kita akan membaca nilai analog dari salah satu pin analog dan menampilkannya di terminal Raspberry Pi. Kita dapat mengubah nilai menggunakan pot 100K.
Hubungkan VCC dan GND ke GPIO2 dan GPIO dari Raspberry Pi. Selanjutnya, hubungkan SDA dan SCL ke GPIO3 dan GPIO5 masing-masing. Terakhir, hubungkan pot 100K dengan AIN0. Anda juga dapat menambahkan LCD 16x2 untuk menampilkan nilai ADC alih-alih menampilkannya di Terminal. Pelajari lebih lanjut tentang antarmuka LCD 16x2 dengan Raspberry Pi di sini.
Program Python untuk Konversi Analog ke Digital (ADC)
Program lengkap dan video kerja diberikan di akhir tutorial ini.
Pertama, impor pustaka smbus untuk komunikasi bus I 2 C dan pustaka waktu untuk memberikan waktu tidur antara pencetakan nilai.
impor waktu impor smbus
Sekarang tentukan beberapa variabel. Variabel pertama berisi alamat bus I 2 C dan variabel kedua berisi alamat pin input analog pertama.
alamat = 0x48 A0 = 0x40
Selanjutnya, kita telah membuat objek dari fungsi SMBus (1) dari library smbus
bus = smbus.SMBus (1)
Sekarang, di saat baris pertama memberitahu IC untuk membuat pengukuran analog pada pin input analog pertama. Baris kedua menyimpan alamat yang dibaca pada pin analog dalam nilai variabel. Terakhir, cetak nilainya.
sementara Benar: bus.write_byte (alamat, A0) nilai = bus.read_byte (alamat) cetak (nilai) waktu.sleep (0,1)
Sekarang akhirnya simpan kode python di beberapa file dengan entensi.py dan jalankan kode di terminal raspberry Pi dengan menggunakan perintah di bawah ini "
python filename.py
Sebelum menjalankan kode, pastikan Anda telah mengaktifkan komunikasi I 2 C dan semua pin terhubung seperti yang ditunjukkan pada diagram, jika tidak maka akan muncul kesalahan. Nilai analog harus mulai muncul di terminal seperti di bawah ini. Sesuaikan kenop pot, dan Anda akan melihat perubahan nilai secara bertahap. Pelajari lebih lanjut tentang menjalankan program dalam
Kode python lengkap dan Video diberikan di bawah ini.