Raspberry Pi - ADC
De Raspberry Pi heeft geen ingebouwde analoge ingangen, waardoor het niet direct mogelijk is om waarden van analoge sensoren zoals potentiometers, thermistors en gassensoren te lezen. Om dit probleem op te lossen, maken we gebruik van een Analoge-naar-Digitale Converter (ADC). In deze tutorial leert u hoe u een ADS1115 ADC-module gebruikt om analoge sensorwaarden uit te lezen met een Raspberry Pi.
Deze tutorial behandelt:
- Hoe u een analoge sensor aansluit op een Raspberry Pi met behulp van het ADS1115-module.
- Hoe u de Raspberry Pi programmeert om waarden van de analoge sensor te lezen.
Hardware Benodigdheden
Of u kunt de volgende kits kopen:
| 1 | × | DIYables Sensorkit (30 sensoren/displays) | |
| 1 | × | DIYables Sensorkit (18 sensoren/displays) |
Begrip van het ADS1115 Module
De ADS1115 is een 16-bit ADC met 4 kanalen en communiceert met de Raspberry Pi via I2C (Inter-Integrated Circuit). Het kan analoge signalen (0–3,3 V) uitlezen en biedt een resolutie van 16 bits.
Het ADS1115-module beschikt over 4 analoge ingangen, wat betekent dat u maximaal 4 verschillende analoge sensoren tegelijkertijd op één ADS1115-module kunt aansluiten. Hierdoor kunt u meerdere sensorwaarden gelijktijdig meten met slechts één ADC-module.
ADS1115 Pinout

| Pin | Naam | Beschrijving |
|---|---|---|
| VDD | Voedingsspanning (3,3V of 5V) | |
| GND | Aarde (ground) | |
| SCL | I2C klok (verbinden met Raspberry Pi GPIO3) | |
| SDA | I2C data (verbinden met Raspberry Pi GPIO2) | |
| A0-A3 | Analoge ingangen | |
| ADDR | I2C adres selectie | |
| ALERT/RDY | Alert/Ready uitgang (optioneel) |
Bedrading van ADS1115 naar Raspberry Pi
| ADS1115 Pin | Raspberry Pi Pin |
|---|---|
| VDD | 3.3V (Pin 1) |
| GND | GND (Pin 6) |
| SCL | GPIO3 (Pin 5) |
| SDA | GPIO2 (Pin 3) |
Hieronder enkele voorbeelden van hoe u de Raspberry Pi, ADS1115-module en verschillende analoge sensoren kunt bedraden:
- De bedrading tussen Raspberry Pi, ADS1115-module en potentiometer

This image is created using Fritzing. Click to enlarge image
- De bedrading tussen Raspberry Pi, ADS1115-module en lichtsensor

This image is created using Fritzing. Click to enlarge image
- De bedrading tussen Raspberry Pi, ADS1115-module en watersensor

This image is created using Fritzing. Click to enlarge image
- De bedrading tussen Raspberry Pi, ADS1115-module en bodemvochtigheidsensor

This image is created using Fritzing. Click to enlarge image
Zoals eerder genoemd, kan het ADS1115-module tot vier analoge sensoren tegelijkertijd verbinden. Deze tutorial laat zien hoe het werkt met één sensor, maar u kunt het eenvoudig aanpassen voor meerdere sensoren.
Hoe gebruik je ADC met Raspberry Pi
- Zorg dat u Raspbian of een ander Raspberry Pi compatibel besturingssysteem op uw Pi geïnstalleerd heeft.
- Zorg dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw PC.
- Zorg dat uw Raspberry Pi met internet verbonden is indien u libraries moet installeren.
- Als u voor het eerst een Raspberry Pi gebruikt, bekijk dan hoe u de Raspberry Pi instelt.
- Verbind uw PC met de Raspberry Pi via SSH met de ingebouwde SSH-client op Linux en macOS of met PuTTY op Windows. Zie hoe u uw PC met Raspberry Pi verbindt via SSH.
- Voer het volgende commando uit om het configuratieprogramma van de Raspberry Pi te openen:
- Navigeer naar Interfacing Options > I2C en zet deze aan om de I2C-interface op de Raspberry Pi te activeren.
- Herstart de Raspberry Pi:
- Verbind opnieuw uw PC met de Raspberry Pi via SSH
- Controleer of de RPi.GPIO-library is geïnstalleerd. Zo niet, installeer deze dan met het volgende commando:
- Installeer de Adafruit_ADS1x15-library door het volgende commando uit te voeren in de terminal van de Raspberry Pi:
Analoge waarden uitlezen met Python
- Maak een Python scriptbestand aan met de naam adc_read.py en voeg de volgende code toe:
- Sla het bestand op en voer het Python script uit met het volgende commando in de terminal:
Als alles correct is aangesloten, ziet u de analoge waarden in de terminal verschijnen.
Uitleg van de code:
- De Adafruit_ADS1x15 library initialiseert de I2C-communicatie.
- Het ADS1115-object leest de 16-bit ADC-waarde van het opgegeven kanaal.
- Het script leest en toont continu de analoge waarde elke seconde.
Conclusie
Met een ADC zoals de ADS1115 kan de Raspberry Pi communiceren met analoge sensoren, waardoor zijn mogelijkheden worden uitgebreid. Deze tutorial liet zien hoe u het ADS1115-module bedraadt en programmeert om analoge data te lezen via I2C-communicatie. U kunt nu eenvoudig andere analoge sensoren integreren voor allerlei projecten!
Hieronder vindt u uitgebreide tutorials die uitleggen hoe u een Raspberry Pi met verschillende analoge sensoren verbindt en gebruikt:
- Raspberry Pi - Watersensor tutorial
- Raspberry Pi - Druksensor tutorial
- Raspberry Pi - Lichtsensor tutorial
- Raspberry Pi - Potentiometer tutorial