esp32找不到com端口_玩转GPIO之ESP32点灯大法(MicroPython版)

在这篇文章,介绍了ESP32搭建Python开发环境的基本流程。

myastrotong:玩转GPIO之ESP32搭建Python开发环境​zhuanlan.zhihu.com

搭建基本开发环境以后,就可以基于MicroPython进行硬件开发了。

学硬件的第一步,当然是点灯了。

本文分两部分,第一部分介绍基本的点灯和灭灯操作,第二部分介绍基于PWM点亮呼吸灯。

第一篇:基本的点灯和灭灯操作

定义文件TestLED.py

import time
from machine import Pin 

led=Pin(2,Pin.OUT)
print("hello myLED")

while True:
 
 led.value(1)
 time.sleep(1)
 led.value(0)
 time.sleep(1)

首先定义GPIO口2为led(我选择的NodeMCU-32S,里面的ESP32的GPIO端口2自带了一盏蓝色LED灯)。

然后输出一句:hello myLED

最后在一个循环内部,定义GPIO2端口的值为1和0,表示开和关,蓝色灯随之亮和灭。

把文件拷贝到IDE左上角的device区域,然后右键点击文件,出现run或者default run。这里我选择了default run,文件名呈现红色。

运行效果如下图所示:

输出了一句:hello myLED

同时NodeMCU的蓝色LED灯循环亮灭。

a54c148f2e02ca8e7fd932b93d6dbbb3.png

视频效果如下:

c4484ccb0b86491f7d0f15c5c5b31917.png
ESP32之Python点灯/灭灯https://www.zhihu.com/video/1230593815595245568

第二部分:基于PWM点亮呼吸灯

定义breathLight.py文件

from machine import Pin,Timer,PWM
pwm = PWM(Pin(2),100) #创建PWM对象
polar = 0 
duty = 0 

def setLed(t): #led灯从明到暗再到明变化
 global duty,polar
 if(polar == 0):
 duty+=16
 if(duty >= 1008):
 polar = 1
 else:
 duty -= 16
 if(duty <= 0):
 polar = 0
 pwm.duty(duty) #设置2引脚输出的PWM的占空比(控制led灯的亮度)

tim = Timer(1) #创建Timer对象
tim.init(period=10,mode=Timer.PERIODIC, callback=setLed) #不断实现呼吸灯功能,持续10毫秒

#捕获异常
try: 
 while True:
 pass
except: #关闭Timer和PWM
 tim.deinit()
 pwm.deinit()

be8f1517def0b2bcc16b221ff88e6ff9.png

基于NodeMCU的GPIO2口的自带LED灯。

直接定义GPIO2为PWM。在setLed函数中设置GPIO2口的占空比循环增加和减少,使得蓝色LED灯呈现呼吸的效果。

效果视频如下:

8da432f4c8777ce6b1a1d5548d326c83.png
ESP32之Python点亮呼吸灯https://www.zhihu.com/video/1230593994755129344

本文介绍了用Python点灯的基本方法。基于Python几句话就实现了灯的各种效果,非常方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值