找回密码
 立即注册
搜索
0赞
赞赏
手机版
扫码打开手机版
把文字装进口袋

基于Arduino装饰圣诞树的教程

帆影哉 2022-8-4 17:57:43
由于圣诞节快到了,没有装饰和圣诞树,它的本质是不完整的。所以,不要使用我们每年都放的旧圣诞树装饰品,让我们更上一层楼,使用带有 Neo 像素 LED 灯条、JQ6500 语音模块和PIR 传感器Arduino 。PIR传感器用于检测运动,JQ6500语音模块用于播放圣诞颂歌,Neo Pixels用于点亮圣诞树。
        所需组件
        Arduino纳米
        Neo Pixel LED灯条
        PIR 传感器
        JQ6500 语音发声模块
        8Ω 0.5W 喇叭
        7805稳压器
        直流电源插孔(母)
        2× 10µf 电容
        电路原理图
       
        上面给出了基于 Arduino 的装饰圣诞树的完整电路图。非常简单,我们只需要连接 PIR 传感器、JQ6500 语音模块和 Neo-Pixel LED 灯条。完整的设置由 12V 电池供电。电路的大脑是 Arduino Nano。PIR 传感器用于检测人员的存在。该传感器的三个引脚中的两个,即 Vcc 和 GND 连接到 Arduino 的 5V 和 GND。而数据管脚连接到Arduino Nano的D5,Neo-Pixel条的数据管脚连接到Arduino Nano的D2管脚。
        JQ5600 MP3模块是一个3.3V的逻辑模块,所以不能直接连接到Arduino的IO管脚,但是用Arduino的5V电源线供电就可以了。MP3 模块的 RX 和 TX 引脚连接到 Arduino Nano 的数字引脚 9 和 8。在 Arduino 数字引脚 9 和 MP3 模块的 RX 之间放置一个 1kΩ 电阻,以降低 Arduino 的 5V 电压。
        为装饰圣诞树编程 Arduino Nano
        一旦我们准备好硬件,我们就可以将 Arduino 连接到我们的计算机并开始编程。该项目的完整代码在本页底部给出;您可以将其直接上传到您的 Arduino 板。但是,如果您想知道代码是如何工作的,请进一步阅读。
        该代码使用JQ6500_Serial.h、Adafruit_NeoPixel.h和SoftwareSerial.h库。SoftwareSerial 库预安装在Arduino IDE中。可以从此链接安装 JQ6500 串行库。而Adafruit_NeoPixel.h库可以直接从 Arduino IDE 下载。为此,请转到Sketch 》 Include Library 》 Manage Libraries。然后在搜索框中搜索“ Adafruit Neo ”并下载并安装“ Adafruit Neopixel ”库。
       
        像往常一样,通过包含所有必需的库并定义该项目中使用的所有引脚来启动代码。
       
  1. #include
  2. #include
  3. #include
  4. #include
复制代码

        之后,声明 NeoPixel 条对象,其中参数 1 是 NeoPixel 条中的像素数,参数 2 是连接 LED 灯条的 Arduino 引脚。
       
  1. Adafruit_NeoPixel strip(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
复制代码

        然后在setup()函数中初始化输入输出引脚,并初始化串行监视器和 JQ6500 语音模块。
       
  1. pinMode(传感器,输入);
  2. mp3.开始(9600);
  3. mp3.reset();
  4. mp3.setVolume(50);
  5. mp3.setLoopMode(MP3_LOOP_NONE);
  6. 剥离.开始();
复制代码

        首先在主循环中,我们启动 Neo-Pixel LED 灯条的彩虹模式,然后读取 PIR 传感器状态。现在,如果 PIR 传感器的状态为高,我们将调用mp3.play()函数来播放圣诞快乐歌曲,并将 Neo-Pixel 状态更改为 TheaterChaseRainbow 模式。
       
  1. 无效循环(){
  2.     彩虹1(10);
  3.      val = digitalRead(传感器);
  4.      序列号.print(val);
  5.      如果(val == HIGH){
  6.         mp3.playFileByIndexNumber(1);
  7.         剧院追逐彩虹(50);
  8.         延迟(7000);
  9.      }
  10. }
复制代码

        3D打印星形外壳
        接下来,我使用比例尺测量了装置的尺寸,还测量了筒式千斤顶的尺寸,以便为我的装置设计一个外壳。完成后,我的设计如下所示。
       
        完成设计后,我将其导出为 STL 文件,根据打印机设置对其进行切片,最后打印出来。STL 文件也可以从 Thingiverse 下载,您可以使用它打印您的外壳。打印完成后,我继续将项目组装在一个永久性的外壳中,将其安装在圣诞树上。完成连接后,我将电路组装到我的外壳中,正如您在此处看到的那样,一切都非常合适。
       
        圣诞星测试
        代码和硬件准备好后,将代码上传到 Arduino Nano。之后将所有东西安装在外壳内,如下图所示:
       
        现在,使用 12V 适配器为设置供电,Neopixel 将开始以彩虹模式照明,当 PIR 传感器检测到有人时,它将播放“圣诞快乐”歌曲并将 Neo-Pixel 模式从彩虹更改为 Theatrechase。
       
        代码
        #include
       
  1. #include
  2. #include
  3. #include
  4. JQ6500_Serial mp3(8,9);
  5. #define PIXEL_PIN 2 // 连接到 NeoPixels 的数字 IO 引脚。
  6. #define PIXEL_COUNT 55 // NeoPixels 的数量
  7. Adafruit_NeoPixel strip(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
  8. 常量 int 传感器 = 5;
  9. 常量 int 状态 = 低;
  10. 整数值;
  11. 整数模式 = 0; // 当前激活的动画模式,0-9
  12. int r,g,b,数据;
  13. 无效设置(){
  14.   序列号.开始(115200);
  15.   pinMode(传感器,输入);
  16.   mp3.开始(9600);
  17.   mp3.reset();
  18.   mp3.setVolume(50);
  19.   mp3.setLoopMode(MP3_LOOP_NONE);
  20.   剥离.开始();// 初始化 NeoPixel 条形对象(必需)
  21.   剥离.show(); // 将所有像素初始化为'off'
  22. }
  23. 无效循环(){
  24.      val = digitalRead(传感器);
  25.      序列号.print(val);
  26.      如果(val == HIGH){
  27.      mp3.playFileByIndexNumber(1);
  28.    // 剧场追逐彩虹(5);
  29.      延迟(9000);
  30.      Serial.print("工作");
  31.      }
  32.      彩虹();
  33. }
  34. 无效彩虹(){  
  35.   for(long firstPixelHue = 0; firstPixelHue < 3*65536; firstPixelHue += 256) {
  36.     for(int i=0; i
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

使用道具 举报

您需要登录后才可以回帖 立即登录
不错
2022-8-5 11:14:44
嘻嘻不错支持一个
2022-8-6 03:44:07
不错哦  喜欢 嘿嘿
2022-8-6 20:13:30
2022-8-6 20:42:48
太赞了
2022-8-6 21:07:09
感谢您的无私精神...
2022-8-7 18:45:17
赞一个!
2022-8-8 16:23:24
这个不错,谢谢共享
2022-8-9 15:14:18
前来围观,LZ好样的!
2022-8-10 14:05:11
1234下一页
返回顶部