书接第1篇《01_ESP32 MicroPython开发环境搭建_eps32开发板-CSDN博客》
想要让一个引脚输出高电平,只需要找到对应的GPIO然后通过on()
或者value(1)
操作就可以,同理如果想要输出低电平让LED灯灭,只需要调用off()
或者value(0)
就行。
一、点亮LED灯
ESP32上有1颗蓝色的LED灯,对应GPIO灯脚为2,编写测试代码:
from machine import Pin
pin2 = Pin(2, Pin.OUT)
pin2.value(1)
然后运行,此时会看到开发板上的蓝色LED灯亮了。
注意:Pin(2, Pin.OUT)中的2对应的是GPIO2,如果你的电路板上的LED灯不是GPIO2那么通过查看电路原理图是哪个GPIO就写哪个数字就行。
二、闪烁的LED灯
原理:调用value(1)然后延时一小会,再调用value(0)延时一小会,然后重复上述操作。
代码如下:
import machine
import time
pin2 = machine.Pin(2, machine.Pin.OUT)
while True:
pin2.value(1)
time.sleep(1) #单位:秒
pin2.value(0)
time.sleep(1)
LED灯就会亮起1秒,然后慢慢熄灭1秒,然后再亮起...
三、呼吸灯
呼吸灯不再是亮灭交替,而是慢慢亮慢慢灭,像人的呼吸一样,这就是呼吸灯。
这里涉及到一个概念:PWM(Pulse Width Modulation)简称脉宽调制
是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在测量、通信、工控等方面。详情请参考《it项目网【官网】-配套软件+硬件,教程视频,通俗易懂》
from machine import Pin, PWM
import time
led2 = PWM(Pin(2))
led2.freq(1000)
while True:
for i in range(0, 1024):
led2.duty(i)
time.sleep_ms(1)
for i in range(1023, -1, -1):
led2.duty(i)
time.sleep_ms(1)
MicroPython官方文档:Quick reference for the ESP32 — MicroPython latest documentation
参考:it项目网【官网】-配套软件+硬件,教程视频,通俗易懂