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

手势控制互动桌灯

组件和用品

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

必要的工具和机器

热胶枪(通用)

应用和在线服务

Arduino IDE

关于这个项目

我们都见过不同种类的情绪灯和 RGB 灯,它们中的大多数都有一些按钮或遥控器可以与之交互,但我们想到了制作 手势控制的 RGB 台灯 它只能使用简单的滑动手势作为触发器来改变其颜色。这是一个使用 Arduino 制作的交互式艺术项目 Uno 板和红外阵列传感器 .这是一个有趣而简单的项目,可以教授给学生和孩子们。

让我们潜入制作门户。

在 Instagram 上关注我们:我们制作的随机东西!更多精彩项目。

第一步:整理素材

此处提到的所有材料都可以在您当地的市场和在线商店轻松获得。

  • Arduino Uno
  • 红外传感器阵列(8 个传感器)
  • WS2812b 可寻址 RGB LED
  • 5V、2A 电源适配器

第 2 步:简介

该传感器是多个 IR 传感器(接近传感器)的简单阵列。该阵列由 8 个传感器组成,可提供 8 个不同的模拟和数字输出。在这个项目中,我们将使用这个传感器来识别我们手的运动方向,从而根据手势改变 LED 的颜色。 Arduino 板将从传感器获取输入并改变 LED 的颜色。

此处附上一张红外传感器阵列的图像以及与代码相关的手势。两个简单的手势将是:

  • 向左滑动
  • 向右滑动

在此处查看这些手势的工作原理:

第 3 步:建立连接

只有很少的连接,即; (参考电路图中的连接)

红外传感器连接:

  • 将红外线跟随传感器的 GND 连接到 Arduino 的 GND。
  • 将红外线跟随传感器的 VCC 连接到 Arduino 的 5v。
  • 将传感器 A 的数字输出连接到 Arduino 的数字引脚 4。
  • 将传感器 B 的数字输出连接到 Arduino 的数字引脚 5。
  • 将传感器 C 的数字输出连接到 Arduino 的数字引脚 6。
  • 将传感器 D 的数字输出连接到 Arduino 的数字引脚 7。
  • 将传感器 E 的数字输出连接到 Arduino 的数字引脚 8。
  • 将传感器 F 的数字输出连接到 Arduino 的数字引脚 9。
  • 将传感器 G 的数字输出连接到 Arduino 的数字引脚 10。
  • 将传感器 H 的数字输出连接到 Arduino 的数字引脚 11。

LED 灯条连接:

  • 将 LED 灯条的 GND 连接到 Arduino GND。
  • 将 LED 灯条的 5V 连接到 Arduino 的 Vin。
  • 将 LED 灯条的数据输入连接到 Arduino 的数字引脚 3。

都是这样!

第 4 步:让我们编写代码

这里附上的代码是完整的。

解释:

代码很简单,我们使用一个名为 FAST LED 的库来控制 LED 并赋予其效果。然后使用字母表声明 8 个变量来存储来自传感器的数据。 LED 数量 在像素条中定义为 90 (您可以根据您的设置更改此设置)&数据引脚定义为 pin 3 Arduino的。

void 循环由 2 个嵌套的 if 循环组成,它们将检查哪些传感器已打开并因此发光/改变 LED 的颜色。

一个虚空淡入淡出 函数提供Hue(Color)变化效果。

从这里下载代码并享受。

在 Instagram 上关注我们:我们制作的随机东西!更多精彩项目。

第 5 步:一些图片

&nofit=script>

代码

  • 手势控制台灯
手势控制台灯Arduino
此代码已完成,您可以更改 LED 数量和引脚编号。根据您的设置。对于代码的解释,请查看文章的故事部分。
#include  //LED 库初始化int a,b,c,d,e,f,g,h,j=0; //存储传感器数据的变量#define NUM_LEDS 90 // 你的条带中有多少个 LED?#define DATA_PIN 3 // LED 的数据引脚将在 arduino 上连接在这里 // 定义 LEDCRGB LED 阵列 [NUM_LEDS];void setup () { pinMode(4,INPUT); //红外传感器的数字输入引脚 pinMode(5,INPUT); //红外传感器的数字输入引脚 pinMode(6,INPUT); //红外传感器的数字输入引脚 pinMode(7,INPUT); //红外传感器的数字输入引脚 pinMode(8,INPUT); //红外传感器的数字输入引脚 pinMode(9,INPUT); //红外传感器的数字输入引脚 pinMode(10,INPUT);//红外传感器的数字输入引脚 pinMode(11,INPUT);//红外传感器的数字输入引脚 LEDS.addLeds(leds ,NUM_LEDS); //LED初始化LEDS.setBrightness(84); // LED 亮度(0-255 范围)}void fakeall() { for(int i =0; i =4; i--) { // 将第 i 个 LED 设为红色 leds[i] =CHSV(hue++, 255, 255); // 显示 LED FastLED.show(); // 现在我们已经显示了 LED,将第 i 个 LED 重置为黑色 // leds[i] =CRGB::Black;淡入淡出(); // 在我们循环并再次执行之前稍等片刻 delay(10); } }} }

示意图

Fritzing 中的电路由 8 个不同的 IR 传感器组成,您可以使用 8 个不同的传感器或一个阵列传感器。

制造工艺

  1. 通过蓝牙控制的树莓派机器人
  2. 使用 Raspberry Pi 的手势控制机器人
  3. Alexa 通过 Raspberry Pi 控制 LED
  4. 操纵杆控制的遥控车
  5. SunGlass-BOT [一副自动太阳镜]
  6. Nunchuk 控制机械臂(使用 Arduino)
  7. 无线灯开关操纵器
  8. 语音控制机器人
  9. Arduino 控制的钢琴机器人:PiBot
  10. Arduino RGB 混色器
  11. DMX RGB LED 户外
  12. 使用 Arduino 的触摸控制灯