1.下载代码
sudo python 红外避障实验.py
代码:
from LOBOROBOT import LOBOROBOT # 载入机器人库 from gpiozero import Button from gpiozero import LED from time import sleep import sys clbrobot = LOBOROBOT() # 实例化机器人对象 SensorRight = Button(16,pull_up=True) # 右侧红外避障传感器 SensorLeft = Button(12,pull_up=True) # 左侧红外避障传感器 Btn = Button(19,pull_up=True) # 按键端口 Gpin = LED(5) # 绿色LED灯接口 Rpin = LED(6) # 红色LED灯接口 # 按键标志位 keyflag = 0 # 按键控制函数 def keysacn(): global keyflag print('*****************************************') print('* makerobo Button Pressed!*') print('*****************************************') Rpin.on() # 打开红色LED Gpin.off() # 关闭绿色LED keyflag = 1 # 按键标志位置1 def released(): print("button was released") Rpin.off() # 关闭红色LED Gpin.on() # 打开绿色LED # 按键中断函数 Btn.when_pressed = keysacn Btn.when_released = released if __name__ == '__main__': try: while True: if keyflag == 1: SR_2 = SensorRight.value SL_2 = SensorLeft.value print("SensorRight=" +" " + str(SR_2)) print("SensorLeft=" +" " + str(SL_2)) if SL_2 == 0 and SR_2 == 0: # 左右两侧都没有检测到障碍物 print("t_up") clbrobot.t_up(50,0) elif SL_2 == 0 and SR_2 ==1: # 右侧检测到障碍物 print("Left") clbrobot.turnLeft(50,0) elif SL_2==1 and SR_2 ==0: # 左侧检测到障碍物 print("Right") clbrobot.turnRight(50,0) else: clbrobot.t_stop(0.3) clbrobot.t_down(50,0.4) clbrobot.turnLeft(50,0.5) except KeyboardInterrupt: # 当按下Ctrl+C时,将执行子程序destroy()。 clbrobot.t_stop(0)实验结果:
红外避障