树莓派智能小车红外避障实验指导书
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 keyflagprint('*****************************************') print('* makerobo Button Pressed!*') print('*****************************************')Rpin.on() # 打开红色LEDGpin.off() # 关闭绿色LEDkeyflag = 1 # 按键标志位置1def released():print("button was released")Rpin.off() # 关闭红色LEDGpin.on() # 打开绿色LED# 按键中断函数
Btn.when_pressed = keysacn
Btn.when_released = releasedif __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)
实验结果:
红外避障