亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

手势控制 RGB 台灯 —— 交互式免手操作照明

零部件与物料

Arduino UNO ×1
SmartElex RLS-08 模拟/数字巡线传感器阵列 ×1
跳线(通用) ×1
LED 灯带,NeoPixel 数字 RGB ×1

所需工具与设备

应用与在线服务

项目简介

我们见过各种情景灯和 RGB 灯,大多通过按钮或遥控器交互。本项目制作一款手势控制 RGB 台灯,仅需简单的挥手手势即可切换颜色。这是一个基于 Arduino Uno 开发板与 红外阵列传感器 的互动艺术项目,趣味性强,适合教学演示。

步骤 1:准备材料

所有材料在本地市场或网店均可购买:

步骤 2:原理介绍

该传感器由 8 个红外接近传感器组成,可输出 8 路模拟/数字信号。利用它检测手部移动方向,进而控制 LED 变色。Arduino 读取传感器数据并驱动 LED 灯带。

支持两种基础手势:

步骤 3:电路连接

红外传感器连接:

LED 灯带连接:

步骤 4:编写代码

使用 FastLED 库控制灯带并实现渐变效果。定义 90 颗 LED(可按实际修改),数据引脚为 3 号。主循环通过嵌套 if 判断传感器触发顺序,实现左/右滑切换色相。fadeall() 函数提供平滑过渡。

步骤 5:成品展示

(此处省略多张实物图片)

完整代码

#include <FastLED.h>
int a,b,c,d,e,f,g,h,j=0;
#define NUM_LEDS 90
#define DATA_PIN 3
CRGB leds[NUM_LEDS];

void setup() {
  for(int pin=4; pin<=11; pin++) pinMode(pin, INPUT);
  LEDS.addLeds<WS2812,DATA_PIN,RGB>(leds,NUM_LEDS);
  LEDS.setBrightness(84);
}

void fadeall() {
  for(int i=0; i<NUM_LEDS; i++) leds[i].nscale8(250);
}

void loop() {
  a=digitalRead(4); b=digitalRead(5); c=digitalRead(6); d=digitalRead(7);
  e=digitalRead(8); f=digitalRead(9); g=digitalRead(10); h=digitalRead(11);
  static uint8_t hue = 0;

  // 左滑:传感器 A 后跟 B
  if(a==1 && b==1) {
    for(int i=4; i<55; i++) {
      leds[i] = CHSV(hue++, 255, 255);
      FastLED.show();
      fadeall();
      delay(10);
    }
  }
  // 右滑:传感器 G 后跟 F
  if(g==1 && f==1) {
    for(int i=55; i>=4; i--) {
      leds[i] = CHSV(hue++, 255, 255);
      FastLED.show();
      fadeall();
      delay(10);
    }
  }
}

原理图

Fritzing 电路图展示了 8 个独立红外传感器或阵列传感器的连接方式。

制造工艺

  1. 蓝牙控制树莓派机器人:语音反馈功能构建指南
  2. 树莓派手势控制机器人:告别按键,挥手即达
  3. 通过树莓派用 Alexa 控制 LED - 简单分步指南
  4. 废旧遥控车改装:Arduino + USB Host Shield 实现 Xbox 手柄无线控制
  5. SunGlass-BOT:基于 Arduino 的智能变色墨镜自制指南
  6. Arduino Mega 驱动 Wii Nunchuk 控制 6 自由度机械臂
  7. 智能无线开关控制器:Arduino + 433MHz 远程操控墙壁开关
  8. Arduino Nano 语音控制机器人:蓝牙 + 手机 APP 实现
  9. PiBot:Arduino驱动的88键钢琴机器人,精准演奏MIDI乐曲
  10. Arduino RGB LED调色器:三电位器混色入门项目
  11. 户外DMX控制RGB投光灯:低成本高性能舞台灯光DIY方案
  12. Arduino 电容式触控开关:一枚硬币点亮 LED 的极简 DIY