普中科技手把手教你学ESP32--基于MicroPython-02

第四讲:LED灯实验

MicroPython函数使用

 本来需要加入machine.的,但是我引入了form machine import Pin就可以直接省略了

machine是一个模块,Pin是machine中的一个功能

 Micropython官网学习

点击DOCS文档 

选择相应的芯片

查看对应的模块 

 

 machine是一个模块,Pin是模块的另外一个模块

重点:不会就查官网信息

LED灯硬件设计

LED灯引脚为GPIO15

软件设计

点亮一个LED灯代码

对于端口的上下拉的功能可以选择性配置

LED灯闪烁实验 

我们之前学51单片机时,LED灯闪烁的话,是需要延时函数的,而延时函数是我们自己写的,而在这里,我们可以直接引入写好的函数--导入模块即可

官网上也有所讲解该模块功能 

程序重点--time模块导入以及死循环建立(while语句使用) 

 

 LED灯流水灯实验

想想51单片机的学习,直接使用for循环对管脚进行赋值即可,或者使用库函数左移和右移函数进行LED灯的流水灯实验,同样ESP32的Mircopython也有库函数给你直接使用

 此代码稍微有点复杂,因为涉及到了Python的列表使用(相当于数组)

实验名称:LED流水灯实验
接线说明:LED模块-->ESP32 IO
         (D1-D8)-->(15,2,0,4,16,17,5,18)
         
实验现象:程序下载成功后,LED模块D1-D8指示灯依次点亮后依次熄灭
注意事项:

'''

#导入Pin模块
from machine import Pin
import time

led_pin=[15,2,0,4,16,17,5,18]  #定义LED控制引脚
leds=[]  #定义leds列表,保存LED管脚配置对象
for i in range(8):  #循环8次,0-7
    leds.append(Pin(led_pin[i],Pin.OUT))  #给leds列表添加对象
# leds=[Pin(led_pin[i],Pin.OUT) for i in range(0,8)]

    
#程序入口
if __name__=="__main__":
    #LED全熄灭
    for n in range(8):
        leds[n].value(0)
        
    while True:
        #LED逐个点亮
        for n in range(8):
            leds[n].value(1)
            time.sleep(0.05)
        #LED逐个熄灭
        for n in range(8):
            leds[n].value(0)
            time.sleep(0.05)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值