Enkla Raspberry Pi Input/Output. Tricopter (4 / 4 steg)
Steg 4: Programmet.
Importera tid
importera RPi.GPIO som GPIO
importera os
importera datetime som avskiljare
importera sys
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings(False)
GPIO.setup (27, GPIO. OUT)
GPIO.setup (22, GPIO. OUT)
GPIO.setup (10, GPIO. OUT)
GPIO.setup (17, GPIO. I)
knappen = 17
färg = 0
checkFolderBirdCam = os.path.isdir("/home/pi/BirdCam")
om checkFolderBirdCam == False:
OS.mkdir("/Home/PI/BirdCam")
checkFolderPictures = os.path.isdir("/home/pi/BirdCam/PICTURES")
om checkFolderPictures == False:
OS.mkdir("/Home/PI/BirdCam/Pictures")
checkFolderVideo = os.path.isdir("/home/pi/BirdCam/VIDEO")
om checkFolderVideo == False:
OS.mkdir("/Home/PI/BirdCam/video")
def quickFlash():
x i range(0,8):
colourLED(1,1,0,0.1)
colourLED(0,1,1,0.1)
colourLED(1,0,1,0.1)
def checkInput(colour):
om GPIO.input (knappen) == 1:
om färg == "röd":
quickFlash()
colourLED(0,1,1,0.1)
checkMedia('PHOTOS')
medan GPIO.input (knappen) == 0:
y = dt.datetime.now().strftime('%m%d%H%M%S')
filnamn = ("pic_")+y+(".jpg")
kommandot = ("sudo raspistill - n -o")
OS.system (kommando + filnamn)
Print(filename)
OS.chdir("/Home/PI")
om färg == "grönt":
quickFlash()
colourLED(1,1,0,0.1)
checkMedia('VIDEO')
y = dt.datetime.now().strftime('%m%d%H%M%S')
filnamn = ("Vid_")+y+(".h264")
kommandot = ("sudo raspivid - n -t 180000 -o")
OS.system (kommando + filnamn)
OS.chdir("/Home/PI")
om färg == "blue":
quickFlash()
colourLED(1,1,0,0.1)
Time.Sleep(2)
colourLED(1,1,1,0.1)
sys.Exit()
om färg == "gul":
quickFlash()
colourLED(0,0,1,0.1)
Time.Sleep(2)
colourLED(1,1,1,0.1)
OS.system ("sudo halt")
def checkMedia(camFormat):
checkMediaUSB = os.path.isdir("/media/KINGSTON")
om checkMediaUSB == True:
checkFolderBirdCam = os.path.isdir("/media/KINGSTON/BirdCam/VIDEO")
om checkFolderBirdCam == False:
OS.mkdir("/media/Kingston/BirdCam")
checkFolderPictures = os.path.isdir("/media/KINGSTON/BirdCam/PICTURES")
om checkFolderPictures == False:
OS.mkdir("/media/Kingston/BirdCam/Pictures")
checkFolderVideo = os.path.isdir("/media/KINGSTON/BirdCam/VIDEO")
om checkFolderVideo == False:
OS.mkdir("/media/Kingston/BirdCam/video")
om camFormat == "Bilder":
OS.chdir("/media/Kingston/BirdCam/Pictures")
annat:
OS.chdir("/media/Kingston/BirdCam/video")
annat:
om camFormat == "Bilder":
OS.chdir("/Home/PI/BirdCam/Pictures")
annat:
OS.chdir("/Home/PI/BirdCam/video")
def colourLED(r,b,g,t):
om r == 1:
GPIO.output (27, True)
annat:
GPIO.output (27, falskt)
om b == 1:
GPIO.output (22, True)
annat:
GPIO.output (22, falskt)
om g == 1:
GPIO.output (10, True)
annat:
GPIO.output (10, falskt)
Time.Sleep(t);
samtidigt sant:
colourLED(0,1,1,3)
checkInput('red')
colourLED(1,0,1,3)
checkInput('green')
colourLED(1,1,0,3)
checkInput('blue')
colourLED(0,0,1,3)
checkInput('yellow')
# colourLED(1,0,0,3)
# checkInput('cyan')
# colourLED(0,1,0,3)
# checkInput('magenta')
# colourLED(0,0,0,3)
# checkInput('white')
quickFlash()