风筝
发表于: 2022-1-5 14:59:25 | 显示全部楼层

随着圣诞节的即将来临,漂亮的装饰和圣诞树是必不可少的。与其我们购买一些现成的圣诞树装饰品,不如让我们自己制作一些,将采用Arduino开发板、Neo Pixel LED灯带、JQ6500语音模块以及PIR传感器一起使用。PIR传感器用于检测运动,JQ6500语音模块用于播放圣诞颂歌,Neo Pixels用于点亮圣诞树。


所需的组件

●    Arduino Nano开发板

●    Neo Pixel LED 灯带

●    被动式红外传感器

●    JQ6500语音发声模块

●    8Ω 0.5W 喇叭

●    7805 稳压器

●    直流电源插孔(母)

●    2× 10µf 电容器


电路原理图

Arduino-Based-Decorative-Christmas-Tree-Circuit-Diagram.jpg

上面给出了基于Arduino的圣诞树的完整电路图。非常简单,我们只需要连接PIR传感器、JQ6500语音模块和Neo-Pixel LED灯带。整个设备由12V电池供电。电路的主要部分采用Arduino Nano开发板。 PIR传感器用于检测是否有人靠近。该传感器的三个引脚中的两个,即Vcc和GND,连接到Arduino的5V和GND。而data引脚连接到Arduino Nano的D5,Neo-Pixel灯带的data引脚连接到Arduino Nano的D2脚。


JQ5600 MP3模块是一个3.3V的逻辑模块,所以不能直接接Arduino的IO管脚,但可以用Arduino的5V电源线供电。 MP3模块的RX和TX引脚连接到Arduino Nano的数字引脚9和8。 Arduino 数字引脚9和MP3模块的RX之间串联了一个1kΩ电阻,以降低5V电平。


编程Arduino Nano

我们准备好硬件后,就可以将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”库。

Adafruit-Neopixel-Installation.jpg


首先在代码中包含所有必需的库,并定义此项目中使用的所有引脚。

  1. #include <Arduino.h>
  2. #include <SoftwareSerial.h>
  3. #include <JQ6500_Serial.h>
  4. #include <Adafruit_NeoPixel.h>
复制代码

之后,声明NeoPixel条带对象,其中参数1是NeoPixel灯带中的像素数,参数2是连接LED灯带的Arduino引脚。

  1. Adafruit_NeoPixel strip(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
复制代码

setup()函数中初始化输入输出引脚,并初始化串口监视器和JQ6500语音模块。

  1. pinMode(sensor, INPUT);
  2. mp3.begin(9600);
  3. mp3.reset();
  4. mp3.setVolume(50);
  5. mp3.setLoopMode(MP3_LOOP_NONE);
  6. strip.begin();
复制代码

在loop()函数中,首先我们启动Neo-Pixel LED灯带的彩虹模式,然后读取PIR传感器状态。如果PIR传感器的状态为高电平,我们将调用mp3.play()函数来播放圣诞快乐歌曲,并将Neo-Pixel状态更改为theatreChaseRainbow模式。

  1. void loop(){
  2.     rainbow1(10);
  3.      val = digitalRead(sensor);
  4.      Serial.print(val);
  5.      if (val == HIGH) {
  6.         mp3.playFileByIndexNumber(1);
  7.         theaterChaseRainbow(50);
  8.         delay(7000);
  9.      }
  10. }
复制代码

3D打印星形外壳

接下来,我使用卡尺测量了装置的尺寸,以便为装置设计外壳。完成后,设计效果看起来像下面这样。

Arduino-Based-Decorative-3D-Printing-Star-Shape.jpg


完成设计后,将其导出为STL文件,根据打印机设置对其进行切片,最后打印出来。 STL 文件也可从 Thingiverse 下载,您可以使用它打印您的外壳。打印完成后,继续将项目组装在外壳中,以将其安装在圣诞树上。完成连接后,将电路组装到外壳中,一切都非常合适。

Star-Shaped-Enclosure-on-Christmas-Tree.jpg


圣诞之星测试

代码和硬件准备就绪后,将代码上传到Arduino Nano。之后将所有东西放入外壳内,如下图所示:

Star-Shaped-Enclosour.jpg


现在,使用 12V 适配器为设置供电,Neopixel将开始以彩虹模式发光,当PIR传感器检测到有人靠近时,它将播放“圣诞快乐”歌曲,并将Neo-Pixel模式从彩虹模式更改为Theatrechase。

Arduino-Based-Decorative-Christmas-Tree.jpg

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 700 | 回复: 1480



手机版|

GMT+8, 2024-4-20 19:57 , Processed in 0.148063 second(s), 8 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表