Ich suche nach Optionen für ADC auf dem Rasbperry Pi. Ich frage mich, was bisher möglich ist. Natürlich ist einfach und billig gut.
Ich suche nach Optionen für ADC auf dem Rasbperry Pi. Ich frage mich, was bisher möglich ist. Natürlich ist einfach und billig gut.
Antworten:
Adafruit hat ein nützliches Tutorial zur Verwendung des MCP3008 (3,75 USD) - 8-Kanal-10-Bit-ADC mit SPI-Schnittstelle, um die Lautstärke einer MP3-Datei zu steuern. Es sollte Ihnen jedoch einen guten Ausgangspunkt für jedes analoge oder digitale Projekt bieten.
Die ADS1113, ADS1114 und ADS1115 sind Präzisions-Analog-Digital-Wandler (ADCs) mit 16 Bit Auflösung, die in einem ultrakleinen, bleifreien QFN-10-Paket oder einem MSOP-10-Paket angeboten werden. Die ADS1113 / 4/5 sind auf Präzision, Leistung und einfache Implementierung ausgelegt. Der ADS1113 / 4/5 verfügt über eine integrierte Referenz und einen Oszillator. Die Datenübertragung erfolgt über eine I²C-kompatible serielle Schnittstelle. Es können vier I²C-Slave-Adressen ausgewählt werden. Der ADS1113 / 4/5 wird mit einer einzigen Stromversorgung von 2,0 V bis 5,5 V betrieben.
Zuerst müssen Sie sicherstellen, dass die I²C-Module geladen sind . Schließen Sie anschließend den ADS1115 wie unten gezeigt an. Abhängig davon, an welchen Pin ADDR angeschlossen ist, sind 4 verschiedene Adressen möglich. Dies bedeutet, dass Sie insgesamt 16 Kanäle an einen einzelnen I²C-Bus anschließen können.
GND = 0x48, VDD = 0x49, SDA = 0x4A, SCL = 0X4B
So sehen Sie das Ergebnis der letzten Konvertierung
# i2cget -y 0 0x49 0 w
0x0000
Der Standardwert 0x0000 wird hier zurückgegeben, da noch keine Konvertierungen durchgeführt wurden. Schauen wir uns nun das Konfigurationsregister an
# i2cget -y 0 0x49 1 w
0x8385
Das LSB steht an erster Stelle, dies ist also äquivalent zu 0b1000010110000011
Ich möchte eine Single-Ended-Konvertierung für AIN0 durchführen, daher muss ich Bits [14:12] wie folgt schreiben 0b100
. dh0b1100010110000011
# i2cset -y 0 0x49 1 0xC385 w
# i2cget -y 0 0x49 0 w
0xa30b
Das LSB steht an erster Stelle, dies entspricht also einer Dezimalzahl von 2979
Solange Ihre gewünschte Verwendung keine extrem hohen Bitraten oder Auflösungen erfordert, können Sie wahrscheinlich nur ein Arduino verwenden. Arduinos sind nett, weil sie eine riesige Community für Support haben, sie gibt es schon eine Weile und Kommunikation über USB, kein GPIO!
Hier ist ein Link zu Simon Monks Blog-Post mit Anweisungen, wie er von einem Raspberry Pi mit Python mit dem Arduino kommuniziert.
Auch für den Fall, dass Sie noch nie von einem Arduino gehört haben (vielleicht haben Sie unter einem Felsen gelebt), finden Sie hier einen Link zu dessen Einführungsseite und ein Beispiel für analoge Eingänge für Anfänger .
In einem Monat oder zwei, (da die Lieferung in Afrika) Ich werde eine I2C PCF8591 Board bekommen , die wiringpi Unterstützung hat WiringPi Website und die Board Anwendungen 3,3V ( in der Regel) bekam ich die Waveshare - Version auf Amazon Amazon Link Von dem, was mir‘ Ich habe gelesen, der PCF8591 ist ziemlich nett, aber bis ich das Board tatsächlich vor mir habe, kann ich nicht sagen, ob es gut ist oder nicht
Eine interessante Lösung hier: http://www.theremino.com/de/blog/standalone-applications/#raspberry
Nicht nur ADC, sondern jede Art von konfigurierbarem Input Output für den Raspberry Pi.