(ohne) Stress den AD-Wandler ADS1115 mit Arduino + PI zu nutzen

Für ein aktuelles Projekt benötige ich an meinem Raspberry PI ein paar analoge Eingänge, die der PI bekanntlich von Hause aus nicht hat.
Kleine A/D-Wandlerboards, die optimalerweise mit wenig Strippen auskommen gibt es überall für kleines Geld und zentrales „Gehirn“ darauf ist oft und wie bei mir der ADS1115. Dieser Wird einfach per I2C mit nur zwei Käbelchen verdrahtet.
Der ADS1115 I2C AD-Wandler

sudo apt-get update
sudo apt-get install git build-essential python-dev
git clone https://github.com/adafruit/Adafruit_Python_ADS1x15.git
cd Adafruit_Python_ADS1x15
sudo python setup.py install
cd ~/Adafruit_Python_ADS1x15/examples

Nun kann man die Datei  simpletest.py ausführen:

sudo python simpletest.py

So sollte zumindest aussehen. Die 4 Spalten zeigen die 16 gerasterten analogen Werte der 4 Eingänge.

Nun der Grund für diesen Beitrag: Bei mir klappte es nicht auf Anhieb. Bei mir spuckte das Testscript folgenden Fehler aus:

Traceback (most recent call last):
File "simpletest.py", line 42, in
values[i] = adc.read_adc(i, gain=GAIN)
File "/home/pi/.local/lib/python2.7/site-packages/Adafruit_ADS1x15/ADS1x15.py", line 192, in read_adc
return self._read(channel + 0x04, gain, data_rate, ADS1x15_CONFIG_MODE_SINGLE)
File "/home/pi/.local/lib/python2.7/site-packages/Adafruit_ADS1x15/ADS1x15.py", line 133, in _read
result = self._device.readList(ADS1x15_POINTER_CONVERSION, 2)
File "/home/pi/.local/lib/python2.7/site-packages/Adafruit_GPIO/I2C.py", line 134, in readList
results = self._bus.read_i2c_block_data(self._address, register, length)
File "/home/pi/.local/lib/python2.7/site-packages/Adafruit_PureIO/smbus.py", line 216, in read_i2c_block_data
cmdstring[i] = val
TypeError: one character string expected

Nach langem Gesuche habe ich in einem Chinesischen Blog die Lösung gefunden.
Editiert Zeile 216 von smbus.py wie folgt:

sudo nano /usr/local/lib/python2.7/dist-packages/Adafruit_PureIO/smbus.py
---cmdstring[i] = val
++cmdstring[i] = str(val)

Danach funktionierte es bei auch bei mir.

Dieser Beitrag wurde unter Allgemein veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

2 × 5 =