4. [Micropython]TPYBoard v202 GPIO的使用¶
版权声明:翻译整理属于TPYBoard,转载时请以超链接形式标明文章原始出处和作者信息及本声明
4.1. 实验目的¶
- 学习在PC机系统中GPIO(General Purpose I/O Ports,即通用输入/输出端口)的使用方法
- 学会用TPYBoard v202开发板读取GPIO的电平值,控制板载的LED点亮/熄灭
4.2. 准备工作¶
- TPYBoard v202开发板 1块
- micro USB数据线 1条
- 电脑 1台(本次实验以win7为例)
- 所需软件 MicroPython File Uploader
4.3. GPIO的介绍¶
GPIO(General Purpose I/O Ports)意思为通用输入/输出端口,通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平。
通过上图大家可以看到开发板上的ESP8266模块上有一个蓝色的LED灯,它与板子的G2引脚相连。当控制G2输出低电平时,LED点亮,反之熄灭。开发板上有两个按键,RST按键和FLASH按键。
- RST按键 :复位按键,用于开发板的硬复位
- FLASH按键 :FLASH按键,主要与RST按键搭配使用,使开发板进入烧录模式,与G0引脚相连。
TPYBoard v202开发板支持MicroPython开发,同时也只支持Lua语言开发。为了方便大家使用,下表列举了TPYBoard v202开发板上的引脚编号与NodeMCU、MicroPython之间的对应关系。
TPYBoard v202 | MicroPython | ESP8266模块 GPIO | NodeMCU GPIO |
---|---|---|---|
G0 | 0 | GPIO 0 | 3 |
G2/SDA/LED | 2 | GPIO 2 | 4 |
G4 | 4 | GPIO 4 | 2 |
G5 | 5 | GPIO 5 | 1 |
G9 | 9 | GPIO 9 | 11 |
G10 | 10 | GPIO 10 | 12 |
G15 | 15 | GPIO 15 | 8 |
G16 | 16 | GPIO 16 | 0 |
MO | 13 | GPIO 13 | 7 |
MI | 12 | GPIO 12 | 6 |
SCK/SCL | 14 | GPIO 14 | 5 |
TXD(REPL UART0) | UART0 TXD | TXD | 10/TX |
RXD(REPL UART0) | UART0 RXD | RXD | 9/RX |
可用于GPIO操作的引脚有:G0,G2,G4,G5,G12,G13,G14,G15,G16,其中G16是一个特殊的引脚,用于从深度睡眠模式唤醒模块。还需要注意一点,开发板上只有一个串口,将其引出为USB虚拟串口用于REPL操作,当你需要使用串口时,应注意避免冲突。
4.4. 实验方法¶
第一步:下载安装所需的软件--MicroPython File Uploader 工具(以下简称MFU)
第二步:连接TPYBoard v202开发板
通过USB数据线将电脑和TPYBoard v202开发板连接起来,查看设备管理器,是否正确创建端口号。打开MFU工具,选择对应的端口号,点击Open。
第三步:下载程序
在本地新建一个main.py文件,在main.py文件中输入以下源代码的内容,使用MFU工具将程序下载到TPYBoard v202开发板中。
下载前,请先停止运行程序。
4.5. 源代码¶
from machine import Pin
import time
p2 = Pin(2, Pin.OUT) # 创建一个引脚对象p2,使用GPIO2(G2)引脚,输出模式
p2.value(1) # 设置引脚输出高电平,即板载蓝色LED熄灭
while True:
p2.value(0) # 设置引脚输出低电平,即板载蓝色LED点亮
print(p2.value()) # 读取引脚的电平值,并打印
time.sleep(3) # 延时3秒
p2.value(1)
print(p2.value())
time.sleep(3)
第四步:运行程序查看效果
点击MFU工具的Run/Reset,重新运行程序,或者按下板载的RST按键都可以。运行新程序后,你会看到板载的蓝色LED灯会每隔3秒亮灭一次,并一直循环下去。