0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Arduino装饰圣诞树的教程

科技观察员 来源:circuitdigest 作者:Ashish Choudhary 2022-07-13 16:45 次阅读

由于圣诞节快到了,没有装饰和圣诞树,它的本质是不完整的。所以,不要使用我们每年都放的旧圣诞树装饰品,让我们更上一层楼,使用带有 Neo 像素 LED 灯条、JQ6500 语音模块和PIR 传感器Arduino 。PIR传感器用于检测运动,JQ6500语音模块用于播放圣诞颂歌,Neo Pixels用于点亮圣诞树。

所需组件

Arduino纳米

Neo Pixel LED灯条

PIR 传感器

JQ6500 语音发声模块

8Ω 0.5W 喇叭

7805稳压器

直流电源插孔(母)

2× 10µf 电容

电路原理

pYYBAGLOhYmAZwtqAAJf4cJ65nM849.png

上面给出了基于 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 ”库。

poYBAGLOhYOAaTzbAAMpNVKc-7s137.png

像往常一样,通过包含所有必需的库并定义该项目中使用的所有引脚来启动代码。

#include 
#include 
#include 
#include 

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

Adafruit_NeoPixel strip(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);

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

pinMode(传感器,输入);
mp3.开始(9600);
mp3.reset();
mp3.setVolume(50);
mp3.setLoopMode(MP3_LOOP_NONE);
剥离.开始();

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

无效循环(){
    彩虹1(10);
     val = digitalRead(传感器);
     序列号.print(val);
     如果(val == HIGH){
        mp3.playFileByIndexNumber(1);
        剧院追逐彩虹(50);
        延迟(7000);
     }
}

3D打印星形外壳

接下来,我使用比例尺测量了装置的尺寸,还测量了筒式千斤顶的尺寸,以便为我的装置设计一个外壳。完成后,我的设计如下所示。

poYBAGLOhX6AKDYAAAcoALjsnHI074.png

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

pYYBAGLOhXmAJ6BRAAWQDdrc-Ic043.png

圣诞星测试

代码和硬件准备好后,将代码上传到 Arduino Nano。之后将所有东西安装在外壳内,如下图所示:

pYYBAGLOhXSAVAVQAAPNEwNYa5I334.png

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

pYYBAGLOhXGAEPIEAAOgakTK4gk587.png

代码

#include

#include 
#include 
#include 
JQ6500_Serial mp3(8,9);
#define PIXEL_PIN 2 // 连接到 NeoPixels 的数字 IO 引脚。
#define PIXEL_COUNT 55 // NeoPixels 的数量
Adafruit_NeoPixel strip(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
常量 int 传感器 = 5;
常量 int 状态 = 低;
整数值;
整数模式 = 0; // 当前激活的动画模式,0-9
int r,g,b,数据;
无效设置(){
  序列号.开始(115200);
  pinMode(传感器,输入);
  mp3.开始(9600);
  mp3.reset();
  mp3.setVolume(50);
  mp3.setLoopMode(MP3_LOOP_NONE);
  剥离.开始();// 初始化 NeoPixel 条形对象(必需)
  剥离.show(); // 将所有像素初始化为'off'
}
无效循环(){
     val = digitalRead(传感器);
     序列号.print(val);
     如果(val == HIGH){
     mp3.playFileByIndexNumber(1);
   // 剧场追逐彩虹(5);
     延迟(9000);
     Serial.print("工作");
     }
     彩虹();
}
无效彩虹(){  
  for(long firstPixelHue = 0; firstPixelHue < 3*65536; firstPixelHue += 256) {
    for(int i=0; i RGB
        strip.setPixelColor(c, color); // 将像素 'c' 设置为值 'color'
      }
      剥离.show(); // 使用新内容更新条带
      //延迟(等待);//暂停片刻
      firstPixelHue += 65536 / 90; // 一个循环的色轮超过 90 帧
    }
  }
}*/
 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Arduino
    +关注

    关注

    184

    文章

    6428

    浏览量

    184845
  • LED灯条
    +关注

    关注

    2

    文章

    99

    浏览量

    13095
  • PIR传感器
    +关注

    关注

    2

    文章

    56

    浏览量

    9609
收藏 人收藏

    评论

    相关推荐

    圣诞树 电子制作

    本帖最后由 1053344544 于 2024-4-8 22:54 编辑 `圣诞树
    发表于 10-07 15:17

    树莓派《闪瞎你眼》圣诞树彩灯

    ` 本帖最后由 348081236 于 2016-2-18 17:36 编辑 今天是圣诞节没有圣诞树怎么行?圣诞树没有会闪来闪去的彩灯怎么行?什么你不过圣诞节?那就当做个
    发表于 12-25 18:10

    DIY一颗圣诞树

    .多年来我一直在想这个问题。圣诞树-尺寸:15.5厘米x 28.7厘米-LED数量:22个3mm红色LED编程:这个PCB是通过PinguinIDE编程的,它使用与Arduino相同的语言,但有一些额外
    发表于 06-20 09:24

    自制一个有创意的微型圣诞树

    描述Xmas Tree v1 - 是一个有创意的微型圣诞树,具有 16 种不同的动画效果和 16 种亮度渐变,保存在 EEPROM 中。圣诞树的核心是 16 个 WS2812B 地址 LED,ST
    发表于 07-08 08:17

    基于ATSAMD21和LED矩阵制成的圣诞树装饰

    描述由 90 个 LED 矩阵、一个蜂鸣器、8 个触摸按钮制成的圣诞树装饰品,由可充电锂离子电池供电。它使用 ATSAMD21 微控制器,因此它与 Arduino 和 CircuitPython
    发表于 07-18 07:54

    利用RGB LED创造圣诞树的智能装饰

    描述RGB圣诞树今年我想在我的圣诞树上添加我自己设计和建造的东西,所以我用 RGB LED 创造了这个智能装饰。LED 由 ESP32 控制,使系统能够集成智能家居。我计划从 Home Assistant 集成和控制它。PCB
    发表于 07-28 07:48

    自制LED圣诞树

    描述LED圣诞树简单的圣诞装饰品,可与 Arduino(通过电源驱动器)或其他驱动电路一起使用。非常适合作为 Arduino 编程的简单入门
    发表于 08-03 06:50

    绘制有8个Neopixels的圣诞树

    描述圣诞树Neopixel PCB这款圣诞树 PCB 有 8 个 Neopixels,可以通过按钮更改图案。XY 模式下的示波器还有一个双 PWM 输出,可以在示波器上绘制圣诞树!展示代码https://github.com/G
    发表于 08-29 07:52

    构建一颗圣诞树的教程

    描述圣诞树
    发表于 09-14 06:54

    基于Gameboy的圣诞树装饰

    电子发烧友网站提供《基于Gameboy的圣诞树装饰品.zip》资料免费下载
    发表于 07-18 14:32 3次下载
    基于Gameboy的<b class='flag-5'>圣诞树</b><b class='flag-5'>装饰</b>品

    pcb设计来装饰你的圣诞树

    电子发烧友网站提供《pcb设计来装饰你的圣诞树.zip》资料免费下载
    发表于 07-18 11:31 2次下载
    pcb设计来<b class='flag-5'>装饰</b>你的<b class='flag-5'>圣诞树</b>

    自制PCB花环装饰圣诞树

    电子发烧友网站提供《自制PCB花环装饰圣诞树.zip》资料免费下载
    发表于 07-18 09:42 2次下载
    自制PCB花环<b class='flag-5'>装饰</b><b class='flag-5'>圣诞树</b>

    用M5Stack设备装饰圣诞树

    电子发烧友网站提供《用M5Stack设备装饰圣诞树.zip》资料免费下载
    发表于 11-18 09:45 0次下载
    用M5Stack设备<b class='flag-5'>装饰</b><b class='flag-5'>圣诞树</b>

    Arduino网络圣诞树

    电子发烧友网站提供《Arduino网络圣诞树.zip》资料免费下载
    发表于 12-23 15:07 0次下载
    <b class='flag-5'>Arduino</b>网络<b class='flag-5'>圣诞树</b>

    Arduino LCD圣诞树

    电子发烧友网站提供《Arduino LCD圣诞树.zip》资料免费下载
    发表于 06-27 11:37 0次下载
    <b class='flag-5'>Arduino</b> LCD<b class='flag-5'>圣诞树</b>