ich möchte auf sehr verständlich Weise Funktion und GPIO im Code hinterlegen.
Meine Idee war es ein Dict zu erstellen und nutzen um GPIO's als PWM zu deklarieren und Objekte zu erzeugen die dann genauso wie der Schlüssel des dict-Elements heißen. Hier mal mein Code:
Code: Alles auswählen
import RC_Funktion as RC
import RPi.GPIO as GPIO
import Bluetoothstatus as inputvalue
"""init Analogpins"""
analog_pin={lenkung:17,kupplung:27}
GPIO.setmode(GPIO.BCM)
for nummer in analog_pin:
#[b]-----Hier ist die Lücke------[/b]
key_name_als_Objektname = InitAnalog(analog_pin[nummer])
def InitAnalog(pin)
GPIO.setmode(GPIO.BCM)
pwm_pin = (17,13) #GPIO die als PWM genutzt werden dürfen
#print("Analogfunktion: ",pin)
if pin in pwm_pin:
GPIO.setup(pin,GPIO.OUT)
pwm = GPIO.PWM(pin,50) # 50 Hz (20 ms PWM period)
pwm.start(2.5)# start PWM by rotating to 90 degrees
return PWM
else:
print('Uebergabeparameter Analog-Funktion falsch')
RC.Analog(Lenkung,inputvalue.stick1_x_achse) # Stellung X-Achse an GPIO 17 als PWM signal übergeben.
Alternativ würde ich die Definition des GPIO auch in die "Analog"-Funktion packen. Allerdings weiß ich nicht wie man abfragt ob ein Pin schon deklariert wurden.
Mein Code wäre dann aber kürzer:
Code: Alles auswählen
import RC_Funktion as RC
import RPi.GPIO as GPIO
import Bluetoothstatus as inputvalue
""" Lenkservo ansteuern """
RC.Analog(17,inputvalue.stick1_x_achse) # Stellung X-Achse an GPIO 17 als PWM-Signal übergeben.