Como usar o ADS1115 ADC com Arduino

How to Use the ADS1115 ADC with Arduino

O ADS1115 é um conversor analógico-digital de precisão de 16 bits (ADC) com uma interface I2C. Oferece alta precisão e vários canais de entrada, tornando -o ideal para sensores de leitura, tensões de monitoramento ou amplificando sinais nos projetos Arduino. Este tutorial o guiará através da conexão e do uso do ADS1115 com o Arduino.


O que você precisará

  1. Módulo ADS1115 ADC
  2. Board Arduino (por exemplo, Uno, Mega, Nano)
  3. Sensores ou dispositivos analógicos (por exemplo, potenciômetro)
  4. Fios de pão e jumper
  5. Um computador com o Arduino IDE instalado

Etapa 1: Compreendendo o módulo ADS1115

O ADS1115 oferece:

  • Resolução ADC de 16 bits (15 bits para entradas diferenciais).
  • 4 canais de entrada (ou 2 pares diferenciais).
  • Amplificador de ganho programável (PGA) para amplificação de sinal.

ADS1115 PILOUT

Alfinete Função
VCC Fonte de alimentação (3,3V/5V)
Gnd Chão
SDA I2C Linha de dados
SCL I2C Linha do relógio
Addr Configuração do endereço I2C
  • ADDR PIN Configuração:
    • GND: 0x48 (endereço padrão)
    • VCC: 0x49
    • SDA: 0x4A
    • SCL: 0x4B

Etapa 2: Fiação do ADS1115 para Arduino

Conecte o ADS1115 ao Arduino da seguinte forma:

ADS1115 PIN Pino Arduino
VCC 5V
Gnd Gnd
SDA A4 (SDA)
SCL A5 (SCL)

Observação: Para outras placas do Arduino, certifique -se de usar os pinos I2C corretos.


Etapa 3: Instale a biblioteca necessária

Para simplificar a comunicação com o ADS1115, instale a biblioteca Adafruit Ads1x15.

Etapas para instalar:

  1. Abra o Arduino IDE.
  2. Vá para Esboço > Inclua biblioteca > Gerenciar bibliotecas.
  3. Pesquise por "Adafruit Ads1x15" e clique Instalar.

Etapa 4: Faça o upload do código

Aqui está um exemplo de esboço para ler a entrada analógica do ADS1115:

#include <Wire.h>
#include <Adafruit_ADS1X15.h>

Adafruit_ADS1115 ads; // Create an ADS1115 object

void setup() {
  Serial.begin(9600);
  while (!Serial);

  Serial.println("Initializing ADS1115...");

  if (!ads.begin()) {
    Serial.println("Failed to detect ADS1115. Check connections.");
    while (1);
  }

  Serial.println("ADS1115 initialized.");
}

void loop() {
  int16_t adc0 = ads.readADC_SingleEnded(0); // Read channel 0
  float voltage = adc0 * 0.1875 / 1000.0; // Convert to voltage (gain = 2/3)

  Serial.print("ADC Value: ");
  Serial.print(adc0);
  Serial.print(" | Voltage: ");
  Serial.print(voltage);
  Serial.println(" V");

  delay(500); // Wait for 500ms before the next reading
}

Etapa 5: teste a configuração

  1. Conecte o Arduino ao seu computador via USB.
  2. Abra o Arduino IDE e selecione o correto Quadro e Porta sob o Ferramentas menu.
  3. Faça o upload do código para o Arduino clicando Carregar.
  4. Abra o monitor serial (Ferramentas > Monitor serial) e definir a taxa de transmissão como 9600.
  5. Varie a tensão de entrada (por exemplo, usando um potenciômetro) e observe o valor do ADC e as leituras de tensão.

Opcional: usando o modo diferencial

O ADS1115 também pode medir a diferença entre dois pinos de entrada (por exemplo, A0 e A1):

int16_t diff = ads.readADC_Differential_0_1(); // Measure difference between A0 and A1
float voltage = diff * 0.1875 / 1000.0; // Convert to voltage
Serial.println(voltage);

Aplicações do ADS1115

  1. Leituras de sensores de alta precisão
  2. Monitoramento e medição de tensão
  3. Amplificação de sinal para pequenos sensores
  4. Medição de sinal diferencial

Solução de problemas

  • Nenhuma resposta do sensor: Verifique as conexões i2C e verifique se o endereço I2C correto é usado.
  • Leituras inconsistentes: Verifique se há uma fonte de alimentação estável e entradas de sinal limpo.
  • Baixa resolução: Certifique -se de estar usando a configuração de ganho correta para o seu intervalo de insumos.

Conclusão

Você interfigurou com sucesso o ADS1115 ADC com o Arduino. Com sua alta precisão e flexibilidade, o ADS1115 é uma excelente ferramenta para vários projetos que requerem conversão analog-digital precisa. Experimente seus recursos para criar sistemas de medição avançados e interfaces de sensor!

Deixe um comentário

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.