Étape 4: Le code final
#Settings
IN_RC = 18 #Input pin
OUT_LOW = 24 #Low-light output
OUT_HIGH = 25 #High-light output
OUT_STATE = 22 #Program État sortie
L’utilisation de ces, vous pouvez modifier les broches GPIO que le programme est sortie entrée et envoi vers.
Voici le code complet :
#! / usr/bin/env python
# Photocellule d’entrée et l’analyse pour Ras Pi
# Doit être utilisé avec GPIO 0.3.1a ou version ultérieure - version antérieure
# ne sont pas assez rapide !
# Définissez pour entrée cellule photoélectrique sur pin 18 par défaut
importer des RPi.GPIO dans le temps, GPIO, sys, os
#Settings
IN_RC = 18 #Input pin
OUT_LOW = 24 #Low-light output
OUT_HIGH = 25 #High-light output
OUT_STATE = 22 #Program État sortie
DEBUG = 1
GPIO.setmode (GPIO. BCM)
GPIO.setup (OUT_LOW, GPIO. OUT)
GPIO.setup (OUT_HIGH, GPIO. OUT)
GPIO.setup (OUT_STATE, GPIO. OUT)
def RCtime (RCpin) :
lu = 0
GPIO.setup (RCpin, GPIO. OUT)
GPIO.output (RCpin, GPIO. FAIBLE)
Time.Sleep(0.1)
GPIO.setup (RCpin, GPIO. PO)
# Cela prend environ 1 milliseconde par cycle de boucle
même si (GPIO.input(RCpin) == GPIO. FAIBLE) :
lecture += 1
retour de lecture
def ledOut(state) :
Si l’État == 0 :
GPIO.output (OUT_LOW, True)
GPIO.output (OUT_HIGH, True)
retourne 0
Si l’État == 1 :
GPIO.output (OUT_LOW, False)
GPIO.output (OUT_HIGH, True)
retourne 0
Si l’état == 2 :
GPIO.output (OUT_LOW, True)
GPIO.output (OUT_HIGH, False)
retourne 0
Si l’État == 3 :
GPIO.output (OUT_LOW, False)
GPIO.output (OUT_HIGH, False)
retourne 0
Retourne 1
def photocellParse(reading) :
sortir = ""
Si la lecture < = 65 :
sortir = « 0 »
ledOut(0)
retour sur
Si la lecture < = 150 :
Out = « o »
ledOut(1)
retour sur
Si la lecture < = 350 :
sortir = "."
ledOut(2)
retour sur
sortir = ""
ledOut(3)
retour sur
While True :
GPIO.output (OUT_STATE, True)
sys.stdout.Write(photocellParse(RCtime(IN_RC))) # lecture RC calendrier à l’aide de la goupille de RC_IN, analyser et il crache dans stdout
#print photocellParse(RCtime(IN_RC)),
sys.stdout.Flush()
GPIO.output (OUT_STATE, False)