随着圣诞节的即将来临,漂亮的装饰和圣诞树是必不可少的。与其我们购买一些现成的圣诞树装饰品,不如让我们自己制作一些,将采用Arduino开发板、Neo Pixel LED灯带、JQ6500语音模块以及PIR传感器一起使用。PIR传感器用于检测运动,JQ6500语音模块用于播放圣诞颂歌,Neo Pixels用于点亮圣诞树。
所需的组件 ● Arduino Nano开发板 ● Neo Pixel LED 灯带 ● 被动式红外传感器 ● JQ6500语音发声模块 ● 8Ω 0.5W 喇叭 ● 7805 稳压器 ● 直流电源插孔(母) ● 2× 10µf 电容器
电路原理图
上面给出了基于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”库。
首先在代码中包含所有必需的库,并定义此项目中使用的所有引脚。 - #include <Arduino.h>
- #include <SoftwareSerial.h>
- #include <JQ6500_Serial.h>
- #include <Adafruit_NeoPixel.h>
复制代码之后,声明NeoPixel条带对象,其中参数1是NeoPixel灯带中的像素数,参数2是连接LED灯带的Arduino引脚。 - Adafruit_NeoPixel strip(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
复制代码
在setup()函数中初始化输入输出引脚,并初始化串口监视器和JQ6500语音模块。 - pinMode(sensor, INPUT);
- mp3.begin(9600);
- mp3.reset();
- mp3.setVolume(50);
- mp3.setLoopMode(MP3_LOOP_NONE);
- strip.begin();
复制代码
在loop()函数中,首先我们启动Neo-Pixel LED灯带的彩虹模式,然后读取PIR传感器状态。如果PIR传感器的状态为高电平,我们将调用mp3.play()函数来播放圣诞快乐歌曲,并将Neo-Pixel状态更改为theatreChaseRainbow模式。 - void loop(){
- rainbow1(10);
- val = digitalRead(sensor);
- Serial.print(val);
- if (val == HIGH) {
- mp3.playFileByIndexNumber(1);
- theaterChaseRainbow(50);
- delay(7000);
- }
- }
复制代码
3D打印星形外壳 接下来,我使用卡尺测量了装置的尺寸,以便为装置设计外壳。完成后,设计效果看起来像下面这样。
完成设计后,将其导出为STL文件,根据打印机设置对其进行切片,最后打印出来。 STL 文件也可从 Thingiverse 下载,您可以使用它打印您的外壳。打印完成后,继续将项目组装在外壳中,以将其安装在圣诞树上。完成连接后,将电路组装到外壳中,一切都非常合适。
圣诞之星测试 代码和硬件准备就绪后,将代码上传到Arduino Nano。之后将所有东西放入外壳内,如下图所示:
现在,使用 12V 适配器为设置供电,Neopixel将开始以彩虹模式发光,当PIR传感器检测到有人靠近时,它将播放“圣诞快乐”歌曲,并将Neo-Pixel模式从彩虹模式更改为Theatrechase。
|