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

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

3天内不再提示

基于计算机控制的音乐圣诞灯的制作

454398 来源:wv 2019-09-20 17:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

第1步:零件和材料

基于计算机控制的音乐圣诞灯的制作

如果您是一位精通技术的人,可以使用焊接设备并具有电路的基本知识,那么您会发现这个项目容易实现。另一方面,如果您一生中从未做过任何电气工作,建议您上Google并学习如何焊接或联系电子专家。该Instrutable确实利用了高压电流,因此,在使用此类设备时,建议您格外小心。 *对于此项目可能造成的任何损害或伤害,我不承担任何责任。*

现在我们知道了,继续前进。以下是您需要的零件和材料清单:

-Arduino Duemilanove

- USB电缆

- Windows电脑(最好是笔记本电脑)

-6继电器;额定电压为5v-各种LED-220-OHM LED电阻器-焊接的PCB

》 6个三管齐下的女性商店

- 一个三管齐下的男性商店

- 塑料盒外壳

-胶合板

-热胶和热胶棒

-6普通黑色1N4004二极管

-焊锡和烙铁(已保存)

- 绕线

步骤2:LED指示灯

首先将LED指示灯焊接到PCB板上将它们与我们将要构建的6个通道相关联。

您将需要6个LED来检查您的通道,看它们是否有效。

1。首先,抓住6根红线和1根黑线。从6根线和1根黑线开始连续焊接它们。

2。 6条红色导线连接到LED的正极。

3。焊接LED另一端的6个电阻

4。将黑色电缆焊接到电阻器的两端。

检查下图中的工作情况。确保没有任何草率连接或短路问题。

步骤3:测试LED

如果您急于测试LED以确定连接是否成功,可以通过将引脚线连接到Arduino来实现。如果您希望在继续连接继电器之前测试LED,请按照下图进行操作。

将6个引脚插入Arduino以及地线。

将Arduino连接到计算机并打开Arduino Sketch板软件。

如果一切顺利,则应该看到所有的LED都亮了。

int tree1 = 13;

int tree2 = 12;

int tree3 = 11;

int tree4 = 10;

int tree5 = 9;

int tree6 = 8;

void setup(){

pinMode(tree1,OUTPUT);

pinMode(tree2,OUTPUT );

pinMode(tree3,OUTPUT);

pinMode(tree4,OUTPUT);

pinMode(tree5,OUTPUT);

pinMode(tree6,OUTPUT);

}

void loop(){

digitalWrite(tree1,HIGH);

digitalWrite(tree2,HIGH);

digitalWrite(tree3,HIGH);

digitalWrite(tree4,HIGH);

digitalWrite(tree5 ,HIGH);

digitalWrite(tree6,HIGH);

}

步骤4:连接继电器

如果您只是尝试了步骤3,请断开Arduino与计算机的连接,并断开与Arduino的所有电线。

为避免损坏Arduino和项目的其他部分,请尝试使用电气胶带隔离开路导线。

我们现在要将继电器焊接到电路板的每个通道。这样做时请小心。为这些连接供电时,它们具有高压危险。花一分钟时间看一下继电器的引脚。

在焊接时请仔细观察该图,因为您的继电器可能与所示的有所不同。

步骤5:在包装盒中!

一旦您的继电器全部焊接完毕,就可以将其放入包装箱中了。在做任何事情之前,请确保您没有焊接错误。将PCB板的4个角热粘合到小块胶合板上。将胶合板直接热胶在塑料盒上。

对Arduino进行相同操作。除此之外,我建议您使用螺钉将Arduino固定到一块胶合板上,然后将其热胶粘到塑料盒外壳上。将电线从PCB连接到Arduino。

(唯一的“自由悬挂”电线应该是连接到继电器的“高压”电线。)

步骤6:打包和处理

这是您创造奇迹之前的重要步骤。首先,将所有继电器线连接到每个引脚。将地面连接到您的主电源。换句话说,用电线做一个简单的电路。假装“公三管插头”是您的电源,6“母延长线”是您的“负载”(或灯泡),“开关”是继电器。确保每个继电器连接到单负荷。如果您需要帮助,可以查看下面的图表。

需要注意的一些事项:确保用于连接电路的电线可以承受120v电压。最好检查规格。确保用电工胶带彻底包裹所有电线。在塑料盒上戳孔,并确保电源线伸出。热粘合您可能存在的任何缝隙。

步骤7:包装

一旦所有连接都牢固且安全一切都被录制下来了,该开始表演了!您将需要在室内设置“控制箱”。 (因为您不希望任何人弄乱它)

我建议您将盒子放在车库门旁边的车库中。将主电源插入交流电源插座。

像往常一样放房子的圣诞灯,但是将所有电线插入“控制器”而不是电源插座。

如图所示这是我的整理设计。 (我放了一个音符,说“高压”,让我的家人知道内部电压)。

步骤8:歌曲和准备工作

当然,如果没有音乐,什么是计算机控制的音乐灯?将所有喜欢的MP3歌曲下载到计算机。只要您可以在扬声器上大声播放,就可以了。

好的设置是将笔记本电脑带到车库,将USB连接到Arduino,然后插入一些扬声器。如果您的笔记本电脑上有WiFi连接,您可以在Youtube上搜索Mannheim Steamroller等歌曲“Carol of the Bells - David Foster”,“Deck the Halls”或“God Rest Ye Merry Gentlemen”。 br》最后,对于编程,我们将需要某种设置来运行电灯。您有两个选项:

-选项A:您可以使用计算机键盘手动控制灯光。

-选项B:您可以使用宏录制器手动设置灯光并自动播放。

无论哪种方式,您将需要在计算机上运行以下两个程序才能与Arduino通信

高科技圣诞节1.0版(我自己控制灯光的程序)

Arduino Sketchpad (Arduino的默认编程软件)

请确保您同时拥有上述两个程序。如果没有,请下载它们,解压缩内容并立即运行!

拥有程序后,打开Arduino Sketchpad程序并将该代码上载到Arduino:

int tree1 = 13; int tree2 = 12; int tree3 = 11; int tree4 = 10; int tree5 = 9; int tree6 = 8; intintentByte;//一个将传入的串行数据读入

void setup(){

//初始化串行通信的变量:

Serial.begin(9600);

//将LED引脚初始化为输出:

pinMode(tree1,OUTPUT);

pinMode(tree2,OUTPUT);

pinMode(tree3,OUTPUT);

pinMode(tree4,OUTPUT);

pinMode(tree5,OUTPUT);

pinMode(tree6,OUTPUT);

}

void loop(){

//查看是否有传入的串行数据:

if(Serial.available()》 0){

//读取串行缓冲区中最旧的字节:

incomingByte = Serial.read();

if(incomingByte ==‘q’){

digitalWrite(tree1,HIGH);

延迟(150);

digitalWrite(tree1,LOW);

}

if(incomingByte ==‘w’){

digitalWrite(tree2,HIGH);

delay(150);

digitalWrite(tree2,LOW);

}

if(incomingByte ==‘e’){

digitalWrite(tree3,HIGH);

delay(150);

digitalWrite(tree3,LOW);

}

如果(incomingByte ==‘r’){

digitalWrite(tree4,HIGH);

delay(150);

digitalWrite( tree4,LOW);

}

if(incomi ngByte ==‘t’){

digitalWrite(tree5,HIGH);

delay(150);

digitalWrite(tree5,LOW);

}

if(incomingByte = =‘y’){

digitalWrite(tree6,HIGH);

delay(150);

digitalWrite(tree6,LOW);

}

if(incomingByte ==‘ s’){

digitalWrite(tree1,HIGH);

digitalWrite(tree2,HIGH);

delay(150);

digitalWrite(tree1,LOW);

digitalWrite(tree2,LOW );

}

if(incomingByte ==‘d’){

digitalWrite(tree2,HIGH);

digitalWrite(tree3,HIGH);

delay(150);

digitalWrite(tree2,LOW);

digitalWrite(tree3,LOW);

}

if(incomingByte ==‘f’){

digitalWrite(tree3,HIGH);

digitalWrite(tree4,HIGH);

延迟(150);

digitalWrite(tree3,LOW);

digitalWrite(tree4,LOW);

}

if(incomingByte == ‘g’){

digitalWrite(tree4,HIGH);

digitalWrite(tree5,HIGH);

delay(150);

digitalWrite(tree4,LOW);

digitalWrite(tree5, LOW);

}

如果(incomingByte ==‘h’){

digitalWrite(tree5,HIGH);

digitalWrite(tree6,HI GH);

延迟(150);

digitalWrite(tree5,LOW);

digitalWrite(tree6,LOW);

}

if(incomingByte ==‘u’) {

digitalWrite(tree1,HIGH);

digitalWrite(tree2,HIGH);

digitalWrite(tree5,HIGH);

digitalWrite(tree6,HIGH);

delay(150);

digitalWrite(tree1,LOW);

digitalWrite(tree2,LOW);

digitalWrite(tree5,LOW);

digitalWrite(tree6,LOW);

}

如果(incomingByte ==‘i’){

digitalWrite(tree1,HIGH);

digitalWrite(tree2,HIGH);

digitalWrite(tree4,HIGH);

digitalWrite(tree5,HIGH);

delay(150);

digitalWrite(tree1,LOW);

digitalWrite(tree2,LOW);

digitalWrite(tree4,LOW);

digitalWrite(tree5,LOW);

}

if(incomingByte ==‘j’){

digitalWrite(tree2,HIGH);

digitalWrite(tree3,HIGH);

digitalWrite(tree5,HIGH);

digitalWrite(tree6,HIGH);

delay(150);

digitalWrite(tree2,LOW);

digitalWrite(tree3,LOW);

digitalWrite(tree5,LOW);

digitalWrite( tree6,LOW);

}

if(incomingByte ==‘o’){ digitalWrite(tree5,HIGH);

digitalWrite(tree3,HIGH);

digitalWrite(tree4,HIGH);

delay(150);

digitalWrite(tree5,LOW);

digitalWrite(tree3,LOW);

digitalWrite(tree4,LOW);

}

if(incomingByte ==‘p’){

digitalWrite(tree2,HIGH);

digitalWrite(tree3,HIGH);

digitalWrite(tree4,HIGH);

delay(150);

digitalWrite(tree2,LOW);

digitalWrite(tree3,LOW);

digitalWrite( tree4,LOW);

}

如果(incomingByte ==‘b’){

digitalWrite(tree1,HIGH);

digitalWrite(tree6,HIGH);

delay( 150);

digitalWrite(tree1,LOW);

digitalWrite(tree6,LOW);

}

if(incomingByte ==‘c’){

digitalWrite(tree1, HIGH);

digitalWrite(tree3,HIGH);

delay(150);

digitalWrite(tree1,LOW);

digitalWrite(tree3,LOW);

}

如果( incomingByte ==‘v’){

digitalWrite(tree4,HIGH);

digitalWrite(tree6,HIGH);

delay(150);

digitalWrite(tree4,LOW);

digitalWrite (tree6,LOW);

}

如果(incomingByte ==‘a’){

digitalWrite (tree1,HIGH);

digitalWrite(tree2,HIGH);

digitalWrite(tree3,HIGH);

digitalWrite(tree4,HIGH);

digitalWrite(tree5,HIGH);

digitalWrite (tree6,HIGH);

delay(150);

digitalWrite(tree1,LOW);

digitalWrite(tree2,LOW);

digitalWrite(tree3,LOW);

digitalWrite(tree4 ,LOW);

digitalWrite(tree5,LOW);

digitalWrite(tree6,LOW);

}

}

}

第9步:显示时间!

showtime之前的步骤:

1。将代码上传到Arduino之后,通过USB将Arduino连接到计算机。

2。调高音量和扬声器。打开您要播放的歌曲。

3。启动继电器(主交流电源)。

4。打开名为高科技圣诞节1.0

5的程序。选择“ Arduino的串行端口”。 (如果您不知道端口是什么,请继续选择其他端口,直到您正确为止)

6。点击音乐上的“播放”。

开始按某些键!继续!

下面,我为键盘附上了一张图片,其中的选项卡可控制哪些继电器(指示灯)。

步骤10:自动化和其他构想

如果您是一个懒人,或者只是不喜欢一直控制灯光,则可以下载另一个程序来记录您键入的内容键盘并播放。

这称为“宏程序”。您可以获得类似 Blue Eye Macro 或 Avis Macro 之类的优质程序。

然后,在录制宏后,寻找“循环播放歌曲和宏,以便它们重复播放。

我还没有真正了解它,但是今年圣诞节我在使用Blue Eye Macro时没有任何问题。

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

    关注

    22

    文章

    1604

    浏览量

    111178
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

    195991
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工控机与普通计算机的核心差异解析

    在工业自动化和智能制造领域,计算机设备作为核心控制单元,其选择直接影响整个系统的稳定性与可靠性。工控机与普通计算机虽同属计算设备,但其设计目标、性能侧重和应用场景存在根本性差异。准确理
    的头像 发表于 11-25 14:45 1242次阅读
    工控机与普通<b class='flag-5'>计算机</b>的核心差异解析

    贸泽电子开售全新Arduino UNO Q单板计算机

    贸泽电子开售全新Arduino UNO Q单板计算机。Arduino UNO Q单板计算机(SBC)将高性能计算与实时控制结合,提供理想的创新平台。
    的头像 发表于 11-08 09:50 968次阅读

    【作品合集】赛昉科技VisionFive 2单板计算机开发板测评

    单板计算机试用体验】GPIO口点亮LED【VisionFive 2单板计算机试用体验】移植libgpiod【VisionFive 2单板计算机试用体验】VNC远程桌面【VisionF
    发表于 09-04 09:08

    工业计算机的重要性

    于管理用于产品检查、数据记录和数据分析的运动控制系统,以提高制造生产率。例如,汽车行业从工业边缘计算机中受益匪浅,这些计算机用于自动化制造汽车所涉及的各种过程。工业边
    的头像 发表于 07-28 16:07 401次阅读
    工业<b class='flag-5'>计算机</b>的重要性

    自动化计算机经过加固后有什么好处?

    让我们讨论一下部署坚固的自动化计算机的一些好处。1.温度范围宽自动化计算机经过工程设计,配备了支持宽温度范围的组件,使自动化计算解决方案能够在各种不同的极端环境中运行。自动化计算机能够
    的头像 发表于 07-21 16:44 429次阅读
    自动化<b class='flag-5'>计算机</b>经过加固后有什么好处?

    自动化计算机的功能与用途

    工业自动化是指利用自动化计算机控制工业环境中的流程、机器人和机械,以制造产品或其部件。工业自动化的目的是提高生产率、增加灵活性,并提升制造过程的质量。工业自动化在汽车制造中体现得最为明显,其中许多
    的头像 发表于 07-15 16:32 535次阅读
    自动化<b class='flag-5'>计算机</b>的功能与用途

    工业计算机与商用计算机的区别有哪些

    工业计算机是一种专为工厂和工业环境设计的计算系统,具有高可靠性和稳定性,能够应对恶劣环境下的自动化、制造和机器人操作。其特点包括无风扇散热技术、无电缆连接和防尘防水设计,使其在各种工业自动化场景中
    的头像 发表于 07-10 16:36 526次阅读
    工业<b class='flag-5'>计算机</b>与商用<b class='flag-5'>计算机</b>的区别有哪些

    工业计算机如何设计用于冲击和振动

    工业计算机是为挑战消费级系统耐用性的环境而构建的。在制造业、运输业、国防和采矿业等领域,计算机面临着持续的冲击、振动和其他物理压力。设计这些系统以在这种条件下保持可靠需要卓越的工程和创新技术。本文
    的头像 发表于 05-19 15:27 366次阅读
    工业<b class='flag-5'>计算机</b>如何设计用于冲击和振动

    一文带你了解工业计算机尺寸

    工业计算机是现代自动化、人工智能(AI)和边缘计算的支柱。这些坚固耐用的系统旨在承受恶劣的环境,同时为关键应用提供可靠的性能。然而,由于有这么多可用的外形尺寸,为您的工业计算机选择合适的尺寸可能是
    的头像 发表于 04-24 13:35 795次阅读
    一文带你了解工业<b class='flag-5'>计算机</b>尺寸

    计算机网络入门指南

    计算机网络是指将地理位置不同且具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
    的头像 发表于 04-22 14:29 1867次阅读
    <b class='flag-5'>计算机</b>网络入门指南

    Quantinuum“Reimei”量子计算机在RIKEN正式运行

    近日,东京——全球领先的集成量子计算公司Quantinuum与日本顶尖的综合研究机构RIKEN共同宣布,Quantinuum的“Reimei”量子计算机已在RIKEN Wako园区(位于日本埼玉县
    的头像 发表于 02-17 10:21 801次阅读

    飞凌嵌入式获批建设「河北省嵌入式计算机控制系统技术创新中心」

    河北省科学技术厅公示了2024年度拟新建省重点实验室和省技术创新中心的名单,保定飞凌嵌入式技术有限公司(以下简称:飞凌嵌入式)作为“河北省嵌入式计算机控制系统技术创新中心”的依托单位成功上榜,成为新建的135家省技术创新中心之一。
    的头像 发表于 12-27 10:45 1046次阅读
    飞凌嵌入式获批建设「河北省嵌入式<b class='flag-5'>计算机控制</b>系统技术创新中心」

    工业计算机的定义与重要性

    工业计算机是专门为工业环境设计和制造的计算设备,其主要功能在于监控、控制和优化生产流程。这类计算机系统通常具备强大的处理能力、较高的稳定性以及耐高温、抗震动和防尘等特性,能够在极端的工
    的头像 发表于 12-25 15:11 980次阅读
    工业<b class='flag-5'>计算机</b>的定义与重要性

    云端超级计算机使用教程

    云端超级计算机是一种基于云计算的高性能计算服务,它将大量计算资源和存储资源集中在一起,通过网络向用户提供按需的计算服务。下面,AI部落小编为
    的头像 发表于 12-17 10:19 962次阅读

    RS232设备与计算机连接的实现步骤

    标准定义了电压水平、数据格式、控制信号等。了解这些标准对于正确连接和通信至关重要。 2. 检查设备和计算机的RS-232端口 确认你的设备和计算机都有RS-232端口。如果没有,你可能需要一个适配器或转换器。 3. 获取RS-2
    的头像 发表于 12-10 17:21 5078次阅读