产品简介
它有彩虹般的绚烂、科技般的炫酷,它是烘托氛围的神器,也是互动装置的最佳搭档……它就是全彩RGB灯环!如果你正好有未完成的项目,你可以尝试搭配这样一个灯环,用炫彩的灯光点亮你的创意。
搭配传感器使用,它可以是一个能辨方向的指南针,炫酷的时钟,番茄计时器,灯光倒计时器……也可以是你项目中的彩色装饰品、游戏过程中的转盘抽奖机。它所实现的项目不仅仅如此,你可以通过级联灯环解锁更多有趣的创意玩法。
产品参数
- 供电电压:3.3~5V
- 接口类型:PH2.0-3P
- 接口功能:可通过接口级联灯环
灯环尺寸
引脚说明
RGB 灯环引脚示意表:
标号 | 名称 | 功能描述 |
---|---|---|
1 | D | 数字信号口 |
2 | + | 电源输入 |
3 | - | 电源接地 |
注:接口边的丝印,IN、OUT分别是输入端与输出端。
一、Mind+ 上传模式编程
使用说明
在使用RGB灯环前,需要添加扩展RGB灯指令库。打开Mind+平台,点击右下角的“扩展”,在“主控板”菜单栏,选择要使用的主控“micro:bit”。然后在“显示器”菜单栏中找到“WS2812 RGB灯”并点击,添加完成RGB灯扩展库,此时指令区会出现显示器模块。
应用样例(RGB灯环-12)
项目1:炫彩霓虹灯
项目介绍
12个灯珠的颜色以渐变的方式显示。并让灯珠颜色依次循环移动一个单位,形成旋转效果,犹如动态的彩虹。
硬件准备
- micro:bit × 1
- IO扩展板 × 1
- RGB灯环-12灯珠 × 1
硬件连接
程序截图
项目2:灯环级联
灯环级联方法
灯环级联的使用很简单,只需要使用PH2.0-3P公公头的连接线将第一个灯环的OUT端口与第二灯环的IN端口相连即可。
注:在级联使用灯环时,灯珠过多可能会出现供电不稳,这种情况可以使用5V或外接电源供电。
项目介绍
级联三种不同灯珠的灯环,实现类似于项目一的炫彩霓虹灯效果。
硬件准备
- micro:bit × 1
- IO扩展板 × 1
- RGB灯环-12灯珠 × 1
- RGB灯环-16灯珠 × 1
- RGB灯环-24灯珠 × 1
- PH2.0-3P数字连接线 × 1
- PH2.0-3P公公头连接线 × 1
程序截图
项目3:灯环时钟
项目介绍
时钟是生活中最常用的一种计时器,我们通过它来记录生活中的时间。生活中最常见的是电子钟和石英钟,如何才能设计出一款有我们自己个性的时钟呢?接下来就使用灯环模块来试一下吧!
硬件准备
- micro:bit × 1
- IO扩展板 × 1
- RGB灯环-12灯珠 × 1
- RTC实时时钟模块 ×1
硬件连接
程序截图
应用样例(RGB灯环-24)
项目4:灯环指南针
项目介绍
我们都知道指南针是用来辨别方向的仪器,现在的智能手机普遍都有这个软件,它是利用地磁场来确定北极的一种方法。指南针和我们有什么关系呢?接下来就使用RGB灯环搭配micro:bit来实现指南针项目。
硬件准备
- micro:bit × 1
- IO扩展板 × 1
- RGB灯环-24灯珠 × 1
硬件连接
程序截图
项目5:彩虹呼吸灯环
项目介绍
呼吸灯是指灯光在控制下完成由亮到暗再由暗到亮的逐渐变化,感觉好像是人在呼吸一样,有节奏的变化。下面利用RGB灯环,做一个彩虹呼吸灯环,可以起到很好的视觉装饰效果。
硬件准备
- micro:bit × 1
- IO扩展板 × 1
- RGB灯环-12灯珠 × 1
硬件连接
程序截图
二、Makecode编程
使用说明
MakeCode中点击扩展功能,在扩展功能中添加灯带库。
项目1:灯光调色盘
项目介绍
说起RGB颜色大家都不陌生,我们都知道蓝色和绿色混合会变成黄色。RGB调色就是通过三种颜色的混合就可以混合出1600万种不同的色彩。接下来就让RGB灯环充当我们的调色盘,调出令我们最满意的颜色。
硬件准备
- micro:bit × 1
- IO扩展板 × 1
- RGB灯环-12灯珠 × 1
- 模拟角度传感器 × 3
硬件连接
程序截图
项目2:番茄时钟
项目介绍
番茄工作法是简单易行的时间管理方法,时间可以设定为25分钟,在这期间专注做一件事,直到时钟响起,再休息五分钟。这其实就是一个25分钟的定时器,按下按键A:蜂鸣器关闭,停止计时。
硬件准备
- micro:bit × 1
- IO扩展板 × 1
- RGB灯环-24灯珠 × 1
硬件连接
程序截图
三、Arduino编程
使用说明
(1)先将RGB灯的库文件导入Arduino库中,找到Arduino的安装位置,将RGB灯环文件放入Arduino的libraries中。
(2)在使用RGB灯环前,先进入Arduino,点击“工具栏——“开发板””(如图所示)
项目1:灯光调节
项目介绍
RGB灯环的亮度为0-255可调节,下面就利用模拟角度传感器,将传感器的模拟值映射成RGB灯环的亮度。
硬件准备
- 模拟角度传感器 × 1
- RGB灯环-12灯珠 × 1
- Arduino uno × 1
- IO扩展板 × 1
硬件连接
程序样例
/*!
* @file RGB ring.ino
* @brief 12个灯珠的颜色以渐变的方式显示,利用模拟角度传感器调节RGB灯环的亮度
* @copyright Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
* @licence The MIT License (MIT)
* @author [qsjhyy](fengying.nie@dfrobot.com)
* @version V0.1
* @date 2021-09-24
* @get from https://www.dfrobot.com
* @url
*/
#include <DFRobot_NeoPixel.h>
// 动态变量
volatile float brightness;
// 创建对象
DFRobot_NeoPixel neoPixel_2;
// 主程序开始
void setup() {
neoPixel_2.begin(2, 24);
brightness = 0;
}
void loop() {
neoPixel_2.setBrightness((map(brightness, 0, 749, 0, 255)));
neoPixel_2.showRainbow(0, 23, 1, 360);
brightness = analogRead(A0);
}
项目2:炫彩霓虹灯
项目介绍
24个灯珠的颜色以渐变的方式显示,并让灯珠颜色每隔0.1s依次循环移动一个单位,形成旋转效果,犹如动态的彩虹。
硬件准备
- RGB灯环-24灯珠 × 1
- Arduino uno × 1
- IO扩展板 × 1
硬件连接
程序样例
/*!
* @file RGB ring.ino
* @brief 24个灯珠的颜色以渐变的方式显示,并让灯珠颜色依次循环移动一个单位,形成旋转效果,犹如动态的彩虹。
* @copyright Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com)
* @licence The MIT License (MIT)
* @author [qsjhyy](fengying.nie@dfrobot.com)
* @version V0.1
* @date 2021-09-24
* @get from https://www.dfrobot.com
* @url
*/
#include <DFRobot_NeoPixel.h>
// 创建对象
DFRobot_NeoPixel neoPixel_2;
// 主程序开始
void setup() {
neoPixel_2.begin(2, 24);
neoPixel_2.showRainbow(0, 24, 1, 360);
}
void loop() {
delay(10);
neoPixel_2.rotate(1);
}
四、Mind+ Python模式编程(行空板)
使用说明
Mind+Python模式为完整Python编程,因此需要能运行完整Python的主控板,此处以行空板为例说明
1、下载及安装官网最新软件。下载地址:https://www.mindplus.cc 详细教程:Mind+基础wiki教程-软件下载安装
2、切换到“Python模式”。“扩展”中选择“官方库”中的“行空板”和“pinpong库”中的”pinpong初始化“和“WS2812 RGB灯”。切换模式和加载库的详细操作链接
3、进行编程
4、连接行空板,程序点击运行后,可在终端查看数据。行空板官方文档-行空板快速上手教程 (unihiker.com)
项目1:流水灯
硬件连接
注意:PinPong当前版本(V0.5.2)仅支持同时使用一条灯带
图形化编程
代码编程
以pinpong库为例,行空板官方文档-行空板快速上手教程 (unihiker.com)
# -*- coding: UTF-8 -*-
# MindPlus
# Python
from pinpong.extension.unihiker import *
from pinpong.board import Board,Pin
from pinpong.board import NeoPixel
from pinpong.board import Board
import time
Board().begin()
my_variable = 0
np1 = NeoPixel(Pin((Pin.P22)),7)
np1.brightness(255)
while True:
while not ((my_variable == 7)):
np1.range_color(0,my_variable,0x0000FF)
my_variable = (my_variable + 1)
time.sleep(0.5)
np1.clear()
my_variable = 0
常见问题
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。