Moin, ich möchte gerne ein eletrisches Garagentor für meinen Staubsaugerroboter bauen.
dazu habe ich eine Reflexlichtschranke an meinen Raspberry angeschlossen.
Diese soll beobachten ob der Roboter in seiner Station steht oder nicht.
Steht der Roboter auf der Station wird das das Tor geschlossen, ist der Roboter nicht in der Station,
geht das Tor auf.
Code
Import RPi.GPIO as GPIO
From time import sleep
GPIO.Setmode(GPIO.BCM)
GPIO.setup(26, GPIO.IN)
#This was the Setup
While True:
sensor=GPIO.input(26)
if sensor==1: # da ist kein Signal
print("Roboter nicht in Garage")
sleep(0.1)
elif sensor==0: # da ist ein Signal
print("Roboter in Garage")
Alles anzeigen
Nun möchte ich natürlich wenn der Roboter losfährt das Tor Öffnen.
dazu nutze ich einen Scheibenwischermotor von Bosch
die rechts und linksdrehbewegungen steuere ich über
Python
import RPi.GPIO as GPIO # sudo apt-get install python-rpi.gpio
class Driver:
def __init__(self):
GPIO.setmode(GPIO.BOARD)
self.R_EN = 21
self.L_EN = 22
self.RPWM = 23
self.LPWM = 24
GPIO.setup(self.R_EN, GPIO.OUT)
GPIO.setup(self.RPWM, GPIO.OUT)
GPIO.setup(self.L_EN, GPIO.OUT)
GPIO.setup(self.LPWM, GPIO.OUT)
GPIO.output(self.R_EN, True)
GPIO.output(self.L_EN, True)
def neutral(self):
GPIO.output(self.RPWM, False) # Stop turning right
GPIO.output(self.LPWM, False) # stop turning left
def right(self):
GPIO.output(self.LPWM, False) # stop turning left
GPIO.output(self.RPWM, True) # start turning right
def left(self):
GPIO.output(self.RPWM, False) # Stop turning right
GPIO.output(self.LPWM, True) # start turning left
def cleanup(self):
GPIO.cleanup()
Alles anzeigen
dann weiter mit
Python
>>> from motorlib import Driver
>>> driver = Driver()
>>> driver.right() # turns right
>>> driver.left() # turns left
>>> driver.neutral() # stops turning
>>> driver.cleanup()
jetzt möchte ich natürlich gerne beide Skripte miteinander kombinieren, nur bekommen ich aufgrund der interaktiven Comandozeile
die beiden Skripte nicht verbunden.
Kann mir da jemand behilflich sein?