Änderungen

KY-053 Analog Digital Converter

143 Byte entfernt, 10:26, 6. Apr. 2016
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>
Bürokrat, Administrator
611
Bearbeitungen