Analoge Pins auf dem Raspberry Pi
Ich zeige euch wie man analoge Pins auf dem Raspberry Pi benutzt. Bevor ich mit der Artikelserie zu den Abstandsensoren weitermachen kann ist dieser kleine Einschub nötig. Der Infrarot Abstandssensor gibt die Messwerte analog aus, aus diesem Grund muss ich am Raspberry Pi die Voraussetzungen erfüllen um auch analoge Signal verarbeiten zu können.
Analoge Pins auf dem Raspberry Pi
Der Raspberry Pi hat je nach Modell 26 oder 40 GPIO Pins. Diese haben alle unterschiedliche Funktionen, gemeinsam ist jedoch, dass sie alle rein digital sind. Das bedeutet man kann über die Software lediglich 0 oder 1 abfragen, je nachdem ob Spannung am Pin anliegt oder nicht. Es gibt zahlreiche Geräte und Sensoren die über ein analoges Signal gesteuert werden. Um auch analoge Signale verarbeiten benötigt man entweder ein anderes Board, wie den Arduino oder eine Zusatzplatine.
ADC Pi oder ADC Pi Plus
Um analoge Signale verarbeiten zu können benötigt man einen Analog-Digital-Converter. Es gibt dabei folgende Möglichkeiten:
- eine eigene Platine, die man auf den GPIO Port stecken kann
- eine USB Schnittstelle
Für beide Möglichkeiten gibt es ein paar unterschiedliche Modelle unterschiedlicher Hersteller. Ich habe mir auf eine Empfehlung das ADC Pi Modul von ABElectronics zugelegt. Ein Analog-Digital-Umsetzer verandelt ein analoges Signal in ein für den Raspberry pi lesbares digitale Signal um. Das Modul von ABElectronics verwendet dabei die bereits bekannte I2C Schnittstelle der GPIO Schnittstelle.
Das ADC Pi Modul gibt es in zwei Versionen:
- ADC Pi
- ADC Pi Plus
Der einzige Unterschied der beiden Platinen ist deren Größe. Die ADC Pi Platine passt auf die 26 Pin große GPIO Schnittstelle der älteren Raspberry Pi Modelle, der ADC Pi Plus auf die erweiterte, längere GPIO Schnittstelle der Plus und Raspberry Pi 2 Modelle. Ich habe mir das Modell für die älteren Pis zugelegt, damit ich auch abwärtskompatibel bin. Dieses Modul passt übrigens ebenfalls auf die GPIO Schnittstelle der Plus Modelle, anders herum funktioniert das nicht!
Analog Digital Converter verwenden
Der Converter hat 8 analoge Pins und verlängert zudem noch den GPIO Port. Das bedeutet, man kann bis zu vier ADC Platinen übereinander stapeln und somit auf einem einzigen Raspberry Pi 32 analoge Pins verwenden.
Die Verwendung der Platine ist recht einfach, man muss lediglich die I2C Schnittstelle aktivieren. Ich habe euch ja bereits gezeigt wie das geht:
sudo raspi-config
Dort unter den Advanced Options I2C aktivieren. Danach muss noch manuell die Datei /etc/modules um die I2C Kernel Module erweitert werden, damit diese nach dem Neustart laden:
i2c-bcm2708 i2c-dev
Hat das alles funktioniert, dann liefert das Kommando
sudo i2cdetect -y 1
die Adressen über die man angesteckte Geräte ansprechen kann.
Fazit
Analoge Pins kann man am Raspberry Pi verwenden. Meiner Meinung nach ist das fehlen von analogen Pins eine der großen Schwachstellen vom Raspberry Pi. Mit einem Analog-Digital-Converter ist man aber auch dafür gerüstet. Im nächsten Teil zeige ich euch wie ich mit dieser Zusatzplatine Messerwerte von einem Infrarot Entfernungsmesser auslese und verarbeite.
Für welche Anwendungsfälle würdet ihr ADC verwenden oder benötigen? Kennt ihr andere gute Modelle oder habt ihr Erfahrung mit USB ADC gemacht?
Hallo Werner,
Auf der Suche nach einer Lösung bin ich über ADC Pi
auf deine Seite gestoßen.
Vor ab: ich bin technisch interessiert aber Programmierung und elektronische Kenntnisse sehr bescheiden. Wenn Vorlagen vorhanden kann ich Projekte nachgestalten, was ich auch bereits bewerkstelligt habe. Ich suche eine Möglichkeit ein Thermoelement mit dem Pi zu verbinden und dann in Fhem darzustellen. Ist das mit dem ADC Pi bzw. ADC Pi Plus möglich?
Gruß Michael
Wenn das Thermoelement analoge Daten sendet, dann kannst du diese auch über den ADC Pi über die GPIO Schnittstelle einlesen. Gibt es auch eine Dokumentation dazu, dann kann man diese auch recht einfach interpretieren. Ob das recht einfach mit Fhem funktioniert weiß ich nicht. Das müsste man ausprobieren – im schlimmsten Fall müsste man mit einem Skript dazwischen nachhelfen.
Hallo vesuch das mal
https://www.youtube.com/watch?v=t2QS12Yy01Q
Ich möchte ein PT1000 Temperatur Sensor am RPI nutzen.
Hallöchen, mir geht es ähnlich wie Michael, aber da ich aus der IT komme bin ich schon mit den erweiterten Grundlagen vertraut.
Nun bin ich in ein Haus zur Miete eingezogen und dabei kam die Idee auf die alte vorhandene Kabelstruktur der analogen Alarmanlage, die leider nicht mehr funktioniert, nun an meinen Raspi 4 anzubinden.
Ich habe bereits Erfahrung mit AQUERA Sensoren, aber noch nicht mit der analogen Kabelwelt 🙂
Bei der Suche bin ich dann auf diese Einstiegsseite gestossen, die ich nun weiter verfolgen werde und hoffe, auch mittels youtube, hier zu einem Ergebnis zu kommen.
Kaufen wollte ich mir eigentlich jetzt den RPI ADC Raspberry Pi – Analog/Digital Konverter ADS1115 von JOY-IT.
Was meint Ihr dazu?
Habt Ihr ggf. einen Tipp für mich, wie ich die Enden der alten Kabel (7 farbliche dünne Kabelenden pro Kabelstrang) an einen „altertümlichen Schalter/Sensor“ andocke und welche ich dazu nutzen sollte?
Peace and out … und DANKE für diesen Blog!
LG; Kai