[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亮起。

讲到这里,后面大家就可以自己试着去做流水灯了。

posted @   小五义  阅读(2487)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示