- Components necessaris
- Mòdul PCF8591 ADC / DAC
- Pins I2C a Raspberry Pi
- Interfície del mòdul ADC / DAC PCF8591 amb Raspberry Pi
- Programa Python per a conversió analògica a digital (ADC)
La conversió analògica a digital és una tasca molt important en l’electrònica incrustada, ja que la majoria dels sensors proporcionen sortida com a valors analògics i per alimentar-los en microcontroladors que només entenen els valors binaris, els hem de convertir en valors digitals. Així, per poder processar les dades analògiques, els microcontroladors necessiten un convertidor analògic a digital.
Alguns microcontroladors incorporen ADC com Arduino, MSP430, PIC16F877A, però alguns no ho tenen, com ara 8051, Raspberry Pi, etc. A continuació podeu trobar diversos exemples d’ADC amb diferents microcontroladors:
- Com utilitzar ADC a Arduino Uno?
- Tutorial ADC de Raspberry Pi
- Interfície ADC0808 amb microcontrolador 8051
- Voltímetre digital de 0-25 V mitjançant microcontrolador AVR
- Com utilitzar ADC a STM32F103C8
- Com utilitzar ADC a MSP430G2
- Com utilitzar ADC a ARM7 LPC2148
- Ús del mòdul ADC del microcontrolador PIC amb MPLAB i XC8
En aquest tutorial, aprendrem a interfície del mòdul ADC / DAC PCF8591 amb Raspberry Pi.
Components necessaris
- Raspberry-pi
- Mòdul ADC PCF8591
- Pot 100K
- Cables de pont
Se suposa que teniu Raspberry Pi amb el darrer sistema operatiu Raspbian instal·lat i que sabeu com fer SSH al Pi mitjançant un programari de terminal com la massilla. Si no coneixeu Raspberry Pi, seguiu aquest article per començar a utilitzar Raspberry Pi. Tot i això, si teniu algun problema, hi ha un munt de tutorials de Raspberry Pi que us poden ajudar.
Mòdul PCF8591 ADC / DAC
PCF8591 és un mòdul convertidor analògic a digital de 8 bits o digital a analògic de 8 bits, el que significa que cada pin pot llegir valors analògics de fins a 256. També disposa de circuit LDR i termistor a la placa. Aquest mòdul té quatre entrades analògiques i una sortida analògica. Funciona en comunicació I 2 C, de manera que hi ha pins SCL i SDA per al rellotge serial i l'adreça de dades en sèrie. Requereix una tensió d’alimentació de 2,5-6 V i un baix corrent d’espera. També podem manipular la tensió d’entrada ajustant el pom del potenciòmetre al mòdul. També hi ha tres saltadors al tauler. J4 està connectat per seleccionar el circuit d’accés al termistor, J5 està connectat per seleccionar el circuit d’accés de resistència fotogràfica LDR / fotoi J6 està connectat per seleccionar el circuit d’accés de tensió ajustable. Hi ha dos LEDs a la placa D1 i D2-D1 mostra la intensitat de la tensió de sortida i D2 mostra la intensitat de la tensió d’alimentació. Com més alta sigui la tensió de sortida o de subministrament, major serà la intensitat del LED D1 o D2. També podeu provar aquests LED utilitzant un potenciòmetre a VCC o al pin AOUT.

Pins I2C a Raspberry Pi
Per utilitzar PCF8591 amb Raspberry Pi, el primer que cal fer és conèixer els pins del port I2C de Raspberry Pi i configurar el port I2C al Raspberry pi.
A continuació es mostra el diagrama de pins de Raspberry Pi 3 Model B +, i els pins I2C GPIO2 (SDA) i GPIO3 (SCL) s’utilitzen en aquest tutorial.
Configuració de I2C a Raspberry Pi
Per defecte, I2C està desactivat a Raspberry Pi. Per tant, primer s’ha d’habilitar. Per habilitar l'I2C a Raspberry Pi
1. Aneu al terminal i escriviu sudo raspi-config.
2. Ara apareix l'eina de configuració del programari Raspberry Pi.
3. Seleccioneu Opcions d'interfície i activeu l'I2C.

4. Després d’habilitar l’I2C, reinicieu el Pi.
Escaneig de l'adreça I2C de PCF8591 mitjançant Raspberry Pi
Ara, per iniciar la comunicació amb el PCF8591 IC, el Raspberry Pi ha de conèixer la seva adreça I2C. Per trobar l’adreça, primer connecteu el pin SDA i SCL de PCF8591 al pin SDA i SCL de Raspberry Pi. Connecteu també els pins + 5V i GND.
Ara obriu el terminal i escriviu l'ordre següent per conèixer l'adreça del dispositiu I2C connectat, sudo i2cdetect –y 1 o sudo i2cdetect –y 0
Després de trobar l'adreça I2C, ara és el moment de construir el circuit i instal·lar les biblioteques necessàries per utilitzar PCF8591 amb Raspberry Pi.
Interfície del mòdul ADC / DAC PCF8591 amb Raspberry Pi
El diagrama de circuits per a la interfície de PCF8591 amb Raspberry Pi és senzill. En aquest exemple d'interfície, llegirem els valors analògics de qualsevol dels pins analògics i els mostrarem al terminal Raspberry Pi. Podem canviar els valors mitjançant un pot de 100K.


Connecteu VCC i GND a GPIO2 i GPIO de Raspberry Pi. A continuació, connecteu l'SDA i SCL a GPIO3 i GPIO5 de respectivament. Connecteu finalment un pot de 100K amb AIN0. També podeu afegir LCD de 16x2 per mostrar valors ADC en lloc de mostrar-los a Terminal. Obteniu més informació sobre la interfície de LCD 16x2 amb Raspberry Pi aquí.
Programa Python per a conversió analògica a digital (ADC)
El programa complet i el vídeo de treball es donen al final d’aquest tutorial.
En primer lloc, importeu la biblioteca smbus per a la comunicació de bus I 2 C i la biblioteca de temps per donar un temps de repòs entre la impressió del valor.
importació temps d' importació smbus
Ara definiu algunes variables. La primera variable conté l'adreça del bus I 2 C i la segona variable conté l'adreça del primer pin d'entrada analògica.
adreça = 0x48 A0 = 0x40
A continuació, hem creat un objecte de la funció SMBus (1) de la biblioteca smbus
bus = smbus.SMBus (1)
Ara, mentre la primera línia indica a l'IC que faci la mesura analògica al primer pin d'entrada analògica. La segona línia emmagatzema l'adreça llegida al pin analògic en un valor variable. Finalment, imprimiu el valor.
mentre que True: bus.write_byte (adreça, A0) valor = bus.read_byte (adreça) imprimeix (valor) time.sleep (0,1)
Ara, finalment, deseu el codi python en algun fitxer amb extensió.py i executeu el codi al terminal de raspberry Pi mitjançant l'ordre següent "
python filename.py
Abans d'executar el codi, assegureu-vos que heu activat la comunicació I 2 C i que tots els pins estan connectats tal com es mostra al diagrama, en cas contrari mostrarà errors. Els valors analògics han de començar a aparèixer al terminal com es mostra a continuació. Ajusteu el comandament del pot i veureu el canvi gradual dels valors. Obteniu més informació sobre com executar el programa a

A continuació es mostra el codi complet de Python i el vídeo.
