MicroPython 玩转硬件系列2:点灯实验

简介: MicroPython 玩转硬件系列2:点灯实验

1.引言

上一篇我们在ESP32 上搭建了MicroPython的环境并且运行出来了Hello World! 这一篇我们开始点灯的实验。                    

2.环境介绍

2.1.硬件

ESP32 小板:

Micro USB线:

LED 灯:

2.2.软件

1) PC端Windows系统,PuTTY串口工具

2) 板子MicroPython 环境

3.控制亮灭

上面那个红色的LED灯,只要给它加一个高电平3.3V,它就可以亮,不给电压它就灭。引脚长的是正极,引脚短一点的是负极。第1步:我们把LED的长脚(正极)接到GPIO4引脚上,短脚(负极)接到GND上。第2步:输入以下三条语句,就可以完成GPIO4引脚设置为高电平的功能,对应LED会点亮。

from machine import Pin
led=Pin(4,Pin.OUT)
led.on()

备注:你可以将上述代码先在电脑上写好,然后PuTTY连接板子后,按下CRTL+E键 进入粘贴模式

之后将上述代码复制后,然后点击下鼠标右键就粘贴过来了,

最后按下Ctrl+D 执行你刚才粘贴的代码,可以看到LED灯亮起来了。

如果你没有LED灯,也可用万用表量一下该引脚的电压,该引脚电压为3.3V。

再输入下面语句

led.off()

LED灯就会熄灭。

4.闪烁实验

下面这段代码是让LED灯循环亮灭的。

from machine import Pin
import time
led=Pin(4,Pin.OUT)
while True:
    led.on()
    time.sleep(1.0)  # Delay for 1 second.
    led.off()
    time.sleep(1.0)  # Delay for 1 second.

下面是实际效果:


5.语法学习

完成了LED灯亮灭的实验,让我们结合第四部分代码来学下Python的语法知识。1) from machine import Pin这句话的含义是从machine模块中导入Pin类2) import time这句话的含义是导入time 模块3) led=Pin(4,Pin.OUT)这句话的含义是在pin #4引脚上创建了一个output的pin4) led.on() 和led.off()含义是在该引脚上分别输出1和05) time.sleep(1.0)含义是让程序在此sleep 1.0秒6) while True:以及下面的四行代码,是Python中的循环实现。就是一直不断循环的干一件事情,即亮1s-灭1s-亮1s-灭1s---- 一直这么下去。这个语法和C语言对应的语法有挺大的不同。有几点说明的是:a.while末尾的冒号是告诉Python,下一行是循环的第一行,不能遗漏该冒号b.循环体是靠缩进来决定的,如果不小心写成下面这样,那结果就不同了,因为最后一行代码并不在循环体内。

while True:
    led.on()
    time.sleep(1.0)  # Delay for 1 second.
    led.off()
time.sleep(1.0)  # Delay for 1 second.

6.总结

本篇介绍了如果使用MicroPython来控制LED灯的亮灭。下一篇介绍如何让板子一上电就能自动执行上述代码。

7.参考资料

https://www.digikey.com/en/maker/projects/micropython-basics-load-files-run-code/fb1fcedaf11e4547943abfdd8ad825ce  https://docs.micropython.org/en/latest/https://docs.micropython.org/en/latest/library/machine.Pin.html如果你喜欢这篇文章就点击在看或者分享给你的朋友吧!

相关文章
|
7月前
|
芯片
stm32f407探索者开发板(二十)——独立看门狗实验
stm32f407探索者开发板(二十)——独立看门狗实验
386 0
|
数据安全/隐私保护
MicroPython 玩转硬件系列5:WIFI实验
MicroPython 玩转硬件系列5:WIFI实验
MicroPython 玩转硬件系列4:串口小实验
MicroPython 玩转硬件系列4:串口小实验
stm32f407探索者开发板(五)——跑马灯实验(寄存器版本)
stm32f407探索者开发板(五)——跑马灯实验(寄存器版本)
348 0
stm32f407探索者开发板(五)——跑马灯实验(寄存器版本)
stm32f407探索者开发板(七)——蜂鸣器实验
stm32f407探索者开发板(七)——蜂鸣器实验
282 0
stm32f407探索者开发板(七)——蜂鸣器实验
|
异构计算
FPGA新起点V1开发板(二)——Quartus II软件的安装和USB-BLaster驱动安装
FPGA新起点V1开发板(二)——Quartus II软件的安装和USB-BLaster驱动安装
319 0
FPGA新起点V1开发板(二)——Quartus II软件的安装和USB-BLaster驱动安装
|
Linux C语言 芯片
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十二)LED硬件原理
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十二)LED硬件原理
157 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十二)LED硬件原理
|
Linux
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十九)驱动进化之路:总线设备驱动模型
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十九)驱动进化之路:总线设备驱动模型
195 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十九)驱动进化之路:总线设备驱动模型
|
Linux 开发工具 git
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)具体单板的按键驱动程序(查询方式)
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)具体单板的按键驱动程序(查询方式)
279 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(三十五)具体单板的按键驱动程序(查询方式)
|
Ubuntu Linux 编译器
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序
216 0
嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序