Я делаю проект Raspberry Pi, в котором робот обнаружит и RFID-метку, когда он закроется. но у меня, кажется, есть ошибка. Вот мой код:
import time
import MFRC522
import signal
import socket
import RPi.GPIO as GPIO
from subprocess import call
#RFID
MIFAREReader = MFRC522.MFRC522()
cardA = [6, 100, 18, 73,57]
cardB = [242, 231, 88, 100, 41]
cardC = [54, 6, 9, 73, 112]
def end_read(signal, frame):
global continue_reading
continue_reading = False
print "Ctrl +C captured, ending read."
MIFAREReader.GPIO_CLEEN()
signal.signal(signal.SIGINT, end_read)
GPIO.setmode(GPIO.BCM)
GPIO_TRIGGER = 18
GPIO_ECHO = 23
MLEFT = 4
MRIGHT = 25
e1 = 17
e2 = 10
GPIO.setwarnings(False)
GPIO.setup(GPIO_TRIGGER, GPIO.OUT)
GPIO.setup(GPIO_ECHO,GPIO.IN)
GPIO.output(GPIO_TRIGGER, False)
time.sleep(0.5)
def sonar(n):
GPIO.output(GPIO_TRIGGER,True)
time.sleep(0.00001)
GPIO.output(GPIO_TRIGGER, False)
start = time.time()
while GPIO.input(GPIO_ECHO)==0:
start = time.time()
while GPIO.input(GPIO_ECHO)==1:
stop = time.time()
elapsed = stop - start
distance = elapsed * 34000
distance = distance / 2
return distance
GPIO.setup(MLEFT, GPIO.OUT)
GPIO.setwarnings(False)
GPIO.setup(MRIGHT, GPIO.OUT)
GPIO.setwarnings(False)
GPIO.setup(e1, GPIO.OUT)
GPIO.setwarnings(False)
GPIO.setup(e2, GPIO.OUT)
GPIO.setwarnings(False)
time(1)
while True:
continue_reading = True
time.sleep(0.3)
distance = sonar(0)
print distance
if(12.9<distance<16.9)
GPIO.output(e1, 0)
GPIO.output(e2, 0)
while continue_reading:
print "read"
(status,TagType) = MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL)
я получил этот вывод:
print "read"
^
IndentationError: expected an indented block
Как решить эту проблему? Какие-либо предложения? Мне не удалось найти ошибку идентификации?
while
). - person user94559   schedule 06.08.2016<pre>
. Проблема в том, что это очень затрудняет отладку отступов вашего кода, поэтому мы не сможем ответить на этот вопрос, если вы не переформатируете. - person Marcus Müller   schedule 06.08.2016