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.
<pre class="brush:cpp">#include <Adafruit_ADS1015.h>#include <Wire.h>
// ADS1115 Modul wird initialisiert - alle folgenden Operationen mit dem ADC
'''Beispielprogramm Download:'''
[[Medium:KY-053-AnalogDigitalConverter.zip|KY-053-AnalogDigitalConverter.zip]]
'''Anschlussbelegung Arduino:'''
==Codebeispiel Raspberry Pi==
<pre class="brush:py">
#
#!/usr/bin/python
# coding=utf-8
#############################################################################################################
### Copyright by Joy-IT
### Commercial use only after permission is requested and granted
###
### KY-023 Joystick Module 053 Analog Digital Converter - Raspberry Pi Python Code Example
###
#############################################################################################################
# Dieser Code nutzt die ADS1115 und die I2C Python Library fuer den Raspberry Pi
# Diese ist unter folgendem Link unter der BSD Lizenz veroeffentlicht
from Adafruit_ADS1x15 import ADS1x15
from time import sleep
# Weitere benoetigte Module werden importiert und eingerichtet
import time, signal, sys, os
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
# Benutzte Variablen werden initialisiert
delayTime = 0.25 # in Sekunden
# Adresszuweisung ADS1x15 ADC
ADS1015 = 0x00 0x00 # 12-bit ADCADS1115 = 0x01 0x01 # 16-bit
# Verstaerkung (Gain) wird ausgewaehlt
gain = 4096 4096 # +/- 4.096V# gain = 2048 2048 # +/- 2.048V# gain = 1024 1024 # +/- 1.024V# gain = 512 512 # +/- 0.512V# gain = 256 256 # +/- 0.256V
# Abtasterate des ADC (SampleRate) wird ausgewaehlt
# sps = 8 8 # 8 Samples pro Sekunde# sps = 16 16 # 16 Samples pro Sekunde# sps = 32 32 # 32 Samples pro Sekundesps = 64 64 # 64 Samples pro Sekunde# sps = 128 128 # 128 Samples pro Sekunde# sps = 250 250 # 250 Samples pro Sekunde# sps = 475 475 # 475 Samples pro Sekunde# sps = 860 860 # 860 Samples pro Sekunde
# ADC-Channel (1-4) wird ausgewaehlt
x_adc_channel adc_channel_0 = 0 0 # Channel 0 für die x-Achsey_adc_channel adc_channel_1 = 1 1 # Channel 1 für die y-Achse# adc_channel adc_channel_2 = 2 2 # Channel 2# adc_channel adc_channel_3 = 3 3 # Channel 3
# Hier wird der ADC initialisiert - beim KY-053 verwendeten ADC handelt es sich um einen ADS1115 Chipsatz
adc = ADS1x15(ic=ADS1115)
Button_PIN = 24
GPIO.setup(Button_PIN, GPIO.IN, pull_up_down = GPIO.PUD_UP)
#############################################################################################################
# ########
# Hauptprogrammschleife
# Das Programm liest die aktuellen Werte der Eingang-Pins
# und gibt diese in der Konsole aus
try:
while while True: #Aktuelle Werte werden aufgenommen x adc0 = adc.readADCSingleEnded(x_adc_channeladc_channel_0, gain, sps) y adc1 = adc.readADCSingleEnded(y_adc_channeladc_channel_1, gain, sps) # Ausgabe auf die Konsole if GPIO adc2 = adc.inputreadADCSingleEnded(Button_PIN) == True: print "X-Achse:"adc_channel_2, xgain,"mV, ","Y-Achse:", y,"mV, Button: nicht gedrückt"sps) else: print "X-Achse:", x, "mV, ", "Y-Achse:", y, "mV, Button: gedrückt" print "---------------------------------------" # Reset + Delay button_pressed adc3 = False timeadc.sleep(delayTime) except KeyboardInterrupt: GPIO.cleanupreadADCSingleEnded(adc_channel_3, gain, sps)
# Ausgabe auf die Konsole
print "Messwert Channel 0:", adc0, "mV "
print "Messwert Channel 1:", adc1, "mV "
print "Messwert Channel 2:", adc2, "mV "
print "Messwert Channel 3:", adc3, "mV "
print "---------------------------------------"
# Reset + Delay
button_pressed = False
time.sleep(delayTime)
except KeyboardInterrupt:
GPIO.cleanup()
</pre>