当前位置: 首页 > ds >正文

Esp32基础(⑨RGB LED)

WS = Wire Signal = 信号线,也就是控制 RGB LED 的数据输入引脚(通常是 DI 或 DIN)。

引脚4 连接 WS(信号线)

使用 MicroPython 在 ESP32 上驱动 RGB LED(WS2812 或类似)

RGB LED 引脚ESP32 引脚说明
VCC3.3V 或 5V(看模块)电源正极
GNDGND电源负极
WS(DI)GPIO4数据输入信号

代码如下

from machine import Pin
import neopixel
import time# 设置GPIO4为数据引脚,连接WS(DI)
pin = Pin(4, Pin.OUT)
np = neopixel.NeoPixel(pin, 1)  # 1个LED# 设置颜色函数(RGB)
def set_color(r, g, b):np[0] = (r, g, b)np.write()# 示例:红 → 绿 → 蓝 循环
while True:set_color(255, 0, 0)  # 红time.sleep(1)set_color(0, 255, 0)  # 绿time.sleep(1)set_color(0, 0, 255)  # 蓝time.sleep(1)

点亮两个代码

from machine import Pin
import neopixel
import timepin = Pin(4, Pin.OUT)
np = neopixel.NeoPixel(pin, 2)  # 2 个 LED# 同时给两个 LED 设置同一颜色
def set_color(r, g, b):for i in range(2):np[i] = (r, g, b)np.write()# 如果想分别控制两个 LED,可写两个函数或传下标
def set_led0(r, g, b):np[0] = (r, g, b)np.write()def set_led1(r, g, b):np[1] = (r, g, b)np.write()# 示例:两个 LED 一起红→绿→蓝
while True:set_color(255, 0, 0)time.sleep(1)set_color(0, 255, 0)time.sleep(1)set_color(0, 0, 255)time.sleep(1)

流水灯代码

from machine import Pin
import neopixel
import timepin = Pin(4, Pin.OUT)
np = neopixel.NeoPixel(pin, 5)      # 5 个 WS2812 灯珠def clear():for i in range(5):np[i] = (0, 0, 0)np.write()# 流水灯:红 → 黑 → 红 → 黑 ……
def running_light(r=255, g=0, b=0, speed_ms=150):while True:# 从左到右for i in range(5):clear()np[i] = (r, g, b)np.write()time.sleep_ms(speed_ms)# 从右到左for i in range(3, 0, -1):   # 跳过最右端再亮一次clear()np[i] = (r, g, b)np.write()time.sleep_ms(speed_ms)# 启动!
running_light()

123

http://www.xdnf.cn/news/18342.html

相关文章:

  • Python网络爬虫(三) - 爬取动态网页数据
  • 18650锂电池自动化生产线:智能集成提升制造效能
  • 【库的操作】
  • 如何使用tar备份整个openEuler系统
  • PortainerCE 跨云管理:cpolar 内网穿透服务实现多环境统一控制
  • 《Dual Prompt Personalized Federated Learning in Foundation Models》——论文阅读
  • 基于prompt的生物信息学:多组学分析的新界面
  • 【自动化运维神器Ansible】Ansible Role创建与使用详解
  • AI 小游戏批量生产工厂(Deepseek深度推理reasoner模型64K tokens)
  • 【C++】C++ 的护身符:解锁 try-catch 异常处理
  • 【HarmonyOS】应用设置全屏和安全区域详解
  • 【机器人-基础知识】ROS2常用命令
  • MongoDB 查询方法与高级查询表(Python版)
  • 计算机网络技术学习-day3《交换机配置》
  • steal tsoding‘s pastebeam code as go server
  • SQL详细语法教程(五)事务和视图
  • ubuntu 下载安装tomcat简单配置(傻瓜式教程)
  • 如何生成和安全保存私钥?
  • 信号上升时间Tr不为0的信号反射情况
  • scikit-learn/sklearn学习|弹性网络ElasticNet解读
  • linux系统查看ip命令
  • 深度学习与线性模型在扰动预测上的比较
  • kafka 冲突解决 kafka安装
  • 如何在VS Code中使用Copilot与MCP服务器增强开发体验
  • 【Linux操作系统】简学深悟启示录:进程状态优先级
  • Android RxBinding 使用指南:响应式UI编程利器
  • 数据转换细节揭秘:ETL如何精准映射复杂业务逻辑
  • 27.Linux 使用yum安装lamp,部署wordpress
  • 【自动化测试】Selenium详解-WebUI自动化测试
  • Linux: RAID(磁盘冗余阵列)配置全指南