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:
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:
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:
Na tela seguinte, selecione P5 I2C e confirme que você deseja habilitar a 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!