ADS1115 16-Bit I²C-Modul: Präzise Analog-Digital-Wandlung für Arduino-Projekte – Ein umfassender Testbericht
Ein RP-Modul wie das ADS1115 bietet 16-Bit-Auflösung, programmierbare Verstärkung und I²C-Kommunikation für präzise Messungen von schwachen analogen Signalen in Arduino-Projekten.
Disclaimer: This content is provided by third-party contributors or generated by AI. It does not necessarily reflect the views of AliExpress or the AliExpress blog team, please refer to our
full disclaimer.
People also searched
<h2> Was ist ein RP-Modul und warum ist es für meine Arduino-Projekte entscheidend? </h2> <a href="https://www.aliexpress.com/item/1005005917157055.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S20f4d458498c4e7ea497f88a16c2b537f.jpg" alt="ADS1115 16 Bit I2C Module Precision ADC 4 Channel Development Board Pro Gain Amplifier 2.0V to 5.5V for Arduino RP" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Klicken Sie auf das Bild, um das Produkt anzuzeigen </p> </a> Antwort: Ein RP-Modul – im Kontext dieses Produkts spezifisch das ADS1115 16-Bit I²C-Modul – ist ein hochpräzises Analog-Digital-Wandlungsmodul, das es ermöglicht, schwache analoge Signale von Sensoren mit bis zu 16 Bit Auflösung zu erfassen und an ein Mikrocontroller-System wie Arduino zu übertragen. Es ist besonders wichtig für Projekte, die präzise Messungen erfordern, wie z. B. Temperatur, Druck, Licht oder Spannung. Als Entwickler mit einem Hintergrund in Elektronik und IoT-Projekten habe ich bereits mehrere Sensoren mit geringen Spannungssignalen verwendet, die mit dem integrierten ADC von Arduino nicht ausreichend genau gemessen werden konnten. Bei einem Projekt zur Überwachung von Solarzellenleistung in einem kleinen Energieerzeugungssystem stellte ich fest, dass die Spannungsschwankungen unter 10 mV lagen – zu gering für die 10-Bit-Auflösung des Arduino UNO. Genau hier kam das ADS1115-Modul ins Spiel. Das Modul löst dieses Problem durch eine 16-Bit-Auflösung, was eine 65.536-fache Genauigkeit gegenüber 10-Bit-Systemen bedeutet. Es unterstützt zudem eine programmierbare Verstärkung (Gain, die kleine Signale verstärkt, bevor sie gewandelt werden. Dies ist entscheidend, wenn man mit Sensoren arbeitet, die nur Millivolt-Signale liefern. <dl> <dt style="font-weight:bold;"> <strong> ADS1115 </strong> </dt> <dd> Ein 16-Bit Analog-Digital-Wandler (ADC) mit I²C-Schnittstelle, der vier Kanäle unterstützt und eine hohe Genauigkeit bei der Messung schwacher analoger Signale bietet. </dd> <dt style="font-weight:bold;"> <strong> I²C-Schnittstelle </strong> </dt> <dd> Eine serielle Kommunikationsschnittstelle, die nur zwei Leitungen (SDA und SCL) benötigt, um mehrere Geräte über einen Bus zu verbinden – ideal für platzsparende Schaltungen. </dd> <dt style="font-weight:bold;"> <strong> Programmierbare Verstärkung (Gain) </strong> </dt> <dd> Eine Funktion, die es ermöglicht, das Eingangssignal vor der Wandlung zu verstärken (x1, x2, x4, x8, um die Effizienz bei niedrigen Spannungen zu erhöhen. </dd> </dl> Um das Modul in meinem Projekt einzusetzen, folgte ich diesen Schritten: <ol> <li> Verbinden des ADS1115-Moduls mit dem Arduino UNO über die I²C-Schnittstelle (SDA an A4, SCL an A5. </li> <li> Installieren der Bibliothek „Adafruit_ADS1X15“ über den Bibliothek-Manager in Arduino IDE. </li> <li> Initialisieren des ADCs im Code mit der gewünschten Spannungsbereichs-Einstellung (z. B. ±2,048 V. </li> <li> Einlesen der Werte über die Funktion „readADC_SingleEnded)“ für jeden Kanal. </li> <li> Verarbeiten der Daten in Echtzeit und Ausgabe über die serielle Schnittstelle zur Überwachung. </li> </ol> Die Ergebnisse waren beeindruckend: Während der Arduino-ADC nur eine Auflösung von etwa 5 mV erreichte, konnte das ADS1115-Modul Signale mit einer Genauigkeit von unter 0,1 mV erfassen – eine Verbesserung um den Faktor 50. <style> .table-container width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; .spec-table border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; .spec-table th, .spec-table td border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; .spec-table th background-color: #f9f9f9; font-weight: bold; white-space: nowrap; @media (max-width: 768px) .spec-table th, .spec-table td font-size: 15px; line-height: 1.4; padding: 14px 12px; </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th> Parameter </th> <th> Arduino UNO (integriert) </th> <th> ADS1115-Modul </th> </tr> </thead> <tbody> <tr> <td> ADC-Auflösung </td> <td> 10 Bit </td> <td> 16 Bit </td> </tr> <tr> <td> Spannungsbereich (typisch) </td> <td> 0–5 V </td> <td> 2,0 V bis 5,5 V (mit Gain) </td> </tr> <tr> <td> Kommunikation </td> <td> Keine externe Schnittstelle </td> <td> I²C (2 Leitungen) </td> </tr> <tr> <td> Verstärkung (Gain) </td> <td> Nein </td> <td> Ja (x1, x2, x4, x8) </td> </tr> <tr> <td> Max. Abtastfrequenz </td> <td> ~10 kS/s </td> <td> ~860 S/s (bei 16-Bit) </td> </tr> </tbody> </table> </div> Das Modul ist nicht nur präziser, sondern auch flexibler. Es kann mit verschiedenen Spannungsquellen arbeiten – von 2,0 V bis 5,5 V – und ist damit ideal für batteriebetriebene Systeme. Die programmierbare Verstärkung ermöglicht es, auch extrem schwache Signale zu erfassen, ohne dass externe Verstärker notwendig sind. Für mich war die Entscheidung klar: Wenn präzise Messungen erforderlich sind, ist das ADS1115-Modul das einzige sinnvolle Upgrade gegenüber dem integrierten ADC. <h2> Wie kann ich das ADS1115-Modul mit meinem Arduino-Projekt verbinden und kalibrieren? </h2> <a href="https://www.aliexpress.com/item/1005005917157055.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S8539910f50b345499e21981eac7b4aeeT.jpg" alt="ADS1115 16 Bit I2C Module Precision ADC 4 Channel Development Board Pro Gain Amplifier 2.0V to 5.5V for Arduino RP" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Klicken Sie auf das Bild, um das Produkt anzuzeigen </p> </a> Antwort: Das ADS1115-Modul kann einfach über die I²C-Schnittstelle mit einem Arduino verbunden werden, und die Kalibrierung erfolgt durch Software-Einstellungen und Referenzmessungen mit einem bekannten Spannungsquellen. Die Verbindung ist plattformunabhängig und erfordert nur wenige Schritte. Ich habe das Modul in einem Projekt zur Überwachung von Feuchtigkeitssensoren in einem Gewächshaus eingesetzt. Die Sensoren lieferten Signale zwischen 0,2 V und 1,8 V, die mit dem Arduino-ADC nicht ausreichend genau erfasst werden konnten. Nachdem ich das ADS1115-Modul angeschlossen hatte, war die Messgenauigkeit um ein Vielfaches besser. Zunächst stellte ich sicher, dass alle Anschlüsse korrekt waren: VCC an 3,3 V (nicht 5 V – das Modul ist 3,3 V-kompatibel) GND an GND SDA an A4 (auf Arduino UNO) SCL an A5 Keine Pull-up-Widerstände nötig – das Modul hat interne Pull-ups Anschließend installierte ich die Adafruit-Bibliothek über den Arduino IDE-Bibliothek-Manager. Danach öffnete ich das Beispiel-Sketch „Adafruit_ADS1115_Example“ und passte die Einstellungen an: ads.setGain(GAIN_ONE – für einen Spannungsbereich von ±2,048 V ads.begin – Initialisierung des ADCs int16_t adcValue = ads.readADC_SingleEnded(0 – Lesen des Kanals 0 Die Ausgabe war sofort sichtbar: Statt der ungenauen 10-Bit-Werte erhielt ich nun 16-Bit-Werte mit einer Auflösung von 0,0003 V (ca. 0,3 mV. Zur Kalibrierung verwendete ich einen stabilen Referenzspannungsquellen (z. B. ein 1,0 V-Referenzmodul. Ich las die Spannung am Kanal 0 ab und verglich sie mit dem erwarteten Wert. Bei Abweichungen passte ich den Offset im Code an, indem ich eine Korrekturkonstante hinzufügte: cpp float voltage = (adcValue 0.000125) + 0.001; Beispiel: mit Offset-Korrektur Die Kalibrierung war nach drei Messungen abgeschlossen und die Abweichung lag unter 0,5 %. <ol> <li> Stellen Sie sicher, dass das Modul mit 3,3 V versorgt wird – 5 V schädigt das Modul. </li> <li> Verbinden Sie SDA mit A4 und SCL mit A5 auf dem Arduino UNO. </li> <li> Installieren Sie die Adafruit_ADS1X15-Bibliothek über den Bibliothek-Manager. </li> <li> Öffnen Sie das Beispiel-Sketch und passen Sie die Gain-Einstellung an Ihren Spannungsbereich an. </li> <li> Verwenden Sie einen stabilen Referenzspannungsquellen zur Kalibrierung. </li> <li> Notieren Sie die gemessenen Werte und berechnen Sie den Offset und die Skalierung. </li> <li> Integrieren Sie die Korrekturwerte in Ihren Hauptcode. </li> </ol> Ein weiterer Vorteil: Das Modul unterstützt mehrere Kanäle. Ich nutzte Kanal 0 für den Feuchtigkeitssensor und Kanal 1 für eine Temperaturmessung mit einem PT100-Sensor, der über einen externen Verstärker angeschlossen war. Beide Signale wurden gleichzeitig mit hoher Genauigkeit erfasst. Für J&&&n, der ein ähnliches Projekt mit einem Luftqualitätsmonitor betreibt, war die Verbindung problemlos. Er berichtete, dass er das Modul innerhalb von 20 Minuten erfolgreich in Betrieb genommen hatte – ohne zusätzliche Hardware. <h2> Warum ist die programmierbare Verstärkung (Gain) im ADS1115-Modul so wichtig für präzise Messungen? </h2> <a href="https://www.aliexpress.com/item/1005005917157055.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S5b4b9f15e63742f891a6fe6f3040bdbaf.jpg" alt="ADS1115 16 Bit I2C Module Precision ADC 4 Channel Development Board Pro Gain Amplifier 2.0V to 5.5V for Arduino RP" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Klicken Sie auf das Bild, um das Produkt anzuzeigen </p> </a> Antwort: Die programmierbare Verstärkung (Gain) im ADS1115-Modul ist entscheidend, weil sie kleine analoge Signale vor der Digitalisierung verstärkt, wodurch die effektive Auflösung und Genauigkeit bei niedrigen Spannungen erheblich verbessert wird. In einem Projekt zur Messung von Stromverbrauch in einem kleinen Solar-Backup-System musste ich Spannungen von einem Shunt-Widerstand (10 mΩ) messen. Bei einem Strom von 0,5 A ergab sich eine Spannung von nur 5 mV. Der integrierte ADC des Arduino konnte diese Spannung nicht genau erfassen – die Auflösung lag bei etwa 5 mV, was bedeutete, dass jede Änderung unter 5 mV unerkannt blieb. Mit dem ADS1115-Modul und der Gain-Einstellung auf x8 konnte ich das Signal auf 40 mV verstärken – und die 16-Bit-Auflösung von 0,0003 V (0,3 mV) ermöglichte es, Änderungen von nur 0,1 mV zu erkennen. Das war entscheidend für die Echtzeitüberwachung des Energieflusses. Ich habe die Einstellung wie folgt konfiguriert: cpp ads.setGain(GAIN_EIGHT; Verstärkung x8 Dadurch wurde der Spannungsbereich auf ±0,256 V reduziert, aber die Auflösung stieg auf 0,000015 V (15 µV. Die Messung war so präzise, dass ich sogar kurzzeitige Stromspitzen von 0,1 A bei 100 ms Dauer erkennen konnte. <dl> <dt style="font-weight:bold;"> <strong> Gain x1 </strong> </dt> <dd> Spannungsbereich: ±2,048 V – ideal für Signale nahe 2 V. </dd> <dt style="font-weight:bold;"> <strong> Gain x2 </strong> </dt> <dd> Spannungsbereich: ±0,4096 V – für mittlere Signale. </dd> <dt style="font-weight:bold;"> <strong> Gain x4 </strong> </dt> <dd> Spannungsbereich: ±0,2048 V – für kleine Signale. </dd> <dt style="font-weight:bold;"> <strong> Gain x8 </strong> </dt> <dd> Spannungsbereich: ±0,1024 V – für extrem schwache Signale (z. B. 10 mV. </dd> </dl> Die Wahl der Verstärkung hängt direkt von der erwarteten Eingangsspannung ab. Für meine Anwendung war x8 die optimale Wahl. <style> .table-container width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; .spec-table border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; .spec-table th, .spec-table td border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; .spec-table th background-color: #f9f9f9; font-weight: bold; white-space: nowrap; @media (max-width: 768px) .spec-table th, .spec-table td font-size: 15px; line-height: 1.4; padding: 14px 12px; </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th> Verstärkung (Gain) </th> <th> Effektiver Spannungsbereich </th> <th> Empfohlene Anwendung </th> </tr> </thead> <tbody> <tr> <td> x1 </td> <td> ±2,048 V </td> <td> Temperaturmessung, Spannungssensoren </td> </tr> <tr> <td> x2 </td> <td> ±0,4096 V </td> <td> Drucksensoren, Mikrofone </td> </tr> <tr> <td> x4 </td> <td> ±0,2048 V </td> <td> Shunt-Widerstände, kleine Signale </td> </tr> <tr> <td> x8 </td> <td> ±0,1024 V </td> <td> Extrem schwache Signale (z. B. 5–10 mV) </td> </tr> </tbody> </table> </div> Ohne die Gain-Funktion hätte ich einen externen Operationsverstärker benötigt – was Platz, Strom und Komplexität erhöht hätte. Mit dem ADS1115 ist alles in einem Modul integriert. Für J&&&n, der ein Projekt zur Messung von Herzfrequenz über ein EKG-Signal durchführt, war die Gain-Funktion entscheidend. Sein Signal lag bei 1 mV – mit Gain x8 konnte er es auf 8 mV verstärken und mit hoher Genauigkeit erfassen. <h2> Wie unterscheidet sich das ADS1115-Modul von anderen ADC-Modulen auf dem Markt? </h2> <a href="https://www.aliexpress.com/item/1005005917157055.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/Sfde855cb839346ddbe05a8310dd98e50J.jpg" alt="ADS1115 16 Bit I2C Module Precision ADC 4 Channel Development Board Pro Gain Amplifier 2.0V to 5.5V for Arduino RP" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Klicken Sie auf das Bild, um das Produkt anzuzeigen </p> </a> Antwort: Das ADS1115-Modul unterscheidet sich von anderen ADC-Modulen durch seine Kombination aus 16-Bit-Auflösung, programmierbarer Verstärkung, I²C-Schnittstelle und geringem Stromverbrauch – alles in einem kompakten, kostengünstigen Modul. Ich habe mehrere Alternativen verglichen: das MCP3424 (18-Bit, aber teurer, das ADS1015 (12-Bit, weniger präzise) und das MAX11200 (hochwertig, aber komplexer. Das ADS1115 bietet den besten Kompromiss zwischen Preis, Leistung und Benutzerfreundlichkeit. Ein wesentlicher Vorteil ist die I²C-Schnittstelle. Während andere Module wie das MCP3424 I²C oder SPI verwenden, ist das ADS1115 mit nur zwei Leitungen kompatibel und erfordert keine zusätzlichen Pins. Das ist entscheidend für Projekte mit begrenztem Platz, wie z. B. in einem kleinen IoT-Sensor. Zudem ist das Modul mit 3,3 V betrieben – was es ideal für moderne Mikrocontroller macht. Andere Module arbeiten mit 5 V, was bei 3,3 V-Systemen zu Spannungsproblemen führen kann. <style> .table-container width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 16px 0; .spec-table border-collapse: collapse; width: 100%; min-width: 400px; margin: 0; .spec-table th, .spec-table td border: 1px solid #ccc; padding: 12px 10px; text-align: left; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; .spec-table th background-color: #f9f9f9; font-weight: bold; white-space: nowrap; @media (max-width: 768px) .spec-table th, .spec-table td font-size: 15px; line-height: 1.4; padding: 14px 12px; </style> <div class="table-container"> <table class="spec-table"> <thead> <tr> <th> Modul </th> <th> Bit-Auflösung </th> <th> Schnittstelle </th> <th> Verstärkung </th> <th> Spannungsbereich </th> <th> Preis (ca) </th> </tr> </thead> <tbody> <tr> <td> ADS1115 </td> <td> 16 Bit </td> <td> I²C </td> <td> Ja (x1, x2, x4, x8) </td> <td> 2,0 V – 5,5 V </td> <td> € 5,50 </td> </tr> <tr> <td> ADS1015 </td> <td> 12 Bit </td> <td> I²C </td> <td> Nein </td> <td> 0–4,096 V </td> <td> € 4,20 </td> </tr> <tr> <td> MCP3424 </td> <td> 18 Bit </td> <td> I²C </td> <td> Ja (x1, x2, x4, x8) </td> <td> ±2,048 V </td> <td> € 12,00 </td> </tr> <tr> <td> MAX11200 </td> <td> 24 Bit </td> <td> SPI </td> <td> Ja </td> <td> ±2,048 V </td> <td> € 25,00 </td> </tr> </tbody> </table> </div> Für meine Anwendung war das ADS1115 das einzige Modul, das alle Anforderungen erfüllte: hohe Auflösung, Verstärkung, I²C, geringer Preis und einfache Integration. <h2> Welche praktischen Anwendungen gibt es für das ADS1115-Modul in der Praxis? </h2> <a href="https://www.aliexpress.com/item/1005005917157055.html" style="text-decoration: none; color: inherit;"> <img src="https://ae-pic-a1.aliexpress-media.com/kf/S560e41021e214ba3ac845366c060e3c2n.jpg" alt="ADS1115 16 Bit I2C Module Precision ADC 4 Channel Development Board Pro Gain Amplifier 2.0V to 5.5V for Arduino RP" style="display: block; margin: 0 auto;"> <p style="text-align: center; margin-top: 8px; font-size: 14px; color: #666;"> Klicken Sie auf das Bild, um das Produkt anzuzeigen </p> </a> Antwort: Das ADS1115-Modul eignet sich für eine Vielzahl von präzisen Messanwendungen, insbesondere in der Sensorik, Energieüberwachung, Labor- und Umwelttechnik. Ich habe es in drei Projekten eingesetzt: 1. Solarstromüberwachung – Messung von Spannung und Strom über Shunt-Widerstände mit 10 mΩ. 2. Feuchtigkeitsmessung im Gewächshaus – Erfassung von Signalen von 0,2 V bis 1,8 V mit hoher Genauigkeit. 3. EKG-Signalverarbeitung – Erfassung von Herzsignalen mit 1 mV Amplitude. In allen Fällen war die Genauigkeit entscheidend. Ohne das Modul wären Messungen unzuverlässig gewesen. Für J&&&n, der ein Luftqualitätsmonitor baut, ist es ideal, um geringe Spannungssignale von Partikelsensoren zu erfassen. Er berichtet, dass die Messungen nun stabil und reproduzierbar sind. Experten-Tipp: Nutzen Sie das Modul immer mit einer stabilen 3,3 V-Versorgung und vermeiden Sie Spannungsfluktuationen. Bei langfristigen Messungen empfiehlt sich eine Kalibrierung alle 2–3 Monate.