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

2023-11-04

在这篇文章,介绍了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灯循环亮灭。

视频效果如下:

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()

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

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

效果视频如下:

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 当神经网络的性能不好怎么办?

    20210209 0 引言 本次写这篇文章是因为最近在训练的过程中 遇到了这个问题 而遇到这个问题其实也挺奇葩 因为之前的时候 也遇到过 但是那时候没有这样想 没有往这个方向想也是因为现象不同 因此也因为这个问题让我反思 首先来说一下具体现
  • Android 网络请求方式

    前言 最近需要将Android 项目接入物联网公司提供的接口 所以顺便给大家分享一下Android中我们常用的网络请求吧 提醒大家一下 我们遇到接口需求 一定要先在Postman上测试接口是否正确 然后再去项目上写程序来请求接口 否则 请求
  • java代码混淆工具Jocky的介绍

    最近给的任务是代码混淆 以前没有接触过 所以只能从最基础的东西开始了解 主要应用的工具有jocky progard dex2jar apktool jd GUI 今天简单介绍一下jocky的作用 并附上其他参考教程链接 jocky是一款ja
  • This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its

    在自定义MySQL函数的时候报了如下错误 2017 07 01 08 58 30 HY000 1418 This function has none of DETERMINISTIC NO SQL or READS SQL DATA in
  • MySQL根据不同条件联查不同表的数据if/case

    MySQL根据不同条件联查不同表的数据 项目开发中遇到类似的需求 Mybatis 中的 lt if gt 标签只能判断where部分 不能满足要求 在网上查解决方法 好像并没有可以完美解决问题的方案 if和case可以从某一种角度实现效果
  • Java HashSet介绍、使用方法详解及底层实现分析

    目录 1 HashSet介绍 2 使用方法 2 1 添加元素 2 2 判断元素是否存在 2 3 删除元素 2 4 计算集合元素个数 2 5 迭代HashSet 3 底层实现分析 1 HashSet介绍 HashSet 基于 HashMap
  • Xilinx FPGA平台GTX简易使用教程(汇总篇)

    GTX简易使用教程 先 知其然 慢慢再研究 所以然 目录 一 GTX必备基础知识 二 时钟篇 三 复位与初始化 四 GTX IP核配置介绍 五 GTX收发测试 六 后记 一 GTX必备基础知识 虽说搬砖只需要会用IP就行 但是为了把砖搬好
  • PCB过孔 VIA

    一 过孔基本概念与作用 1 过孔定义 从印制电路板的一个表层延展到另一个表层的导通孔 2 过孔作用 过孔可以起到电气连接 固定或定位器件的作用 二 过孔分类 通孔 Plated Through Hole 这种孔穿过整个线路板表面 可用于实现
  • nestjs:定义字典类型

    参考 initialization Declare and initialize a Dictionary in Typescript Stack Overflow 解决方法 下面的id可以改为任何命名 var persons id str
  • 系统上关闭是意外的_24V直流无刷电机电磁刹车系统介绍

    24V直流无刷电机型号BLDC57是在顾客规定状况下 这款一款直流无刷电机 48V 785W 3000转提升电磁刹车 实际主要参数见下表 这款电机选用绿色环保行业的天之骄子 钕磁铁硼钢 确保机器设备的优良特性 这款电机带24V直流无刷电机B
  • Idea打maven jar 抛出异常:A JNI error has occurred

    问题描述 当项目依赖其他jar包的时候 打出的jar包执行出错 抛出这个异常 报错信息 Error A JNI error has occurred please check your installation and try again
  • Android Studio 4.2 Gradle窗口找不到uploadArchives任务

    问题描述 Android Studio升级到4 2以后 新建了一个项目 配置好了uploadArchives任务想上传到Maven仓库 结果发现Gradle窗口找不到Tasks 解决方式 参考的原文链接 https stackoverflo
  • (软考高级)信息系统项目管理师过关经验

    初次接触软考是在大二期间 偶然了解到计算机软件水平考试 便在大二上学期一次性通过了软件设计师 结果本科阶段再也没有时间去考这些证书了 直到读研阶段 忙里抽闲赶紧复习 本不报希望 竟然通过了 总结原因无非是如下几条 已有知识储备 从容对待考试
  • springbootapplication注解包括哪些注解_@SpringBootApplication 注解 详解

    简单介绍一下 SpringBootApplication注解都有哪些注解组合而成 SpringBoot 一 SpringBootApplication是SpringBoot的一个核心注解 也是一个组合注解 二 SpringBootAppli
  • 疑难杂症 解决Ubuntu16.04 蓝牙搜索不到附近设备 适用于18.04

    文章目录 1 问题描述 2 问题症结 3 解决办法 References 1 问题描述 打开蓝牙搜索设备无果 2 问题症结 终端下输入命令 dmesg grep i blue BCM Patch brcm BCM hcd not found
  • 遍历存储树节点

    import json def unit node dict dump dict 记录节点 dump val node val 遍历节点 for sub node in node sub nodes temp val 1 sub nodes
  • malloc 底层实现及原理

    原文 malloc 底层实现及原理 爱笑的张飞 博客园 文章目录 结论 具体内容 内存分配的原理 具体分配过程 情况一 malloc 小于 128K 的内存 使用 brk 分配 情况二 malloc 大于 128K 的内存 使用 mmap
  • 微赞 小程序 服务器 配置,微赞小程序平台

    微赞小程序平台 内容精选 换一换 锁与等待分析基于Linux perf工具的采样数据 对glibc和开源软件 如MySQL Open MP 的锁与等待函数 包括sleep usleep mutex cond spinlock rwlock
  • CentOS7 手动部署lnmp环境

    参考 CentOS7 手动部署lnmp环境 自我的进化 步骤一 准备编译环境 关闭防火墙 运行systemctl status firewalld命令 查看当前防火墙的状态 如果防火墙的状态参数是inactive 则防火墙为关闭状态 如果防
  • esp32找不到com端口_玩转GPIO之ESP32点灯大法(MicroPython版)

    在这篇文章 介绍了ESP32搭建Python开发环境的基本流程 myastrotong 玩转GPIO之ESP32搭建Python开发环境 zhuanlan zhihu com 搭建基本开发环境以后 就可以基于MicroPython进行硬件开