Antes de começar, um aviso: este não é um post repetido. Já vimos esse assunto no post Usando portas analógicas na Raspberry Pi, onde efetuamos a leitura de um potenciômetro usando um ADS1115. Hoje vamos usar um módulo diferente, específico para Raspberry Pi, o Módulo Conversor Analógico Digital ADS1115 para Raspberry Pi.

Esse módulo foi feito para ser encaixado diretamente na GPIO da placa Raspberry Pi, e da mesma forma que o módulo usado anteriormente, se comunica com a placa por meio da interface de comunicação I2C.

O módulo ADS1115 para Raspberry Pi

Na imagem abaixo podemos ver o conversor analógico digital (ADC), que tem um tamanho compacto e possui 4 portas analógicas de entrada, numeradas de A0 a A3.

Na parte de baixo podemos ver o conector de encaixe na GPIO, que vai ocupar os pinos de 1 a 6.

A utilização é bem simples: basta encaixar o módulo na placa Raspberry como na imagem abaixo, e o módulo vai usar os pinos da interface I2C (pinos 3 (SDA) e 5 (SCL)) para comunicação:

Módulo ADS1115 com Raspberry Pi 4
Módulo ADS1115 com Raspberry Pi Zero W

Vamos então ligar um potenciômetro no módulo e ver como fica o nosso circuito.

Conexão do módulo ADS1115 na Raspberry Pi

Com o módulo encaixado na placa, conecte o potenciômetro seguindo o esquema abaixo, com o GND no primeiro pino, o A0 no pino central e o 3V3 no terceiro pino:

Módulo conversor analógico digital ADC com Raspberry Pi 4

Para facilitar a conexão do módulo no potenciômetro, recomendo o uso de uma protoboard como na imagem inicial deste post.

Habilitando a interface I2C na Raspberry Pi

Habilitar a interface de comunicação I2C na Raspberry Pi é muito simples, e vamos usar o raspi-config.

Nessa parte você já deve ter a sua Raspberry Pi funcionando, com o sistema operacional Raspberry Pi OS (antigamente chamado de Raspbian) instalado e com internet ativa.

Se você ainda não fez isso, recomendo a leitura do post Raspberry Pi Imager: um jeito fácil de instalar o Raspbian, onde eu mostro uma maneira fácil e rápida de instalar o sistema operacional na sua placa Raspberry Pi.

Tudo pronto? Então abra uma janela de terminal e digite o comando raspi-config, selecionando na tela que vai aparecer a opção 3 – Interface Options:

Raspi-config Interface Options - Opções de interface

Na tela seguinte, selecione P5 I2C e confirme que você deseja habilitar a interface I2C:

Raspi-config - Habilitando interface I2C

Depois de habilitar a interface, reinicie a placa para garantir que tudo esteja funcionando adequadamente.

Programa leitor de dados conversor analógico digital ADC

Para que o nosso programa funcione, vamos instalar a biblioteca que vai fazer com que a Raspberry Pi se comunique com o nosso módulo ADS1115. Para instalar a biblioteca, digite o comando abaixo em uma janela de terminal:

sudo pip3 install adafruit-circuitpython-ads1x15

Vamos agora criar o programa de leitura das portas analógicas. Use o comando:

sudo nano leitor_adc.py

Esse comando abre o editor de textos do Raspberry Pi OS, onde você vai copiar ou digitar o programa abaixo:

#Programa: Modulo Conversor Analogico Digital ADS1115 Raspberry Pi
#Autor: Arduino e Cia

import board
import busio

#Inicializa a interface I2C
i2c = busio.I2C(board.SCL, board.SDA)

#Define o tipo de módulo usado, no caso, o ADS1115
import adafruit_ads1x15.ads1115 as ADS

from adafruit_ads1x15.analog_in import AnalogIn

#Cria o objeto ADC
ads = ADS.ADS1115(i2c)

#Define a leitura das portas analogicas do módulo
canal0 = AnalogIn(ads, ADS.P0)
canal1 = AnalogIn(ads, ADS.P1)
canal2 = AnalogIn(ads, ADS.P2)
canal3 = AnalogIn(ads, ADS.P3)

#Mostra os valores lidos das portas analogicas
while True:
	print("Canal 0:",canal0.value, "Canal 1:", canal1.value, "Canal 2:", canal2.value, "Canal 3:", canal3.value)

Execute o programa com o comando

sudo python3 leitor_adc.py

O programa acima mostra na tela os valores lidos das 4 portas analógicas. No nosso circuito temos apenas um potenciômetro, mas você pode colocar mais componentes como sensores, LDR e trimpots para testar o funcionamento.

Gostou? Confira outros posts usando Raspberry Pi aqui mesmo no Arduino e Cia!

Avalie este post!