- Potrebne komponente
- PCF8591 ADC / DAC modul
- I2C igle u Raspberry Pi
- Povezivanje PCF8591 ADC / DAC modula s Raspberry Pi
- Python program za analognu u digitalnu konverziju (ADC)
Analogno u digitalno pretvaranje vrlo je važan zadatak u ugrađenoj elektronici, budući da većina senzora daje izlaz kao analogne vrijednosti i da bi ih uložili u mikrokontroler koji razumije samo binarne vrijednosti, moramo ih pretvoriti u digitalne vrijednosti. Da bi mikrokontroleri mogli obrađivati analogne podatke, trebaju analogni u digitalni pretvarač.
Neki mikrokontroleri imaju ugrađeni ADC poput Arduina, MSP430, PIC16F877A, ali neki mikrokontroleri ga nemaju poput 8051, Raspberry Pi itd., A mi moramo koristiti neke vanjske IC-ove analognog u digitalni pretvarač poput ADC0804, ADC0808. Ispod možete pronaći razne primjere ADC-a s različitim mikrokontrolerima:
- Kako koristiti ADC u Arduino Uno?
- Vodič za ADC za Raspberry Pi
- Povezivanje ADC0808 s 8051 mikrokontrolerom
- 0-25V digitalni voltmetar pomoću AVR mikrokontrolera
- Kako koristiti ADC u STM32F103C8
- Kako koristiti ADC u MSP430G2
- Kako koristiti ADC u ARM7 LPC2148
- Korištenje ADC modula PIC mikrokontrolera s MPLAB i XC8
U ovom uputstvu naučit ćemo kako povezati PCF8591 ADC / DAC modul s Raspberry Pi.
Potrebne komponente
- Malina-pi
- ADF modul PCF8591
- Pot 100K
- Jumper kabeli
Pretpostavlja se da imate Raspberry Pi s instaliranim najnovijim OS Raspbian i znate kako SSH unijeti u Pi pomoću terminalnog softvera poput kita. Ako ste novi u Raspberry Pi, slijedite ovaj članak da biste započeli s Raspberry Pi. Ipak, ako se suočite s bilo kojim problemom, postoji mnoštvo tutorijala za Raspberry Pi koje vam mogu pomoći.
PCF8591 ADC / DAC modul
PCF8591 je 8-bitni analogno-digitalni ili 8-bitni digitalno-analogni pretvarački modul, što znači da svaki pin može čitati analogne vrijednosti do 256. Na ploči također ima LDR i termistorski krug. Ovaj modul ima četiri analogna ulaza i jedan analogni izlaz. Radi na I 2 C komunikaciji, tako da postoje SCL i SDA pinovi za serijski sat i adresu serijskih podataka. Potreban mu je naponski napon od 2,5-6V i mala je struja u stanju pripravnosti. Također možemo manipulirati ulaznim naponom podešavanjem gumba potenciometra na modulu. Na ploči su i tri skakača. J4 je spojen za odabir pristupnog kruga termistora, J5 je spojen za odabir pristupnog kruga LDR / foto otpornikai J6 je spojen za odabir podesivog naponskog pristupnog kruga. Na ploči D1 nalaze se dvije LED diode, a D2-D1 prikazuje intenzitet izlaznog napona, a D2 intenzitet napona napajanja. Što je veći izlazni ili opskrbni napon, veći je i intenzitet LED D1 ili D2. Također možete testirati ove LED diode pomoću potenciometra na VCC ili na AOUT pinu.

I2C igle u Raspberry Pi
Da biste koristili PCF8591 s Raspberry Pi, prvo što trebate učiniti je znati pinove porta Raspberry Pi I2C i konfigurirati I2C port u Raspberry pi.
Ispod je pin dijagram modela Raspberry Pi 3 Model B +, a I2C pinovi GPIO2 (SDA) i GPIO3 (SCL) koriste se u ovom vodiču.
Konfiguriranje I2C u Raspberry Pi
Prema zadanim postavkama, I2C je onemogućen u Raspberry Pi. Dakle, prvo to mora biti omogućeno. Da biste omogućili I2C u Raspberry Pi
1. Idite na terminal i upišite sudo raspi-config.
2. Sada se pojavljuje alat za konfiguraciju softvera Raspberry Pi.
3. Odaberite Opcije povezivanja, a zatim omogućite I2C.

4. Nakon omogućavanja I2C ponovno pokrenite Pi.
Skeniranje I2C adrese PCF8591 pomoću Raspberry Pi
Da bi započeo komunikaciju s PCF8591 IC, Raspberry Pi mora znati svoju I2C adresu. Da biste pronašli adresu, prvo spojite SDA i SCL pin PCF8591 na SDA i SCL pin Raspberry Pi. Također spojite pinove + 5V i GND.
Sada otvorite terminal i upišite naredbu ispod kako biste znali adresu povezanog I2C uređaja, sudo i2cdetect –y 1 ili sudo i2cdetect –y 0
Nakon pronalaska I2C adrese sada je vrijeme za izgradnju sklopa i instaliranje potrebnih knjižnica za upotrebu PCF8591 s Raspberry Pi.
Povezivanje PCF8591 ADC / DAC modula s Raspberry Pi
Dijagram krugova za povezivanje PCF8591 s Raspberry Pi je jednostavan. U ovom primjeru povezivanja očitat ćemo analogne vrijednosti s bilo kojeg analognog pina i prikazati ga na terminalu Raspberry Pi. Vrijednosti možemo mijenjati pomoću pota 100K.


Spojite VCC i GND na GPIO2 i GPIO Raspberry Pi. Zatim spojite SDA i SCL na GPIO3 odnosno GPIO5. Napokon spojite lonac od 100K s AIN0. Također možete dodati LCD 16x2 za prikaz ADC vrijednosti umjesto da ga prikazujete na terminalu. Ovdje saznajte više o povezivanju LCD-a 16x2 s Raspberry Pi.
Python program za analognu u digitalnu konverziju (ADC)
Kompletan program i radni videa daje na kraju ovog vodiča.
Prvo uvezite knjižnicu smbus za komunikaciju sabirnice I 2 C i knjižnicu vremena kako biste dobili vrijeme mirovanja između ispisa vrijednosti.
uvoz smbus vrijeme uvoza
Sada definirajte neke varijable. Prva varijabla sadrži adresu sabirnice I 2 C, a druga varijabla sadrži adresu prvog analognog ulaznog pina.
adresa = 0x48 A0 = 0x40
Dalje, napravili smo objekt funkcije SMBus (1) iz biblioteke smbus
sabirnica = smbus.SMBus (1)
Sada, dok prvi redak govori IC-u da izvrši analogno mjerenje na prvom analognom ulaznom pinu. Drugi redak pohranjuje adresu očitanu na analognom pinu u promjenljivu vrijednost . Na kraju ispišite vrijednost.
dok je True: bus.write_byte (adresa, A0) value = bus.read_byte (address) print (value) time.sleep (0.1)
Sada napokon spremite python kôd u neku datoteku s.py entencijom i pokrenite kôd u Raspberry Pi terminalu pomoću naredbe ispod “
python filename.py
Prije pokretanja koda osigurajte da ste omogućili komunikaciju I 2 C i da su svi pinovi povezani kako je prikazano na dijagramu, inače će se prikazati pogreške. Analogne vrijednosti moraju se početi prikazivati na terminalu kao u nastavku. Podesite gumb lonca i vidjet ćete postupnu promjenu vrijednosti. Saznajte više o pokretanju programa u

Kompletni python kôd i Video su navedeni u nastavku.
