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

物联网AI MicroPython传感器学习 之 WS2812 RGB点阵灯环

学物联网,来万物简单IoT物联网!!在这里插入图片描述

一、产品简介

ws2812是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路,还包含有高精度的内部振荡器和12V高压可编程定电流控制部分,有效保证了像素点光的颜色高度一致。
image.png
引脚定义

  • DI: 控制信号输入引脚
  • VCC:电源5V
  • GND:电源地
  • DO: 信号输出引脚,串联下一个灯珠

二、技术参数

  • 工作电压:5V
  • 发送速率:800Kbps
  • 亮度显示:支持256级亮度显示,rgb三色支持16777216种颜色的显示
  • 通信方式:单线通信
  • 工作特性:刷新速率30帧/秒时,级联数不小于1024
  • 工作温度:-20°C~85°C

三、软件接口

WS2812 - 创建WS2812驱动对象

  • 函数原型

relayObj = WS2812(gpioObj, ledPixel)

  • 参数说明
参数类型必选参数?说明
gpioObjGPIOWS2812控制引脚的GPIO对象
ledPixelint默认ledPixel为24个RGB点灯,开发者根据自己的实际需求创建
  • 返回值

若WS2812对象创建成功,返回WS2812对象;否则抛出Exception

  • 示例代码
from machine import Pin
import ws2812gpioObj=Pin(2, Pin.OUT, Pin.PULLDOWN)
ws2812Obj = ws2812.WS2812(gpioObj)
print("ws2812 inited!")
  • 输出
ws2812 inited!

set(r,g,b,index) - 点亮对应index的RGB点阵灯环

  • 函数功能:

点亮对应index的RGB点阵灯环

  • 函数原型:

WS2812.set(r,g,b,index)

  • 参数说明:
参数类型说明
rint红色灯珠的值,取值范围:0-255
gint绿色灯珠的值,取值范围:0-255
bint蓝色灯珠的值,取值范围:0-255
indexint对应的灯珠索引号,范围:0~(ledPixel-1),例如:第一个灯珠的index为0
  • 返回值:

dot(r,g,b,time) - 将RGB点阵灯环逐个点亮,每次只有一个灯珠被点亮

  • 函数功能:

将RGB点阵灯环逐个点亮,每次只有一个灯珠被点亮

  • 函数原型:

WS2812.dot(r,g,b,time)

  • 参数说明:
参数类型说明
rint红色灯珠的值,取值范围:0-255
gint绿色灯珠的值,取值范围:0-255
bint蓝色灯珠的值,取值范围:0-255
timeint逐个点灯的时间,单位(ms)
  • 返回值:

wipe(r,g,b,time) - 将RGB点阵灯环一一点亮

  • 函数功能:

将RGB点阵灯环一一点亮

  • 函数原型:

WS2812.wipe(r,g,b,time)

  • 参数说明:
参数类型说明
rint红色灯珠的值,取值范围:0-255
gint绿色灯珠的值,取值范围:0-255
bint蓝色灯珠的值,取值范围:0-255
timeint逐次点灯的时间,单位(ms)
  • 返回值:

rainbow(time) - RGB点阵灯环实现彩虹变换

  • 函数功能:

RGB点阵灯环实现彩虹变换

  • 函数原型:

WS2812.rainbow(time)

  • 参数说明:
参数类型说明
timeint彩虹渐变的时间,单位(ms)
  • 返回值:

clear(index) - 熄灭对应index的RGB点阵灯环

  • 函数功能:

熄灭对应index的RGB点阵灯环

  • 函数原型:

WS2812.clear(index)

  • 参数说明:
参数类型是否必选说明
indexint当不选参数的时候,所有的灯珠会熄灭。
index对应的灯珠索引号,范围:0~(ledPixel-1),例如:第一个灯珠的index为0
  • 返回值:

四、接口案例

  • 示例代码
from machine import Pin
import ws2812gpioObj=Pin(2, Pin.OUT, Pin.PULLDOWN)
ws2812Obj = ws2812.WS2812(gpioObj)
print("ws2812 inited!")
while True:ws2812Obj.dot(128,0,0,100)

五、工作原理

数据协议采用单线归零码的通讯方式,像素点在上电复位以后,DIN端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器,剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点,每经过一个像素点的传输,信号减少24bit。像素点采用自动整形转发技术,使得该像素点的级联个数不受信号传送的限制,仅仅受限信号传输速度影响。
image.png
ws2812时序波形图:
image.png

参考文献及购买链接

[1] WS2812原理介绍
[2] WS2812购买链接

相关文章:

物联网AI MicroPython传感器学习 之 WS2812 RGB点阵灯环

学物联网,来万物简单IoT物联网!! 一、产品简介 ws2812是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路&a…...

【GPU常见概念】GPU常见概念及分类简述

随着大模型和人工智能的爆火,大家对GPU的关注持续上升,本文简单简述下GPU经常用的概念。 GPU(图形处理器),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备&…...

JVM篇---第九篇

系列文章目录 文章目录 系列文章目录一、什么是指针碰撞?二、什么是空闲列表三、什么是TLAB? 一、什么是指针碰撞? 一般情况下,JVM的对象都放在堆内存中(发生逃逸分析除外)。当类加载检查通过后&#xff0…...

探索 GAN 和 VAE 之外的 NLP 扩散模型

介绍 扩散模型最近引起了极大的关注,特别是在自然语言处理(NLP)领域。基于通过数据扩散噪声的概念,这些模型在各种NLP任务中表现出了卓越的能力。在本文中,我们将深入研究扩散模型,了解其基本原理,并探讨实际应用、优势、计算注意事项、扩散模型在多模态数据处理中的相…...

发现很多人分不清 jwt session token 的区别?

1. JWT(JSON Web Token) 1.1 什么是JWT? JWT,全称为JSON Web Token,是一种用于在网络上安全传输信息的开放标准。它的设计初衷是用于跨域通信,在不同域之间传递声明性信息。JWT是一种自包含的令牌&#x…...

GPT系列论文解读:GPT-3

GPT系列 GPT(Generative Pre-trained Transformer)是一系列基于Transformer架构的预训练语言模型,由OpenAI开发。以下是GPT系列的主要模型: GPT:GPT-1是于2018年发布的第一个版本,它使用了12个Transformer…...

神经网络中的知识蒸馏

多分类交叉熵损失函数:每个样本的标签已经给出,模型给出在三种动物上的预测概率。将全部样本都被正确预测的概率求得为0.70.50.1,也称为似然概率。优化的目标就是希望似然概率最大化。如果样本很多,概率不断连乘,就会造…...

jmeter利用自身代理录制脚本

在利用代理录制脚本时一定要安装java jdk,不然不能录制的。 没有安装过java jdk安装jmeter后打开时会提示安装jdk,但是mac系统中直接打开提示安装jdk页面后下载的java并不是jdk(windows中没有试验过,笔者所说的基本全部指的是在ma…...

【漏洞复现】时空智友企业流程化管控系统 session泄露

漏洞描述 时空智友企业流程化管控系统 session 泄露 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用…...

获取泛型的类型

示例一&#xff1a;获取父类的泛型的类型 public class Emp<T, Q> {class Stu extends Emp<String, Integer> {}Testvoid fun() {final Type type Emp.class.getGenericSuperclass();final ParameterizedType parameterizedType (ParameterizedType) type;Syste…...

[Python进阶] Pyinstaller打包问题

5.9 Pyinstaller打包问题 5.9.1 找不到指定的模块 Pyinstaller在进行打包时&#xff0c;会解析打包的Python文件&#xff0c;自动寻找py源文件的依赖模块。但是Pyinstaller解析模块时可能会遗漏某些模块&#xff0c;这个时候就会报错&#xff1a;No Module named xxx。 如果是…...

计算机竞赛 题目:基于机器视觉opencv的手势检测 手势识别 算法 - 深度学习 卷积神经网络 opencv python

文章目录 1 简介2 传统机器视觉的手势检测2.1 轮廓检测法2.2 算法结果2.3 整体代码实现2.3.1 算法流程 3 深度学习方法做手势识别3.1 经典的卷积神经网络3.2 YOLO系列3.3 SSD3.4 实现步骤3.4.1 数据集3.4.2 图像预处理3.4.3 构建卷积神经网络结构3.4.4 实验训练过程及结果 3.5 …...

竞赛选题 机器学习股票大数据量化分析与预测系统 - python 竞赛选题

文章目录 0 前言1 课题背景2 实现效果UI界面设计web预测界面RSRS选股界面 3 软件架构4 工具介绍Flask框架MySQL数据库LSTM 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 机器学习股票大数据量化分析与预测系统 该项目较为新颖&am…...

智慧驿站:为城市带来全新智慧公厕未来形态

随着城市发展和科技进步的不断推进&#xff0c;智慧公厕逐渐成为城市规划和公共设施建设的重要组成部分。而集合了创意的外观设计、全金属结构工艺、智慧公厕、自动售货、共享设备、广告大屏、小型消防站、小型医疗站&#xff0c;并能根据需要而灵活组合的智慧驿站成为其中重要…...

Java获取汉字首字母

Java获取汉字的首字母&#xff0c;例如&#xff1a;中国香港&#xff0c;则返回ZGXG&#xff1b;Tom 中国欢迎你&#xff0c;则返回 TOM ZGHYN&#xff0c;如果为英文&#xff0c;则返回英文的大写形式&#xff0c;传空字符串则什么也不返回。 其中需要引用的maven依赖&#xf…...

基于or-tools的人员排班问题建模求解(JavaAPI)

使用Java调用or-tools实现了阿里mindopt求解器的案例&#xff08;https://opt.aliyun.com/platform/case&#xff09;人员排班问题。 这里写目录标题 人员排班问题问题描述数学建模编程求解&#xff08;ortoolsJavaAPI&#xff09;求解结果 人员排班问题 随着现在产业的发展&…...

设备管理团队如何做好停机维护工作_基于PreMaint设备数字化平台

在现代工业生产中&#xff0c;设备的正常运行对于企业的生产效率和利润至关重要。而停机维护作为设备管理的重要环节&#xff0c;旨在确保设备的安全性、可靠性和性能稳定。本文将介绍停机维护的概念&#xff0c;讨论如何计划停机维护&#xff0c;并重点探讨如何通过PreMaint设…...

c++ qt--线程(二)(第九部分)

c qt–线程&#xff08;二&#xff09;&#xff08;第九部分&#xff09; 一.线程并发 1.并发问题&#xff1a; ​ 多个线程同时操作同一个资源&#xff08;内存空间、文件句柄、网络句柄&#xff09;&#xff0c;可能会导致结果不一致的问题。发生的前提条件一定是多线程下…...

​企业数据泄露不断,深信服EDR助企业构建数据“安全屋”

随着数字时代不断发展,数据泄露问题愈发严峻,个人信息安全面临着严重的威胁。近日,加拿大电信巨头加拿大贝尔(Bell Canada)对外披露了一起大规模数据泄露事件,该公司承认黑客入侵其系统,并窃取了190万个用户电子邮件地址以及约1700个用户姓名及活跃电话号码信息,相关损失无法估…...

单线复用iptv影响网速吗?

IPTV单线复用对网速有影响吗&#xff1f;这是一个比较常见的问题。如果你家的局域网是老的100M局域网LAN的路由器&#xff0c;走单线复用会影响你上网速度。但是如果你家的局域网是千兆网络&#xff0c;IPTV单线复用叠加上去的这点流量算不上什么&#xff0c;可以认为不占用网速…...

Jetson Orin Nano 升级jetpack5.1.2刷机过程记录

一.刷机起因 orin nano 接了个IMX477的摄像头,用 命令行DISPLAY:0.0 nvgstcapture-1.0 显示的画面有撕裂,让卖家查问题,卖家测试没有撕裂,对比环境,orin nano出厂默认的是jetpack5.1.1,卖家用的jetpack5.1.2版本,为了解决差异,要升级jetpack版本,前后搞了2天半,记录一下. 另外…...

量子计算中Loschmidt回声相位测量的创新方法

1. 量子计算中的Loschmidt回声相位测量方法概述Loschmidt回声是量子动力学中一个重要的概念&#xff0c;它描述了量子系统在时间反演演化后与初始状态的相似程度。在量子计算领域&#xff0c;精确测量Loschmidt回声的相位信息对于理解量子系统的非平衡态行为、计算能量本征值以…...

ParaView时间戳设置全攻略:从基础标注到自定义格式(5.8.0实测)

ParaView时间戳设置全攻略&#xff1a;从基础标注到自定义格式&#xff08;5.8.0实测&#xff09; 在科学可视化领域&#xff0c;时间戳不仅是数据演变的见证者&#xff0c;更是研究成果呈现的专业语言。ParaView作为开源可视化工具链的标杆&#xff0c;其时间标注功能在学术论…...

UOS系统下WPS卸载不干净?手把手教你用命令行精准清理(附dpkg/apt组合拳)

UOS系统下WPS卸载不干净&#xff1f;手把手教你用命令行精准清理 在UOS系统日常使用中&#xff0c;WPS Office作为常用办公软件&#xff0c;有时因版本更新或功能调整需要彻底卸载。但不少用户发现&#xff0c;通过图形界面或简单命令卸载后&#xff0c;系统中仍残留配置文件、…...

为Alchitry Au FPGA开发板外接JTAG接口的完整指南

1. 项目概述与核心价值如果你正在使用基于Xilinx Artix-7 FPGA的Alchitry Au或Au开发板&#xff0c;并且已经厌倦了每次调试或烧录都要依赖板载的USB-JTAG桥接芯片&#xff0c;或者你的项目已经将板载USB接口挪作他用&#xff0c;那么为你的开发板外接一个独立的JTAG调试器&…...

Mysql:事务管理(中)

在前面的章节中&#xff0c;我们提到了 MVCC&#xff08;多版本并发控制&#xff09;&#xff0c;它巧妙地通过“版本快照”解决了“读-写”冲突&#xff0c;实现了非阻塞读。但如果两个事务同时执行 UPDATE 操作修改同一行数据&#xff0c;即 写-写&#xff08;Write-Write&am…...

集成Taotoken为OpenClaw工作流提供持久化模型支持

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 集成Taotoken为OpenClaw工作流提供持久化模型支持 在构建基于OpenClaw的自动化Agent工作流时&#xff0c;一个稳定且可灵活切换的模…...

【2026实测】怎么提高论文原创度?盘点8款主流降AI工具,附结构级优化指南

写文章最怕碰到什么&#xff0c;是辛辛苦苦自己码出来的字&#xff0c;却被标了极高的AI值。目前很多文本审核机制对内容的原创度要求极高&#xff0c;纯手写的初稿也可能因为句式太工整被判定为机器生成的。 为了帮几个快被这事折腾疯了的学弟学妹找条出路&#xff0c;我花了…...

qobuz-dl终极实战指南:专业无损音乐下载工具架构解析与高效应用

qobuz-dl终极实战指南&#xff1a;专业无损音乐下载工具架构解析与高效应用 【免费下载链接】qobuz-dl A complete Lossless and Hi-Res music downloader for Qobuz 项目地址: https://gitcode.com/gh_mirrors/qo/qobuz-dl 在数字音乐时代&#xff0c;追求极致音质的音…...

如何快速掌握ncmdumpGUI:Windows平台网易云音乐NCM文件转换完整教程

如何快速掌握ncmdumpGUI&#xff1a;Windows平台网易云音乐NCM文件转换完整教程 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经下载了网易云音乐的…...