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如果你喜欢这篇文章就点击在看或者分享给你的朋友吧!