ADS1115 to 16-bitowy precyzyjny konwerter analogowo-cyfrowy (ADC) z interfejsem I2C. Oferuje wysoką dokładność i wiele kanałów wejściowych, dzięki czemu jest idealny do odczytu czujników, monitorowania napięć lub wzmacniania sygnałów w projektach Arduino. Ten samouczek poprowadzi Cię przez połączenie i korzystanie z ADS1115 z Arduino.
Czego będziesz potrzebować
- Moduł ADS1115 ADC
- Arduino Board (np. UNO, Mega, Nano)
- Czujniki lub urządzenia analogowe (np. Potencjometr)
- Druty chleba i skoczków
- Komputer z zainstalowanym Arduino IDE
Krok 1: Zrozumienie modułu ADS1115
ADS1115 oferuje:
- 16-bitowa rozdzielczość ADC (15-bitowe dla wejść różnicowych).
- 4 kanały wejściowe (lub 2 pary różnicowe).
- Programowalny wzmacniacz wzmocnienia (PGA) Do wzmocnienia sygnału.
ADS1115 Pinout
Szpilka | Funkcjonować |
---|---|
VCC | Zasilacz (3,3 V/5 V) |
GND | Grunt |
SDA | I2C Linia danych |
Scl | Linia zegara I2C |
Addr | Konfiguracja adresu I2C |
-
Konfiguracja PIN Addr:
- GND:
0x48
(Domyślny adres) - VCC:
0x49
- SDA:
0x4A
- SCL:
0x4B
- GND:
Krok 2: Okablowanie ADS1115 do Arduino
Podłącz ADS1115 z Arduino w następujący sposób:
PIN ADS1115 | PIN Arduino |
---|---|
VCC | 5v |
GND | GND |
SDA | A4 (SDA) |
Scl | A5 (SCL) |
Notatka: W przypadku innych płyt Arduino upewnij się, że używasz odpowiednich pinów I2C.
Krok 3: Zainstaluj wymaganą bibliotekę
Aby uprościć komunikację z ADS1115, zainstaluj bibliotekę ADAFRUT ADS1X15.
Kroki do zainstalowania:
- Otwórz Arduino IDE.
- Idź do Naszkicować > Uwzględnij bibliotekę > Zarządzaj bibliotekami.
- Wyszukaj „Adafruit Ads1x15” i kliknij Zainstalować.
Krok 4: Prześlij kod
Oto przykład szkicu do odczytania danych wejściowych analogowych z 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
}
Krok 5: Przetestuj konfigurację
- Podłącz Arduino do komputera za pomocą USB.
- Otwórz Arduino IDE i wybierz poprawne Tablica I Port pod Narzędzia menu.
- Prześlij kod do Arduino, klikając Wgrywać.
- Otwórz monitor szeregowy (Narzędzia > Monitor szeregowy) i ustaw wskaźnik transmisji na
9600
. - Zmień napięcie wejściowe (np. Za pomocą potencjometru) i obserwuj wartość ADC i odczyty napięcia.
Opcjonalnie: przy użyciu trybu różnicowego
ADS1115 może również mierzyć różnicę między dwoma pinami wejściowymi (np. A0 i 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);
Zastosowania ADS1115
- Odczyty czujników bardzo precyzyjne
- Monitorowanie i pomiar napięcia
- Wzmocnienie sygnału dla małych czujników
- Pomiar sygnału różnicowego
Rozwiązywanie problemów
- Brak odpowiedzi od czujnika: Sprawdź połączenia I2C i upewnij się, że używany jest prawidłowy adres I2C.
- Niespójne odczyty: Sprawdź stabilne wejścia zasilania i czystego sygnału.
- Niska rozdzielczość: Upewnij się, że używasz poprawnego ustawienia wzmocnienia dla swojego zakresu wejściowego.
Wniosek
Z powodzeniem połączyłeś ADS1115 ADC z Arduino. Dzięki wysokiej precyzji i elastyczności ADS1115 jest doskonałym narzędziem do różnych projektów wymagających dokładnej konwersji analogowo-cyfrowej. Eksperymentuj z funkcjami budowania zaawansowanych systemów pomiarowych i interfejsów czujników!