Änderungen

KY-023 Joystick Modul (XY-Achsen)

2.681 Byte hinzugefügt, 15:27, 5. Apr. 2016
/* Codebeispiel Raspberry Pi */
Somit empfehlen wir, bei analogen Sensoren dieses Sets das KY-053 Modul mit dem besagten ADC dazwischenzuschalten. Nähere Informationen finden Sie auf der Informationsseite zum [[KY-053 Analog Digital Converter|'''KY-053'''   Analog Digital Converter]]
<span style="color: #ff6600;">!! <span style="color: #ff0000;">Achtung</span> !! <span style="color: #99cc00;">Analoger Sensor</span>  !! <span style="color: #ff0000;">Achtung</span> !!</span>
<pre class="brush:py"># Benoetigte #!/usr/bin/python# coding=utf-8 ################################################################################################################ Copyright by Joy-IT### Published under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License### Commercial use only after permission is requested and granted###### KY-023 Joystick Module - 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# [https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code]from Adafruit_ADS1x15 import ADS1x15from time import sleep # Weitere benoetigte Module werden importiert und eingerichtetimport time, signal, sys, os
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False) # Benutzte Variablen werden initialisiertdelayTime = 0.2 # Adresszuweisung ADS1x15 ADC ADS1015 = 0x00 # 12-bit ADCADS1115 = 0x01 # Hier 16-bit # Verstaerkung (Gain) wird der Eingangsausgewaehltgain = 4096 # +/-Pin deklariert, an dem der Sensor angeschlossen ist4. Zusaetzlich wird auch der PullUP Widerstand am Eingang aktiviert096VGPIO_PIN # gain = 242048 # +/- 2.048VGPIO# gain = 1024 # +/- 1.setup(GPIO_PIN, GPIO024V# gain = 512 # +/- 0.IN, pull_up_down 512V# gain = GPIO256 # +/- 0.PUD_UP256V # Abtasterate des ADC (SampleRate)wird ausgewaehlt# sps = 8 # 8 Samples pro Sekunde# sps = 16 # 16 Samples pro Sekunde# sps = 32 # 32 Samples pro Sekundesps = 64 # 64 Samples pro Sekunde# sps = 128 # 128 Samples pro Sekundeprint "Sensor-Test [druecken Sie STRG+C, um den Test zu beenden]"# sps = 250 # 250 Samples pro Sekunde# sps = 475 # 475 Samples pro Sekunde# Diese AusgabeFunktion wird bei Signaldetektion ausgefuehrtsps = 860 # 860 Samples pro Sekundedef ausgabeFunktion(null): print# ADC-Channel ("Signal erkannt"1-4)wird ausgewaehlt x_adc_channel = 0 # Channel 0 für die x-Achsey_adc_channel = 1 # Beim Detektieren eines Signals Channel 1 für die y-Achse# adc_channel = 2 # Channel 2# adc_channel = 3 # Channel 3 # Hier wird der ADC initialisiert - beim KY-053 verwendeten ADC handelt es sich um einen ADS1115 Chipsatzadc = ADS1x15(fallende Signalflankeic=ADS1115) wird die Ausgabefunktion ausgeloest Button_PIN = 24GPIO.add_event_detectsetup(GPIO_PINButton_PIN, GPIO.FALLINGIN, callbackpull_up_down =ausgabeFunktion, bouncetime=100GPIO.PUD_UP) ############################################################################################################# # ########
# Hauptprogrammschleife
# ########
# Das Programm liest die aktuellen Werte der Eingang-Pins
# und gibt diese in der Konsole aus
 
try:
while True:
#Aktuelle Werte werden aufgenommen x = adc.readADCSingleEnded(x_adc_channel, gain, sps) y = adc.readADCSingleEnded(y_adc_channel, gain, sps)  # Ausgabe auf die Konsole if GPIO.input(Button_PIN) == True: print "X-Achse:", x,"mV, ","Y-Achse:", y,"mV, Button: nicht gedrückt" else: print "X-Achse:", x, "mV, ", "Y-Achse:", y, "mV, Button: gedrückt" print "---------------------------------------"  # Reset + Delay button_pressed = False time.sleep(1delayTime) # Aufraeumarbeiten nachdem das Programm beendet wurde 
except KeyboardInterrupt:
GPIO.cleanup()
'''Anschlussbelegung Raspberry Pi:'''
Sensor KY-039 {| style="height: 58px85px; padding-left: 30px;" width="228441"
|-
||SignalKnopf
||=
||GPIO24
||[Pin 18(RPi)]|-||Y-Position||=||Analog 1||[Pin A1 (ADS1115 - KY-053)]|-||X-Position||=||Analog 0||[Pin A0 (ADS1115 - KY-053)]
|-
||+V
||=
||3,3V
||[Pin 1(RPi)]
|-
||GND
||=
||Masse
||[Pin 6(RPi)]
|}
 
ADS1115 - KY-053:
 
{| style="height: 127px; padding-left: 30px;" width="436"
|-
||VDD
||=
||3,3V
||[Pin 01]
|-
||GND
||=
||Masse
||[Pin 09]
|-
||SCL
||=
||GPIO03 / SCL
||[Pin 05 (RPi)]
|-
||SDA
||=
||GPIO02 / SDA
||[Pin 03 (RPi)]
|-
||A0
||=
||s.o.
||[Sensor: X-Position (KY-023)]
|-
||A1
||=
||s.o.
||[Sensor: Y-Position (KY-023)]
|}
 
 
'''Beispielprogramm Download'''
Bürokrat, Administrator
611
Bearbeitungen