KRITSADA icon

microbit Excercise for VEC 2020 #2

KRITSADA | PRO | 01/27/20 06:18:36 AM UTC | 0 ⭐ | 1317 👁️ | Never ⏰ | []
Python |

2.55 KB

|

None

|

0 👍

/

0 👎

# เฉลยโจทย์การแข่งขัน microbit ข้อที่ 2 การอ่านค่าจากเซนเซอร์วัดระยะทาง เปิดปิดการทำงานของหลอดไฟ LED 5x5
# ควบคุมการติดดับของ LED 5x5 ด้วยระยะทางจาก ZX-Sonar 
from microbit import *
x1=0
x2=0
x3=0
x4=0
x5=0
while 1:
    sonar=pin1.read_analog()
    print('sonar=',int(sonar*520/1023),'CM')
    sleep(100)
    if sonar>20 and sonar<30 :
        while sonar>20 and sonar<30 : 
            sonar=pin1.read_analog()
            print('sonar=',int(sonar*520/1023),'CM')
            sleep(100)
        if x1==0 :
            x1=1
            for i in range(0,5):
                display.set_pixel(0,i,9)
        else :
            x1=0
            for i in range(0,5):
                display.set_pixel(0,i,0)
    elif sonar>30 and sonar<40 :
        while sonar>30 and sonar<40 : 
            sonar=pin1.read_analog()
            print('sonar=',int(sonar*520/1023),'CM')
            sleep(100)
        if x2==0 :
            x2=1
            for i in range(0,5):
                display.set_pixel(1,i,9)
        else :
            x2=0
            for i in range(0,5):
                display.set_pixel(1,i,0)
    elif sonar>40 and sonar<50 :
        while sonar>40 and sonar<50 : 
            sonar=pin1.read_analog()
            print('sonar=',int(sonar*520/1023),'CM')
            sleep(100)
        if x3==0 :
            x3=1
            for i in range(0,5):    
                display.set_pixel(2,i,9)
        else :
            x3=0
            for i in range(0,5):
                display.set_pixel(2,i,0)
    elif sonar>50 and sonar<60 :
        while sonar>50 and sonar<60 : 
            sonar=pin1.read_analog()
            print('sonar=',int(sonar*520/1023),'CM')
            sleep(100)
        if x4==0 :
            x4=1
            for i in range(0,5):
                display.set_pixel(3,i,9)
        else :
            x4=0
            for i in range(0,5):
                display.set_pixel(3,i,0)
    elif sonar>60 and sonar<70 :
        while sonar>60 and sonar<70 : 
            sonar=pin1.read_analog()
            print('sonar=',int(sonar*520/1023),'CM')
            sleep(100)
        if x5==0 :
            x5=1
            for i in range(0,5):
                display.set_pixel(4,i,9)
        else :
            x5=0
            for i in range(0,5):
                display.set_pixel(4,i,0)

Comments