- Komponen yang Diperlukan
- Modul PCF8591 ADC / DAC
- Pin I2C di Raspberry Pi
- Memadankan Modul PCF8591 ADC / DAC dengan Raspberry Pi
- Program Python untuk Penukaran Analog ke Digital (ADC)
Penukaran analog ke digital adalah tugas yang sangat penting dalam elektronik tertanam, kerana kebanyakan sensor memberikan output sebagai nilai analog dan untuk memasukkannya ke dalam mikrokontroler yang hanya memahami nilai binari, kita harus mengubahnya menjadi nilai Digital. Oleh itu, untuk dapat memproses data analog, pengawal mikro memerlukan Analog ke Digital Converter.
Beberapa mikrokontroler telah membina ADC seperti Arduino, MSP430, PIC16F877A tetapi sebilangan mikrokontroler tidak memilikinya seperti 8051, Raspberry Pi dll dan kita harus menggunakan beberapa IC penukar analog ke digital seperti ADC0804, ADC0808. Di bawah ini anda dapat menemui pelbagai contoh ADC dengan pengawal mikro yang berbeza:
- Bagaimana Menggunakan ADC di Arduino Uno?
- Tutorial ADP Raspberry Pi
- Memadankan ADC0808 dengan Mikrokontroler 8051
- 0-25V Digital Voltmeter menggunakan AVR Microcontroller
- Cara menggunakan ADC di STM32F103C8
- Cara menggunakan ADC dalam 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
- Pai raspberi
- Modul PCF8591 ADC
- Pot 100K
- Kabel Jumper
Diasumsikan anda mempunyai Raspberry Pi dengan OS Raspbian terbaru yang terpasang di dalamnya dan anda tahu bagaimana memasukkan SSH ke dalam Pi menggunakan perisian terminal seperti putty. Sekiranya anda baru menggunakan Raspberry Pi, ikuti artikel ini untuk memulakan Raspberry Pi. Namun jika anda menghadapi sebarang masalah, terdapat banyak Tutorial Raspberry Pi yang boleh membantu.
Modul PCF8591 ADC / DAC
PCF8591 adalah modul penukar analog 8 ke digital atau 8 bit digital ke analog yang bermaksud setiap pin dapat membaca nilai analog hingga 256. Ia juga mempunyai litar LDR dan termistor yang disediakan di papan. Modul ini mempunyai empat input analog dan satu output analog. Ia berfungsi pada komunikasi I 2 C, jadi ada pin SCL dan SDA untuk jam dan alamat data bersiri. Ia memerlukan voltan bekalan 2.5-6V dan mempunyai arus siaga yang rendah. Kita juga boleh memanipulasi voltan masukan dengan menyesuaikan tombol potensiometer pada modul. Terdapat juga tiga penerjun di papan. J4 disambungkan untuk memilih litar akses termistor, J5 disambungkan untuk memilih litar akses LDR / perintang fotodan J6 disambungkan untuk memilih litar akses voltan laras. Terdapat dua LED di papan D1 dan D2- D1 menunjukkan intensiti voltan output dan D2 menunjukkan intensiti voltan bekalan. Semakin tinggi output atau voltan bekalan, semakin tinggi intensiti LED D1 atau D2. Anda juga boleh menguji LED ini dengan menggunakan potensiometer pada VCC atau pada pin AOUT.
Pin I2C di Raspberry Pi
Untuk menggunakan PCF8591 dengan Raspberry Pi, perkara pertama yang perlu dilakukan adalah mengetahui pin port Raspberry Pi I2C dan mengkonfigurasi port I2C di Raspberry pi.
Di bawah ini adalah Pin Pin of Raspberry Pi 3 Model B +, dan pin I2C GPIO2 (SDA) dan GPIO3 (SCL) digunakan dalam tutorial ini.
Mengkonfigurasi I2C dalam Raspberry Pi
Secara lalai, I2C dilumpuhkan di Raspberry Pi. Jadi pertama mesti diaktifkan. Untuk mengaktifkan I2C di Raspberry Pi
1. Pergi ke terminal dan ketik sudo raspi-config.
2. Kini Alat Konfigurasi Perisian Raspberry Pi muncul.
3. Pilih pilihan Interfacing dan kemudian aktifkan I2C.
4. Setelah mengaktifkan I2C reboot Pi.
Mengimbas Alamat I2C PCF8591 menggunakan Raspberry Pi
Sekarang untuk memulakan komunikasi dengan IC PCF8591, Raspberry Pi mesti mengetahui alamat I2C-nya. Untuk mencari alamat, sambungkan pin SDA dan SCL PCF8591 terlebih dahulu ke pin SDA dan SCL Raspberry Pi. Sambungkan juga pin + 5V dan GND.
Sekarang buka terminal dan ketik perintah di bawah ini untuk mengetahui alamat peranti I2C yang disambungkan, sudo i2cdetect –y 1 atau sudo i2cdetect –y 0
Setelah mencari alamat I2C sekarang waktunya untuk membina litar dan memasang perpustakaan yang diperlukan untuk menggunakan PCF8591 dengan Raspberry Pi.
Memadankan Modul PCF8591 ADC / DAC dengan Raspberry Pi
Gambarajah litar untuk Interfacing PCF8591 dengan Raspberry Pi adalah mudah. Dalam contoh antara muka ini, kita akan membaca nilai analog dari mana-mana pin analog dan menunjukkannya di terminal Raspberry Pi. Kita boleh mengubah nilai menggunakan pot 100K.
Sambungkan VCC dan GND ke GPIO2 dan GPIO Raspberry Pi. Seterusnya, sambungkan SDA dan SCL masing-masing ke GPIO3 dan GPIO5. Akhirnya sambungkan periuk 100K dengan AIN0. Anda juga boleh menambahkan LCD 16x2 untuk memaparkan nilai ADC dan bukannya menunjukkannya di Terminal. Ketahui lebih lanjut mengenai menghubungkan LCD 16x2 dengan Raspberry Pi di sini.
Program Python untuk Penukaran Analog ke Digital (ADC)
The program dan kerja video lengkap diberikan pada akhir tutorial ini.
Pertama, import perpustakaan smbus untuk komunikasi bas I 2 C dan perpustakaan waktu untuk memberi waktu tidur antara mencetak nilainya.
masa import smbus import
Sekarang tentukan beberapa pemboleh ubah. Pemboleh ubah pertama mengandungi alamat bus I 2 C dan pemboleh ubah kedua mengandungi alamat pin input analog pertama.
alamat = 0x48 A0 = 0x40
Seterusnya, kami telah membuat objek fungsi SMBus (1) perpustakaan smbus
bas = smbus.SMBus (1)
Sekarang, sementara baris pertama memberitahu IC untuk membuat pengukuran analog pada pin input analog pertama. Baris kedua menyimpan alamat yang dibaca pada pin analog dalam nilai berubah. Akhirnya cetak nilai.
sementara Benar: bus.write_byte (alamat, A0) nilai = bus.read_byte (alamat) cetakan (nilai) masa. tidur (0.1)
Sekarang akhirnya simpan kod python dalam beberapa fail dengan entri.py dan jalankan kod di terminal raspberry Pi dengan menggunakan perintah di bawah ini "
nama fail python.py
Sebelum menjalankan kod pastikan anda telah mengaktifkan komunikasi I 2 C dan semua pin disambungkan seperti yang ditunjukkan dalam rajah, jika tidak, ia akan menunjukkan kesilapan. Nilai analog mesti mula muncul di terminal seperti di bawah. Laraskan tombol periuk, dan anda akan melihat perubahan nilai secara beransur-ansur. Ketahui lebih lanjut mengenai menjalankan program di
Kod python lengkap dan Video diberikan di bawah.