Ang ADS1115 ay isang 16-bit na katumpakan na analog-to-digital converter (ADC) na may isang interface ng I2C. Nag -aalok ito ng mataas na kawastuhan at maraming mga channel ng pag -input, ginagawa itong mainam para sa mga sensor ng pagbabasa, pagsubaybay sa mga boltahe, o pagpapalakas ng mga signal sa mga proyekto ng Arduino. Ang tutorial na ito ay gagabay sa iyo sa pamamagitan ng pagkonekta at paggamit ng ADS1115 kasama si Arduino.
Ano ang kakailanganin mo
- ADS1115 ADC Module
- Arduino Board (hal., Uno, Mega, Nano)
- Mga sensor o analog na aparato (hal., Potentiometer)
- Mga wire ng tinapay at jumper
- Isang computer na may naka -install na Arduino IDE
Hakbang 1: Pag -unawa sa module ng ADS1115
Nag -aalok ang ADS1115:
- 16-bit na resolusyon ng ADC (15-bit para sa mga input ng kaugalian).
- 4 na mga channel sa pag -input (o 2 mga pares ng pagkakaiba -iba).
- Programmable Gain Amplifier (PGA) Para sa pagpapalakas ng signal.
ADS1115 Pinout
Pin | Function |
---|---|
VCC | Power Supply (3.3V/5V) |
Gnd | Lupa |
SDA | I2C Data Line |
SCL | I2C linya ng orasan |
Addr | Ang pagsasaayos ng address ng I2C |
-
Pag -configure ng addr pin:
- GND:
0x48
(default na address) - VCC:
0x49
- SDA:
0x4A
- SCL:
0x4B
- GND:
Hakbang 2: Ang mga kable ng ADS1115 kay Arduino
Ikonekta ang ADS1115 sa Arduino tulad ng sumusunod:
ADS1115 Pin | Arduino Pin |
---|---|
VCC | 5v |
Gnd | Gnd |
SDA | A4 (SDA) |
SCL | A5 (SCL) |
Tandaan: Para sa iba pang mga board ng Arduino, tiyakin na gumagamit ka ng tamang i2c pin.
Hakbang 3: I -install ang kinakailangang library
Upang gawing simple ang komunikasyon sa ADS1115, i -install ang ADAFRUIT ADS1X15 Library.
Mga hakbang upang mai -install:
- Buksan ang Arduino IDE.
- Pumunta sa Sketch > Isama ang library > Pamahalaan ang mga aklatan.
- Maghanap para sa "Adafruit ADS1x15" at i -click I -install.
Hakbang 4: Mag -upload ng code
Narito ang isang halimbawa ng sketch upang mabasa ang analog input mula sa 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
}
Hakbang 5: Subukan ang pag -setup
- Ikonekta ang Arduino sa iyong computer sa pamamagitan ng USB.
- Buksan ang Arduino IDE at piliin ang tama Lupon at Port sa ilalim ng Mga tool menu.
- I -upload ang code sa Arduino sa pamamagitan ng pag -click Mag -upload.
- Buksan ang serial monitor (Mga tool > Serial monitor) at itakda ang rate ng baud sa
9600
. - Iba -iba ang boltahe ng input (hal., Gamit ang isang potentiometer) at obserbahan ang halaga ng ADC at pagbabasa ng boltahe.
Opsyonal: Paggamit ng kaugalian mode
Maaari ring masukat ng ADS1115 ang pagkakaiba sa pagitan ng dalawang mga pin ng input (hal., A0 at 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);
Mga aplikasyon ng ADS1115
- Mga Pagbasa ng High-precision Sensor
- Pagsubaybay at pagsukat ng boltahe
- Signal amplification para sa mga maliliit na sensor
- Pagkakaiba -iba ng pagsukat ng signal
Pag -aayos
- Walang tugon mula sa sensor: Patunayan ang mga koneksyon sa I2C at tiyakin na ginagamit ang tamang address ng I2C.
- Hindi pantay na pagbabasa: Suriin para sa isang matatag na supply ng kuryente at malinis na mga input ng signal.
- Mababang resolusyon: Tiyaking gumagamit ka ng tamang setting ng pakinabang para sa iyong saklaw ng pag -input.
Konklusyon
Matagumpay mong na -interface ang ADS1115 ADC kasama si Arduino. Sa mataas na katumpakan at kakayahang umangkop, ang ADS1115 ay isang mahusay na tool para sa iba't ibang mga proyekto na nangangailangan ng tumpak na pag-convert ng analog-to-digital. Eksperimento sa mga tampok nito upang makabuo ng mga advanced na sistema ng pagsukat at mga interface ng sensor!