Änderungen

KY-053 Analog Digital Converter

974 Byte hinzugefügt, 12:18, 29. Apr. 2016
/* Codebeispiel Raspberry Pi */
Zur Ansteuerung dieses Moduls gibt es mehrere Möglichkeiten - als besonders zugänglich haben sich die ADS1X15 Libraries erwiesen, die die Firma Adafruit unter [[https://github.com/adafruit/Adafruit_ADS1X15 https://github.com/adafruit/Adafruit_ADS1X15]] unter der [[https://opensource.org/licenses/BSD-3-Clause BSD-Lizenz]] veröffentlicht hat.
Das unten stehende Beispiel verwendet diese besagte Library - hierzu empfehlen wir diese von Github herunterzuladen, zu entpacken und im Arduino-Library-Ordner, welcher sich standardmäßig unter (C:\Benutzer\[Benutzername]\Dokumente\Arduino\libraries) befindet, zu kopieren, damit diese für dieses Codebeispiel und folgende Projekte zur Verfügung steht. Alternativ ist diese auch im unten stehenden Download Paket ebenfalls enthalten.
<pre class="brush:cpp">#include <Wire.h>#include <Adafruit_ADS1015.h>
// ADS1115 Modul wird initialisiert - alle folgenden Operationen mit dem ADC
Um diese Problematik zu umgehen, besitzt unser Sensorkit X40 mit dem KY-053 ein Modul mit 16 Bit genauen ADC, welches Sie am Raspberry nutzen können, um diesen um 4 analoge Eingänge erweitern zu können. Dieses wird per I2C an den Raspberry Pi angeschlossen, übernimmt die analoge Messung und gibt den Wert digital an den Raspberry Pi weiter.
Das Programm nutzt zur Ansteuerung des ADS1115 ADC die entsprechenden ADS1x15 und I2C Python-Libraries der Firma Adafruit. Diese wurden unter dem folgenden Link [[https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code]] unter der BSD-Lizenz [[https://opensourcegithub.orgcom/licensesadafruit/BSDAdafruit_Python_ADS1x15/blob/master/LICENSE MIT OpenSource-3-Clause Link]Lizenz] veröffentlicht veröffentlicht. Die benötigten Libraries sind im unteren Download-Paket enthalten.
Das Programm liest die aktuelle Spannung aus, die an den 4 Kanälen des ADS1115 ADC anliegen, und zeigt diese in der Konsole an. Über die Variable "delayTime", lässt sich die Pause zwischen den Messungen einstellen.
 
Damit der Raspberry Pi mit dem Sensor auf dem I2C-Bus kommunizieren kann, muss vorab die I2C-Funktion beim Raspberry Pi aktiviert werden. Hierzu müssen folgende Zeilen am Ende der Datei "/boot/config.txt" hinzugefügt werden:
 
''dtparam=i2c_arm=on''
 
Die Datei kann mit folgenden Befehl editiert werden:
 
<pre class="brush:bash">sudo nano /boot/config.txt
</pre>
 
Mit der Tastenfolge [Strg+X -> Y -> Enter] kann die Datei, nach dem hinzufügen der Zeile am unteren Ende, gespeichert und geschlossen werden.
 
Außerdem werden zusätzliche Bibliotheken benötigt, um I2C innerhalb Python nutzen zu können. Um diese zu installieren muss folgender Befehl in die Konsole eingegeben werden:
 
<pre class="brush:bash">sudo apt-get install python-smbus i2c-tools -y</pre>
 
Hiernach kann das folgende Python-Code Beispiel verwendet werden:
<pre class="brush:py">#
||=
||GPIO02 / SDA
||[Pin 0103]
|-
||ADDR
'''[[Medium:KY-053_RPi_AnalogDigitalConverter.zip|KY-053_RPi_AnalogDigitalConverter.zip]]'''
Bürokrat, Administrator
611
Bearbeitungen