[TPYBoard - Micropython之会python就能做硬件 1] 运行第一个脚本——点亮LED
转载请注明:@小五义http://www.cnblogs.com/xiaowuyi QQ群:64770604
会python就能做硬件!
一、TPYBoard V102开发板
TPYBoard V102开发板MCU使用的是stm32F405RG,存在一个sd卡插槽、4个leds,1个复位按钮,1个通用按钮以及2个I2C,2个SPI和5个USART接口。具体参数见下表:
STM32F405RG MCU。 |
168 MHz Cortex-M4 CPU with 32-bit hardware floating point。 |
1 MiB flash storage, 192 KiB RAM。 |
USB口, 支持 串口,通用存储,HID协议。 |
SD卡插槽。 |
MMA76603轴加速度计。 |
4 LEDs, 1复位按钮, 1通用按钮。 |
3.3V0.3A板载 LDO , 可从USB口或者外置电池供电。 |
实时时钟。 |
30个通用IO口,其中28个支持5V输入输出。 |
2个 SPI接口, 2个 CAN接口, 2个I2C接口, 5个USART接口。 |
14个 12-bit ADC引脚。 |
2个DAC 引脚。 |
具体引脚如下:
具体实物图如下:
二、开发板的连接方法
程序调试的连接方法:通过 USB 线连接开发板的microusb口与你的 PC 机(windows,mac,linux皆可)的usb口。当连接成功后开发板将上电和进入开机程序,绿色的 LED 灯应该在半秒或更少的时间内亮起,当其熄灭时意味着开机程序已完成。此时,电脑会出现一个u盘设备,容量97K左右。该u盘里存在4个文件:
boot.py 启动文件,确定启动方式,类似引导文件
main.py 主程序,boot.py默认引导启动的程序,也就是你的python代码主要是写在这里。
pybcdc.inf 驱动程序,win7以上基本不需要驱动,个别精简系统需要安装驱动。如果确实需要安装,请参考http://www.micropython.net.cn/support/tutorial/222.html
Readme.txt
使用的连接方法:使用时其实就是给该开发板供电,供电也是用microusb,直接将5V电源通过该口引入,如你可以使用充电宝、pc等具有供电能力的设备,利用usb连接供电。
三、第一个简单程序——点亮板载led3
直接修改main.py文件,代码如下:
1 2 3 | # main.py -- put your code here! import pyb pyb.LED( 3 ).on() |
修改完,点击保存时,板载的第一个灯会亮起,此时一定要等灯熄灭以后,才能按rst键或者是拨出usb。灯亮的过程表示正在存储,因为此时是存在mcu的flash中,所以速度略慢一点。如果后面我们讲了如何使用tf卡后,就会发现不存在这个过程。
重新给板子上电,此时会发现led3亮了。
四、让板载led3闪烁
将main.py改为以下代码:
1 2 3 4 | led = pyb.LED( 2 ) while True : led.toggle() pyb.delay( 1000 ) |
再次给板子通电,会发现,led3每秒闪一次。
关键代码分析:
pyb.LED这个类有三个函数:
on( )表示开;
off( ) 表示关;
toggle( )表示闪烁
pyb.delay( ) 仅是一个简单的毫秒级别的延时。pyb.delay(1000)表示1000毫秒。
五、点亮外壳led灯
1、硬件连接方法
取三个led灯(红绿黄)分别接在板子对应gpio为Y1、Y2、Y3的口上。如下图:
2、代码
1 2 3 4 5 6 7 8 9 | # main.py -- put your code here! import pyb led1 = pyb.Pin( "Y1" ,pyb.Pin.OUT_PP) led2 = pyb.Pin( "Y2" ,pyb.Pin.OUT_PP) led3 = pyb.Pin( "Y3" ,pyb.Pin.OUT_PP) While True : led1.value( 1 ) led2.value( 1 ) led3.value( 1 ) |
3、实现效果
三个led亮起。
讲到这里,后面大家就可以自己试着去做流水灯了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?