Raspberry pi relé vezérlő programban hogy tudnám elérni hogy az alábbi kód végtelenszer ismétlődjön?
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
pinList = [2, 3, 4, 17]
for i in pinList:
GPIO.setup(i, GPIO.OUT)
GPIO.output(i, GPIO.HIGH)
SleepTimeL = 2
try:
GPIO.output(2, GPIO.LOW)
print "ONE"
time.sleep(SleepTimeL);
GPIO.output(3, GPIO.LOW)
print "TWO"
time.sleep(SleepTimeL);
GPIO.output(4, GPIO.LOW)
print "THREE"
time.sleep(SleepTimeL);
GPIO.output(17, GPIO.LOW)
print "FOUR"
print "Good bye!"
except KeyboardInterrupt:
print " Quit"
GPIO.cleanup()
Számomra nem teljesen tiszta hogy mit akarsz mert nem fejtetted ki, de a program azt csinálja hogy magas szintből 2 másodpercenként alacsony szintbe kapcsolja a kimeneteket sorban. #2-es válaszoló nem úgy értette hogy cseréld le a LOW-okat HIGH-ra, hanem hogy miután lefutottak a LOW-ok, kapcsold vissza őket HIGH-ra. Hogy ezt 2 másodpercenként teszed e meg vagy egyszerre az összeset mint a program elején, rajtad múlik. Gondolom valami ilyesmi kellhet neked:
SleepTimeL = 2
try:
. . # Végtelenségig ismétlődjön vagy Ctrl+C megszakításig
. . while True:
. . . . # Reléket bekapcsoljuk 2 másodpercenként sorban
. . . . GPIO.output(2, GPIO.LOW)
. . . . print "ONE"
. . . . time.sleep(SleepTimeL);
. . . . GPIO.output(3, GPIO.LOW)
. . . . print "TWO"
. . . . time.sleep(SleepTimeL);
. . . . GPIO.output(4, GPIO.LOW)
. . . . print "THREE"
. . . . time.sleep(SleepTimeL);
. . . . GPIO.output(17, GPIO.LOW)
. . . . print "FOUR"
. . . . time.sleep(SleepTimeL);
. . . .
. . . . # Most ugyan úgy kikapcsoljuk a reléket 2 másodpercenként
. . . . GPIO.output(2, GPIO.HIGH)
. . . . print "ONE"
. . . . time.sleep(SleepTimeL);
. . . . GPIO.output(3, GPIO.HIGH)
. . . . print "TWO"
. . . . time.sleep(SleepTimeL);
. . . . GPIO.output(4, GPIO.HIGH)
. . . . print "THREE"
. . . . time.sleep(SleepTimeL);
. . . . GPIO.output(17, GPIO.HIGH)
. . . . print "FOUR"
. . . . time.sleep(SleepTimeL);
except KeyboardInterrupt:
print " Quit"
GPIO.cleanup()
Ha nem 2 másodpercenként akarod akkor pedig ugyan úgy kell ahogy a program elején beállítottad:
for i in pinList:
. . GPIO.output(i, GPIO.HIGH)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!