คือผมลองเขียน code python ที่ได้จากเว็บบล๊อกแห่งหนึ่ง เชื่อม sensor ผ่าน GPIO 2pin บน Raspberrypi พอรัน code แล้วเกิด error ดังนี้ครับ (บรรทัดที่ ******) จะแก้ code ยังไงดีครับ ขอบคุณครับ
def reading(sensor):
import time
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)
if sensor == 0:
GPIO.setup(17,GPIO.OUT)
GPIO.setup(27,GPIO.IN)
GPIO.output(17,GPIO.LOW)
time.sleep(0.3)
GPIO.output(17, True)
time.sleep(0.00001)
GPIO.output(17, False)
while GPIO.input(27) == 0:
signaloff = time.time()
while GPIO.input(27) == 1:
signalon = time.time()
distance = timepassed * 17000
return distance
GPIO.cleanup()
else:
print "Incorrect usonic() function varible."
ถ้าจะให้ดีช่วยโพสว่า Error อ่ะก็ยังดีครับ
อาจจะเป็นที่
แล้วเช็คดู Input ที่รับเข้ามาทาง Pin 27 ดูครับ ว่าตอนแรกเป็น 0 หรือ 1
ผมเดาตามด้านบนครับ คือ ถ้า GPIO.input(27) เป็น 1 เลย ตัวแปร signaloff จะไม่มีครับ น่าจะ error ตรงนี้
ลองใส่
ส่วนบรรทัดล่าง ตรง print ผมเดาว่าเกิดตอนเรียกครั้งที่ 2 เพราะก่อน else มัน
จะเห็นว่ามัน return ก่อน cleanup ดังนั้น cleanup ไม่มีโอกาศทำงานแน่นอนครับ อาจจะเพราะไม่ได้ cleanup รอบ 2 เลยพังมั้งครับ
ปล เดาล้วนๆ ไม่เคยเขียน rasberry pi
ขอบคุณครับ ทั้งสองท่าน
สรุปมัน Error อะไรครับเนี้ย