Kuinka käyttää ADS1115 ADC: tä Arduinon kanssa

How to Use the ADS1115 ADC with Arduino

ADS1115 on 16-bittinen tarkkuusanaloginen-digitaalimuunnin (ADC) I2C-rajapinnalla. Se tarjoaa korkean tarkkuuden ja useita syöttökanavia, mikä tekee siitä ihanteellisen anturien lukemiseen, jännitteiden seurantaan tai signaalien vahvistamiseen Arduino -projekteissa. Tämä opetusohjelma opastaa sinua yhdistämällä ja käyttämällä ADS1115: tä Arduinon kanssa.


Mitä tarvitset

  1. ADS1115 ADC -moduuli
  2. Arduino Board (esim. UNO, Mega, Nano)
  3. Anturit tai analogiset laitteet (esim. Potentiometri)
  4. Leipälevy- ja hyppyjohdot
  5. Tietokone, jossa Arduino IDE on asennettu

Vaihe 1: ADS1115 -moduulin ymmärtäminen

ADS1115 tarjoaa:

  • 16-bittinen ADC-resoluutio (15-bittinen erilaisille tuloille).
  • 4 syöttökanavaa (tai 2 differentiaaliparia).
  • Ohjelmoitava vahvistusvahvistin (PGA) signaalin vahvistus.

ADS1115 PINOUT

Nasta Funktio
VCC Virtalähde (3,3 V/5 V)
Hölynpöly Pohja
SDA I2C -datalinja
SCL I2C -kellolinja
Addr I2C -osoitteen kokoonpano
  • Addr -nastakokoonpano:
    • GND: 0x48 (Oletusosoite)
    • VCC: 0x49
    • SDA: 0x4A
    • SCL: 0x4B

Vaihe 2: ADS1115: n johdotus Arduinolle

Yhdistä ADS1115 Arduinoon seuraavasti:

ADS1115 -nasta Arduino -nasta
VCC 5V
Hölynpöly Hölynpöly
SDA A4 (SDA)
SCL A5 (SCL)

Huomaa: Varmista muille Arduino -levyille, että käytät oikeita I2C -nastat.


Vaihe 3: Asenna vaadittu kirjasto

Yksinkertaistaaksesi viestintää ADS1115: n kanssa asentamalla Adafruit ADS1x15 -kirjasto.

Asennettava vaiheet:

  1. Avaa Arduino IDE.
  2. Mennä jhk Luonnos > Sisällytä kirjasto > Hallitse kirjastoja.
  3. Etsi "adafruit ads1x15" ja napsauta Asentaa.

Vaihe 4: Lataa koodi

Tässä on esimerkki luonnoksesta, joka lukee analogisen tuloa ADS1115: sta:

#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
}

Vaihe 5: Testaa asennus

  1. Kytke Arduino tietokoneeseen USB: n kautta.
  2. Avaa Arduino IDE ja valitse oikea Hallitus ja Satama alla Työkalut valikko.
  3. Lataa koodi Arduinoon napsauttamalla Ladata.
  4. Avaa sarjamonitori (Työkalut > Sarjamonitori) ja aseta baud -arvo 9600.
  5. Vaihtele tulojännitettä (esim. Potentiometriä) ja tarkkaile ADC -arvoa ja jännitealueita.

Valinnainen: Differentiaalitilan käyttäminen

ADS1115 voi myös mitata eron kahden syöttötapin välillä (esim. A0 ja 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);

ADS1115: n sovellukset

  1. Tarkkaan anturin lukemat
  2. Jännitteen valvonta ja mittaus
  3. Pienten anturien signaalivahvistus
  4. Differentiaalisignaalin mittaus

Vianetsintä

  • Ei vastausta anturilta: Varmista I2C -yhteydet ja varmista, että käytetään oikeaa I2C -osoitetta.
  • Epäjohdonmukaiset lukemat: Tarkista vakaa virtalähde ja puhtaan signaalin tulot.
  • Matala resoluutio: Varmista, että käytät syöttöalueellesi oikeaa vahvistusasetusta.

Johtopäätös

Olet onnistuneesti liitetty ADS1115 ADC: hen Arduinon kanssa. Suurella tarkkuudella ja joustavuudellaan ADS1115 on erinomainen työkalu erilaisille projekteille, jotka vaativat tarkkaa analogista-digitaalista muuntamista. Kokeile sen ominaisuuksia edistyneiden mittausjärjestelmien ja anturirajapintojen rakentamiseksi!

Jätä kommentti

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.