红外线避障车(micropython 102板)

系统文件由四个文件关联组成:
(1)boot.py – 这个脚本执行时TPYBoard开发板启动。它设置了开发板的多个选项参数。
(2)main.py – 这是包含Python程序的主要脚本。在 boot.py 运行后被执行
(3)README.txt – 包含开启Python的必要基础信息。
(4)pybcdc.inf – 这是一个Windows驱动文件,配置串行USB装置,之后的教程中有更多的介绍。

动手试一试

编辑mian.py
现在我们可以开始编写自己的 python 程序了。 用文本编辑器打开 main.py 文件。Windows 环境下可以使用记事本或者其他编辑器。 Mac 和 linux 下使用你喜欢的文本编辑器即可。 打开文件后你将看到如下的一行:

main.py – put your code here!

该行以 # 字符开始,意味着只是一个注释。 这样的命令行不会被执行,仅为代码提供信息用在这个 main.py 加多两行,如下所示:
# main.py – put your code here!
import pybpyb.LED(4).on()
第一行表明使用 pyb 模块,这个模块包含了控制开发板的所有函数和类。
第二行打开了蓝色的 LED:先是在 pyb 模块中使用了 LED 类,创建了 LED 4 的实例,然后将其点亮。
2.4. 重新启动开发板
为运行这个小小的脚本,我们需要保存并关闭 main.py文件, 然后在 USB 设备中退出(或者卸载),就像退出移动磁盘一样。
当设备安全退出或解除挂载后就来到了实现功能的地方: 按下板上的复位键将重置开发板并运行写好的程序。 RST复位按键位于右边,USB 接口下。
当按下复位键后绿色的 LED 将快速闪烁,然后蓝色的 LED 保持长亮。 至此编写和运行第一个 MicroPython 程序就完成了

import pyb
from pyb import UART
from pyb import Pin

M0 = Pin('X1', Pin.IN)
M1 = Pin('X2', Pin.IN)
M2 = Pin('X3', Pin.IN)
M3 = Pin('X4', Pin.IN)
N1 = Pin('Y1', Pin.OUT_PP)
N2 = Pin('Y2', Pin.OUT_PP)
N3 = Pin('Y3', Pin.OUT_PP)
N4 = Pin('Y4', Pin.OUT_PP)

print('while')
while True:
    print('while')
    pyb.LED(4).off()
    pyb.LED(3).off()
    pyb.LED(2).off()
#通电后默认向前    
    #if(M1.value()&M1.value()==0): #2号检测到物体,轮1轮2向前   
        #pyb.LED(2).on()
        #N1.high()
        #N2.low()
        #向前组合
        #N3.high()
        #N4.low()
        #pyb.delay(1000)
    if(M0.value()&M1.value()==0):#1号检测到物体,轮1后退
        pyb.LED(4).on()
        #pyb.delay(50)
        #后退500 ms       
        N1.high()
        N2.high()
        N3.high()
        N4.low()
        pyb.delay(800)
        N1.low()
        N2.high()
        #向前组合
        N3.low()
        N4.high()
        pyb.delay(10)
       
        #pyb.delay(5000)
    if(M3.value()&M2.value()==0):#4号检测到物体,轮2后退
        pyb.LED(3).on()
        #pyb.delay(50)
        N2.low()
        N1.high()
        N3.high()
        N4.high()
        pyb.delay(800)
        N1.low()
        N2.high()
        #向前组合
        N3.low()
        N4.high()
        pyb.delay(10)
    #if(M2.value()&M1.value()==0):
    
    #if(M2.value()==0): #3号检测到物体,轮1轮2向前   
        #pyb.LED(2).on()
        #N2.low()
        #N1.high()
        #N3.high()
        #N4.low()
        #pyb.delay(10)