0°

带有照明效果的恐怖万圣节演讲者

简介

一个小型紧凑的户外运动恐怖万圣节吓人盒子,带有声音和可选的灯光。

步骤一 材料准备

硬件准备:

arduino uno

MP3

四通道继电器模块

PIR运动传感器检测器HC SR501

3xAA电池卡口支架

2针插座连接器

防水食品盒

黑色喷漆

32mm 钻头

16mm钻头

usb 驱动

软件准备:

arduino IDE

步骤二 原理说明

我想制作几个隐藏的小型音频盒放在前花园中,以在万圣节临近前门时吓people人们。该示例描述了我想要构建的最复杂的示例,也是我的第一个测试案例,它具有令人恐惧的音轨和2种不同的视觉照明效果来吸引人们的注意力。

在开始之前,我想向KristianBlåsol赋予使用继电器控制MP3放大器模块的原始概念。

该构建背后的概念是使自含电池(或外部提供的12v)运动激活的扬声器具有两个输出,以提供12v LED效果(如果需要)。它需要便宜(总成本低于20英镑/ 25美元),可自定义并且能够在万圣节期间适应一天的天气。

在这里,我选择了12v外部电源,因为我有一个附近的室外插头,并希望使用一些相当明亮的耗电的LED灯,耗电量为2A。通过AA电池座或小型5000mah USB供电的电话充电器,它几乎可以在5v / 12v电池供电的设备上工作,并且可以快速修改以通过相同的电源为5v外部灯供电,只需交换12v传入电源即可为您的5v电源供电。

(注意:长时间使用后,我注意到Arduino难以为更大容量的mp3模块提供足够的汁液,并导致Arduino在播放过程中复位,因此我切断了专用的5v电池电源)

第1部分-构建

该构建背后的原理是使用Arduino UNO控制MP3播放器和照明。为此,我们将使用4路继电器模块,其中两个将通过模拟按钮上的PRESS来控制播放和上一个曲目按钮,其余两个通过打开和关闭电路为LED供电。 。

我对所有100mm长的控制接线使用30AWG绞线,对12v电路使用18AWG绞线,也留在了盒子里。看起来很乱,但是盒子内部有足够的空间,它很容易卸下盖子和组件,而无需拉出任何东西,因为我想将它们焊接在一起以提高可靠性。但是,为了让我能取下盖子,我使用了用于PIR传感器连接的凹型插头,并将插入MP3模块的扬声器电缆拧紧到位,这样就可以将来断开盖子的连接并取下盖子。

我按照接线图所示对电路进行了接线,其中12v电源进入了防水连接器。为了切换外部LED,我将输入电源的-v侧连接至输出连接器的另一-v侧,并通过继电器将+ v侧布线以实现切换。

为了制作外壳,我在扬声器的中央钻了一个32毫米的孔,在顶部到一侧为PIR传感器钻了一个16毫米的孔。然后,我将整个物体喷涂成黑色,以防止电路板上的LED散开并掩盖扬声器。

(未显示,为使扬声器防水,我使用了自行车内胎和维修套件,在外部粘贴了一个正方形的贴片,以使声音散发出来,但防止水进入。然后用螺栓将其穿过。)

然后将扬声器拧紧到位,并用胶枪将PIR传感器胶合到位(后来的更改意味着我最终用环氧树脂将PIR固定在位,因为胶枪胶水渗入了)。

所有组件均按照片排列,这允许访问MP3模块和Arduino上的USB端口。

(如果您想通过5v为本机供电,则可以使用Arduino上的USB接口或MP3播放器上的micro USB接口。)

构建完成并上传代码后,我对单元进行了测试以确保其正常工作,然后确保焊接连接得到了额外的支持,我在一些易受攻击的关键区域使用了一些胶水胶水,例如扬声器的连接,

请注意,所用的MP3模块需要USB / SD卡格式化为FAT32,其他格式对我不起作用。

第2部分-声音

声音文件已使用Audacity 编辑,

尖叫声

令人毛骨悚然的笑声

我看见你

石头走路的声音

第3部分-设置

音频文件和Arduino程序在继电器上的开关是定时的。如果您选择使用其他音频文件,然后在进行测试时操纵时序,则我注意到需要更改的代码。

第4部分-真实世界测试

步骤三 电路搭建

带有照明效果的恐怖万圣节演讲者

讲话和PIR下载

PIR粘在适当的位置,扬声器用塑料螺钉固定

带有照明效果的恐怖万圣节演讲者

带有照明效果的恐怖万圣节演讲者

带有照明效果的恐怖万圣节演讲者

步骤四 编写程序

//Assign pins

int pirSENSOR = 2;      //SENSOR to detect motion, set to maximum sensitivity and range

int previousBUTTON = 3; //button on MP3 module

int playBUTTON = 4;     //button on MP3 module

int whiteLED = 5;       //Whiteflashing light

int redLED = 6;         //Blood sequnce light during screem

int statusLED = 10;





void setup() {

 pinMode(pirSENSOR,INPUT);

 pinMode(previousBUTTON,OUTPUT);

 pinMode(playBUTTON,OUTPUT);

 pinMode(whiteLED,OUTPUT);

 pinMode(redLED,OUTPUT);

 pinMode(statusLED,OUTPUT);

 digitalWrite(previousBUTTON,HIGH); //set initial state, in my case Relay HIGH is OFF/OPEN

 digitalWrite(playBUTTON,HIGH);     //set initial state, in my case Relay HIGH is OFF/OPEN

 digitalWrite(whiteLED,HIGH);       //set initial state, in my case Relay HIGH is OFF/OPEN

 digitalWrite(redLED,HIGH);         //set initial state, in my case Relay HIGH is OFF/OPEN

}



void loop() {

//Play Sound

  if (digitalRead(pirSENSOR) == HIGH) {    //HIGH on my PIR sensor mean positive detection of movement

    digitalWrite(previousBUTTON,LOW);      //PRESS previous button which plays sound from begining

    delay(100);

    digitalWrite(previousBUTTON,HIGH);     //release previous button

    delay(100);



//LED Flash sequence

    //grab attention

    digitalWrite(whiteLED,LOW);

    delay(1000);

    digitalWrite(whiteLED,HIGH);

    delay(500);

    digitalWrite(whiteLED,LOW);

    delay(500);

    digitalWrite(whiteLED,HIGH);

    delay(9000);



    //I See you

    digitalWrite(whiteLED,LOW);

    delay(500);

    digitalWrite(whiteLED,HIGH);

    delay(100);

    digitalWrite(whiteLED,LOW);

    delay(500);

    digitalWrite(whiteLED,HIGH);

    delay(300);

    digitalWrite(whiteLED,LOW);

    delay(500);

    digitalWrite(whiteLED,HIGH);

    delay(300);

    digitalWrite(whiteLED,LOW);

    delay(300);

    digitalWrite(whiteLED,HIGH);

    delay(300);

    digitalWrite(whiteLED,LOW);

    delay(300);

    digitalWrite(whiteLED,HIGH);

    delay(300);

    digitalWrite(whiteLED,LOW);

    delay(300);

    digitalWrite(whiteLED,HIGH);

    delay(300);

    digitalWrite(whiteLED,LOW);

    delay(300);

    digitalWrite(whiteLED,HIGH);

    delay(6000);



 //children sounds

    digitalWrite(whiteLED,LOW);

    delay(300);

    digitalWrite(whiteLED,HIGH);

    delay(1000);

    digitalWrite(whiteLED,LOW);

    delay(100);

    digitalWrite(whiteLED,HIGH);

    delay(300);

    digitalWrite(whiteLED,LOW);

    delay(100);

    digitalWrite(whiteLED,HIGH);

    delay(300);

    digitalWrite(whiteLED,LOW);

    delay(100);

    digitalWrite(whiteLED,HIGH);

    delay(300);

    digitalWrite(whiteLED,LOW);

    delay(100);

    digitalWrite(whiteLED,HIGH);

    delay(1000); 

    digitalWrite(whiteLED,LOW);

    delay(600);

    digitalWrite(whiteLED,HIGH);

    delay(1400);

    digitalWrite(whiteLED,LOW);

    delay(100);

    digitalWrite(whiteLED,HIGH);

    delay(7000);



 //scream/blood sequence

    digitalWrite(redLED,LOW);

    delay(3000);

    digitalWrite(redLED,HIGH);

    delay(100);  

    

 //Stop Sound   

    digitalWrite(playBUTTON,LOW);          //pause/stop the sound playback

    delay(100);

    digitalWrite(playBUTTON,HIGH);         //release play button

    delay(60000);                          //wait 1minute before allowing to reactive

  }

  

  else {

    digitalWrite(statusLED,HIGH);          //If PIR detects nothing, maintain status light on to draw small amount of power as some USB batteries will deactivate

  }



}
  
   

  

步骤五 验证结果

下载附件中的音乐存储进设备,然后让设备工作,开始享受我们的成果吧。

鬼叫音乐

提取码:无,解压码:

下载
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论