bonjour,
besoin : commande des diodes led 3v par un lecteur code a barre .
les conditions : 1- les led allumée lorsque le code a barre et correcte
2- lorsque les led éclairée et j’insère un code a barre non déclarée (code a barre incorrecte ) tous les led attendries .
le problème : il y’a quelque chose n’est pas correcte les led reste éclairer même j’ai insérée un code a barre incorrecte ???
voici mon code du projet :
import time
import traceback
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
resetCode=« 000000 » # Turn off all LEDs
testCode=« 1111111 » # Turn on all LEDs
for i in range(26):
GPIO.setup(i, GPIO.OUT)
def readBarCode():
return raw_input(« Scann the BarCode: »)
def getModules():
with open(« module_codeLED ») as fichier:
modulesDB = {}
for line in fichier:
module = line.split(";")[0]
module = module.lower()
LEDs = line.split(";")[1]
modulesDB[module] = LEDs
return modulesDB
def turnOn(LEDs):
try:
for LED in LEDs.split(","):
LED = LED.replace("\n","")
GPIO.output(int(LED),True)
print LED +" is up"
except Exception as e:
print traceback.format_exc()
def turnOff(LEDs):
try:
for LED in LEDs.split(","):
GPIO.output(int(LED),False)
except Exception as e:
print traceback.format_exc()
def turnOffAllLEDs():
try:
for i in range(26):
GPIO.output(i,False)
except Exception as e:
print traceback.format_exc()
def turnOnAllLEDs():
try:
for i in range(26):
GPIO.output(i,True)
except Exception as e:
print traceback.format_exc()
def testSequence():
for i in range(26):
try:
GPIO.output(i,True)
print str(i)+" is ON"
time.sleep(2)
GPIO.output(i,False)
time.sleep(2)
except Exception as e:
print "Error on pin: "+str(i)
#print traceback.format_exc()
def main():
code = readBarCode()
code = code.replace("\n","")
code = code.lower()
if code == resetCode:
try:
turnOffAllLEDs()
except Exception as e:
print traceback.format_exc()
elif code == testCode:
try:
turnOnAllLEDs()
except Exception as e:
print traceback.format_exc()
else:
try:
LEDs = getModules()[code]
turnOffAllLEDs()
turnOn(LEDs)
time.sleep(1)
except Exception as e:
turnOffAllLEDs()
print traceback.format_exc()
if name == ‹ main ›:
try:
while True:
main()
#testSequence()
except KeyboardInterrupt:
print(‹ Interrupted ›)
try:
turnOffAllLEDs()
except Exception as e:
print traceback.format_exc()