Jak odróżnić ADS1115 od ADS1015?

Jak odróżnić ADS1115 od ADS1015?
W świecie elektroniki przetworniki analogowo-cyfrowe z serii ADS1x15 (czyli ADS1115 i ADS1015) są jednymi z najczęściej wykorzystywanych modułów ADC. Znajdziesz je w projektach Arduino, ESP32, Raspberry Pi i wszędzie tam, gdzie potrzebne są precyzyjne pomiary napięcia z czujników.
Choć oba układy wyglądają niemal identycznie i często są zamienne mechanicznie, różnią się znacząco pod względem rozdzielczości i dokładności. Co gorsza – na rynku pojawiają się moduły z błędnie oznaczonymi układami, gdzie zamiast ADS1115 znajduje się tańszy ADS1015.
Ten artykuł pokaże Ci, jak samodzielnie sprawdzić, który układ masz naprawdę – za pomocą prostego kodu i kilku minut testu.

Czym się różni ADS1115 od ADS1015?
Cecha | ADS1115 | ADS1015 |
Rozdzielczość | 16 bitów | 12 bitów |
Zakres danych | ±32767 | ±2047 |
Prędkość próbkowania | Do 860 SPS | Do 3300 SPS |
Zastosowania | Precyzyjne pomiary | Pomiar szybki, mniej dokładny |
Oba układy komunikują się przez I²C, mają te same piny i rejestry, ale kluczowa różnica tkwi w sposobie kodowania danych. ADS1015 zawsze zeruje 4 najmłodsze bity, przez co wartości rosną skokowo co 16 jednostek. ADS1115 pozwala na płynną zmianę co 1 jednostkę.
✅ Jak przeprowadzić test?
Do testu potrzebujesz:
- Arduino lub ESP32
- Modułu ADS1x15 (o niepewnym pochodzeniu 😉)
- Płytki stykowej i przewodów
- Arduino IDE + biblioteki Adafruit_ADS1X15

📥 Instalacja biblioteki
W Arduino IDE przejdź do:
Szkic → Dołącz bibliotekę → Zarządzaj bibliotekami…
Wyszukaj i zainstaluj:Adafruit ADS1X15

#include <Wire.h>
#include <Adafruit_ADS1X15.h>
// Obiekt przetwornika – obsługuje ADS1115 i ADS1015
Adafruit_ADS1115 ads;
void setup() {
Serial.begin(115200);
delay(500);
// Dla ESP32 z niestandardowymi pinami I2C:
// Wire.begin(27, 26);
if (!ads.begin()) {
Serial.println("Nie wykryto ADS1x15. Sprawdź połączenia!");
while (1);
}
ads.setGain(GAIN_TWOTHIRDS); // ±6.144V zakres
Serial.println("Start testu ADS1x15...");
}
void loop() {
int16_t value = ads.readADC_SingleEnded(0); // Odczyt z kanału A0
// Rozbicie na bajty
uint8_t msb = (value >> 8) & 0xFF;
uint8_t lsb = value & 0xFF;
// Wyświetlenie danych
Serial.print("MSB: ");
Serial.print(msb, BIN);
Serial.print(" | LSB: ");
Serial.print(lsb, BIN);
Serial.print(" | Wartość surowa: ");
Serial.println(value);
delay(300);
}
📊 Jak zinterpretować wyniki?
Podłącz potencjometr lub dzielnik napięcia i obserwuj zmiany odczytów.
🔸 Jeśli masz ADS1015 (12-bitowy):
- Wartości będą zmieniać się skokowo co 16 jednostek:
128 → 144 → 160 → 176...
- 4 najmłodsze bity (LSB) będą zawsze zerowe – zobaczysz to w postaci końcówek
0000
w binarnym LSB.

🔹 Jeśli masz ADS1115 (16-bitowy):
- Wartości będą zmieniać się płynnie, nawet co 1 jednostkę:
1201 → 1202 → 1203 → 1205...
- W LSB będą się pojawiać różne końcówki, np.
1001
,1010
,1111
– co oznacza użycie pełnych 16 bitów.

🧠 Podsumowanie
Moduły ADS1115 i ADS1015 mogą wyglądać identycznie, ale działają zupełnie inaczej. Jeśli zależy Ci na precyzyjnych pomiarach – musisz wiedzieć, który układ faktycznie masz. Prosty test oparty na obserwacji surowych danych z I²C pozwala Ci to łatwo rozróżnić:


Prezentowaną w artykule elektronikę znajdziesz oczywiście w naszym sklepie 👉 sklep.msalamon.pl 👈Zapraszamy również na nasze social media, gdzie na bieżąco informujemy o nowych produktach oraz o najciekawszych promocjach 😎👇