可播放音频的无线门铃的制作教程

电子说

1.3w人已加入

描述

第1步:订购外壳零件

首先需要做的是案例。这是电子设备内部的木制Tardis。你可以在Etsy找到这个。有一家名为Lazer Models的商店出售lazer切割木制模型。您将需要木胶和一点时间将所有东西放在适当的位置并将它们粘合在一起。

***当您将模型放在一起时,请不要粘贴或使用顶部灯光在展示中的顶部部件。一个led会在这里点亮,然后点亮。你需要那个洞****

第二步:LED钻孔

Tardis的顶部应该有一个小洞,我们留下了碎片。使用钻头钻一个穿过该孔到达Tardis中心的孔。在中间有一块用于稳定的木制件,它是坚固的。钻孔应穿过这个部分,以便底部隐藏的隔间和顶部连接。这将允许两根小线从底部隔间向上延伸到顶部,LED将放置在顶部。

第3步:绘画

这对我来说是最困难的部分。我从业余爱好大厅得到了我用过的油漆。官方的Tardis油漆很难找到,木制Tardis上的碎片很小,所以你需要精细的油漆刷。我在业余爱好大厅买了工艺油漆和刷子。您将需要外部的蓝色和白色字体的顶部的黑色以及白色。我只画了正面的字母,因为它非常小而且很难搞乱。我不得不用黑色或蓝色回过头几次错误。涂完漆后你需要一罐聚氨酯。我做了三层油漆,以我想要的方式得到它。然后喷涂3层聚氨酯,以密封和光泽Tardis。这有助于翘曲,也给它一个很好的光泽。

步骤4:钻侧孔

现在您需要钻孔和切割在Tardis案件的一侧有几个洞。你需要一个足够大的洞,用于鱿鱼按钮的动力。您还需要一个用于连接Sound板的电源线和USB线的孔。我钻了最初的洞,然后使用一把精确的刀子将孔打得足够圆和圆形。

第5步:Raspberry Pi的

现在你将需要设置Raspberry Pi的。为此,我购买了Raspberry pi 3,电源线,Raspberry Pi散热器,32gb micro sd卡,母对母跳线,10欧姆电阻,两个包装鱿鱼按钮,10v至5V电源转换器,跳线电缆和跳线电缆制造商套件,以及USB音板,如果你有它,带有USB加密狗的无线键盘使这更容易。您还需要第二张Raspberry Pi和SD卡。这将需要一个Raspberry Pi零和一个gpio引脚输入焊接。

*** SD卡不需要32gb一个8gb就行了***

您需要将图像下载到SD卡上才能在Raspberry Pi中使用。然后你可以使用任何免费软件将图像写入SD卡。我使用Win32DiskImager 。.这是一个非常简单的过程。您只需插入将分配驱动器号的SD卡。然后浏览到下载的图像并写入磁盘,然后选择SD卡。我在那里使用Raspian图像。谷歌搜索Raspian并将图像写入SD卡将为您提供所需的一切。

将图像写入SD卡后,将其插入Raspberry Pi 3的端口并插入电源线进行首次启动。 Raspian图像将打开像素桌面环境。有一个黑色方块的图像,这是我们将使用我们的脚本来完成这项工作的终端。单击该图像以打开终端。

***此时请务必注意我通过手机录制节目然后将视频上传到youtube并使用yt2mp3网站将其转换为mp3来获取音频文件。然后将它们下载到Raspberry Pi并将它们放在/home/pi目录中。您可以使用文件夹图标并从下载文件夹中拖动文件来执行此操作。

我附上了一张GPIO板图片,告诉你哪些引脚可以做什么。为简单起见,我建议使用我做过的针脚。针脚3是我的电源按钮。引脚14是我的引脚,引脚18是程序引脚。这没有任何关系,因为这是无线完成的。在home/pi目录中还有我的MP3图像。

第6步:Power Shell脚本

这种方式有两个shell脚本。脚本运行启动并启动python脚本。 python脚本运行并等待按钮按下或引脚电压波动输入。 shell脚本非常简单,以下是第一个。这将在创建后启动python脚本。

#!/bin/bash

#Power按钮

cd/

cd/home/pi

sudo python3 power.py

cd/

这个脚本将启动power.sh,这是我们也将创建的python脚本的名称。我们从终端创建这个脚本的方法是输入cd/home/pi然后输入。然后我们需要为脚本创建一个目录,所以输入sudo mkdir bin然后输入。这将创建一个bin文件夹,我们可以将其用于脚本。然后输入cd/home/pi/bin然后输入。然后键入sudo nano power.sh然后输入。这将打开一个空白文档,其中将输入上面的脚本。要保存按cntrl和x然后它将询问您是否要保存按y为是然后它将确认位置并按Enter键。这会创建脚本,但我们需要它可执行。所以按cd/home/pi进入。然后sudo chmod + x/home/pi/bin/power.sh然后输入。这将使我们刚创建的power脚本可执行给所有用户。现在我们需要这个脚本在重启时运行。这意味着它将在启动时自动运行,这将启动我们将创建的其他脚本。输入cd/home/pi然后输入。然后键入sudo crontab -e然后输入。它会询问你使用哪个编辑器选择纳米2,我相信然后进入。这份文件已经写好了。只需滚动到底部并输入@reboot sh/home/pi/bin/power.sh然后用cntrl和x保存,用y确认然后输入。现在shell脚本将在重启时运行。

第7步:Power Python脚本

现在shell脚本已准备好启动我们需要的python脚本创建python脚本。从终端类型cd/home/pi然后输入。 python脚本不需要自己的目录,将它们保存到这个主目录中,并且mp3很好。输入sudo nano power.py然后输入。这将再次打开空白文本编辑器。 python中的脚本是非常依赖于间距的,所以如果你得到任何语法错误,它的间距。

将RPi.GPIO导入GPIO

导入时间

导入子流程

GPIO.setmode(GPIO.BCM)

GPIO.setup(3,GPIO.IN,pull_up_down = GPIO.PUD_UP)

oldButtonState = 1

而为True:

buttonState1 = GPIO.input(3)

如果buttonState1!= oldButtonState1且buttonState1 == False:

subprocess.call(“sudo shutdown -h now”,

shell = True,stdout = subprocess.PIPE,stderr = subprocess.PIPE)

oldButtonState1 = buttonState1

time.sleep(.1)

然后用cntrl和x保存,然后用Y确认,然后输入。现在将发生的事情是shell脚本将在启动时运行并启动此python脚本,它将等待按钮3按下按钮以关闭覆盆子pi进入睡眠模式并启动它。现在用sudo shutdown -h关闭覆盆子pi从终端关闭并进入。一旦关闭pi并且绿灯熄灭,然后拔下它。现在将鱿鱼开关连接到引脚3.引脚数从SD卡末端的低数字开始。从该端向下计数时,引脚3和接地是引脚5和6。倒数2然后4然后6.这两个引脚是引脚3和地。将鱿鱼开关插入这些引脚。他们向右滑动。哪个引脚无关紧要哪一个。一旦开关打开,将pi重新插入,它将启动。由于我们的脚本在启动时运行,按下按钮进行测试,它应该关闭进入睡眠模式。然后再次按它,它将再次启动。如果不起作用,某些按钮可能松动,检查引脚上的连接,还有一些按钮松动,需要按下并保持一秒钟才能使连接齐平。你可以测试几次。

步骤8:LED跳线

现在我们可以运行这根电缆但它还没有连接。你买的小led有两个铝针从它上面脱落。积极的时间越长。将10欧姆电阻连接到正端。然后拿走你买的跳线,将一个连接到正极,一个连接到负极。然后将电缆穿过Tardis机箱顶部的孔穿过中间孔并进入底部隔间。如果你想把它们放在一起,你可以使用电工胶带。但它并不是真的需要。这些都不是很重。小心不要拉扯它们会弹出来。我们还没有将它连接到Raspberry pi。

第9步:Dr-who Shell脚本

这是shell脚本,就像另一个脚本脚本一样将在重新启动时运行并启动我们将编写的Dr-who python脚本。这是以完全相同的方式完成的。从终端cd/home/pi/bin进入。然后sudo nano dr-who.sh并进入。然后键入以下内容:

#!/bin/bash

#dr启动脚本

cd/

cd/home/pi

sudo python3 dr-who.py

cd/

然后按cntrl和x然后输入Y.然后按cd/home/pi然后输入。

然后sudo chmod + x/home/pi/bin/dr-who.sh然后输入。然后sudo crontab -e然后滚动到底部并键入

@reboot sh/home/pi/bin/dr-who.sh然后用cntrl和x然后Y保存然后输入。 crontab上现在应该有两行在启动时启动power shell脚本和dr-who shell脚本。

***虽然我们在这里还有两个要添加的条目以后进行播放**

输入以下内容:

@reboot sudo systemct1 enable pigpiod

@reboot sudo systemct1 start pigpiod

然后保存pigpiod是使用我们将使用的无线按钮所需的包。默认情况下不安装它。保存退出终端后。按sudo apt-get install pigpiod然后输入。您必须连接到互联网才能下载。这可以从Raspberry pi的桌面上完成。

第10步:Dr-who Python脚本

这是门铃真正的胆量。这是运行的主程序本身。它在引脚18上运行,但输出在引脚14和18上。此程序将使LED亮起,然后将选择一个mp3,它将播放然后LED将再次闪烁。 mp3的文件名正是我为了记住它们而命名的文件名。您可以随心所欲地命名它们。请记住,他们不能在名称中使用任何python命令,例如我在名称中使用单词sort命名了一个文件并且它混淆了python,因此它被更改了。记得从终端cd/home/pi然后输入。然后sudo nano dr-who.py然后进入。在文本中输入将要编写的以下脚本。

**这是我的脚本,如果你有不同数量的MP3,或者它们的名称不同,你的脚本会有所不同**

将RPi.GPIO作为GPIO导入

导入时间

导入随机

导入os

GPIO.setmode(GPIO.BCM )

GPIO.setup(18,GPIO.IN,pull_up_down = GPIO.PUD_UP)

def randomnumber():

number = random.randint(1 ,6

***选择1到6之间的随机数,如果您的MP3数量不同则需要更改***

如果数字== 1:

os.system(‘mpg123 thedoctor.mp3’)

time.sleep(1)

elif number = = 2:

os.system(‘mpg123 opening.mp3’)

time.sleep(1)

elif number == 3:

os.system(‘mpg123 thecrack.mp3’)

time.sleep(1)

elif number == 4:

os.system(‘mpg123 bowties.mp3’)

time.sleep(1)

elif number = = 5:

os.system(‘mpg123 exterminated.mp3’)

** MP3名称可能会有所不同取决于你的名字**

time.sleep(1)

else:

os.system(‘mpg123 timespace.mp3’)

time.sleep(1)

GPIO.setwarnings(False)

GPIO.setup(14,GPIO.OUT)**也将输出设置到引脚14 **

GPIO.output(14,False)** Led在引脚14上设置为最初关闭**

而True:

GPIO.output( 14,False)

input_state = GPIO.input(18)**引脚18是输入**

if(GPIO.input(18)== False):

GPIO.output(14,True)

time.sleep(1)

GPIO.output(14,False)

time.sleep(1)

randomnumber()

GPIO.output(14,True)

time.sleep(1)

GPIO.output(14,False)

time.sleep (.5)

GPIO.output(14,True)

time.sleep(1)

GPIO.output(14,False)

当引脚18与顶部引脚14上的LED相互作用时,这是做什么的tardis将闪烁,然后选择一个音频文件并播放,然后LED将闪烁两次然后熄灭。这是门铃响起时会发生的事情。我们还需要这个覆盆子pi的IP地址用于另一个脚本,这样就会收到无线信号,所以一定要通过GUI桌面将覆盆子pi连接到你的wifi然后再回到终端输入sudo hostname - 然后进入。记下你需要的IP地址。您现在也可以将电缆插入到引脚14的引脚,按照引脚14的GPIO引脚和与其对角的接地引脚。

步骤11:前按钮Raspberry Pi

Raspberry pi零需要一些做的事情。首先需要焊接引脚。使用烙铁和一些焊料焊接引脚,以实现牢固连接。关于如何在线完成这项工作有很多资源。 Youtube很棒。一旦引脚焊接在SD卡中,就需要像之前一样写入锉刀图像。我们这里不需要电源按钮。我们将需要一个再次启动时运行的shell脚本,它将启动我们的python脚本,它将无线地发信号通知另一个覆盆子pi上的引脚18来运行我们的程序。

步骤12:门铃外壳脚本

此脚本几乎与另外两个。从终端输入cd/home/pi然后输入。 sudo mkdir/home/pi/bin然后进入。 cd/home/pi/bin然后输入。 sudo nano doorbell.sh然后进入。

#!/bin/bash

cd/

cd home/pi

sudo python3 doorbell.py

cd/

然后用cntrl和x保存然后输入Y.然后sudo chmod + x/home/pi/bindoorbell.sh然后进入。然后cd/home/pi然后进入。然后sudo crontab -e然后输入select nano然后输入。在底部输入

@reboot sh/home/pi/bin/doorbell.sh然后用cntrl和x保存然后输入Y.这将在启动时运行shell脚本,然后我们将创建一个连接前门铃的python脚本,按下时将发出另一个覆盆子pi的信号。

步骤13:门铃Python脚本

这是要在前端之间启用无线通信的脚本门铃和我们创造的钟声。在第一个Raspberry pi上运行音频的脚本基于低电压运行。它设置为高,所以一旦改变它运行脚本闪烁灯光并播放音频。此脚本向Raspberry pi发送一个低信号,然后将该引脚设置为高电平,以便在按下时运行一次。该脚本如下:

来自gpiozero导入LED

来自gpiozero导入按钮

来自gpiozero.pins.pigpio导入PiGPIOFactory

来自信号导入暂停

导入时间

factory = PiGPIOFactory(host =‘192.168.1.13’)

led = LED(18,pin_factory = factory)

button =按钮(3)

while:

如果button.is_pressed:

led.off()

led.on()

否则:

led.on()

LED模块没有被用于led,它只是在第一个运行程序的Raspberry pi上发出信号。一旦将其保存到/hom/pi目录,并且因为已经创建了启动它的shell。我们现在可以用sudo shutdown -h来关闭两个Raspberry pi。然后需要首先打开第一个Raspberry pi,因为crontab条目将启动需要首先启动的pigpiod。然后可以启动门铃的第二个覆盆子pi。然后,只要您正确完成物理按钮的焊接并插入正确。按下按钮将启动LED和音频。

***现在需要扬声器或音频不起作用。我在网上发现了一个音板,通过USB端口从Raspberry pi中获取电力。这是完美的,所以它不需要自己的插头。我推荐它。音频输出通过3.5毫米插孔。音板将通过我们在机箱中制作的孔插入铃声覆盆子pi,一根电线将进入3.5毫米插孔,另一根电线将插入USB。默认的audi是HDMI端口,因此您需要将pi强制插入3.5 mm插孔。这是从终端用sudo raspi-config然后输入完成的。将弹出一个菜单,选择高级选项,然后选择3.5 mm音频,然后保存并退出。一旦你完成了这个并且插入了扬声器,你可以测试你的铃声几次,你完成后唯一剩下的就是将门铃Raspberry pi连接到房子里。

Step 14:电源转换器

这是最后一步。首先确保编钟的Raspberry pi已打开。在你目前的门铃后面有两条线正负两条。电压为10或12伏。你需要的是一个功率转换器,将其转换为5伏特,这是Raspberry pi使用的。如果你看看我们使用的跨接电缆的末端是端子是母头和铝制的,并且盖子上有盖子。您可以在套件中自行获取这些目的,以创建自己的电缆。挑选你想成为女性和男性的那一面,剥去电线以露出铜。然后将母端放在家用电线上,反之亦然。然后电源转换器也有两根电线。红色表示正面,黑色表示负面。现在我们做同样的事情剥去电线以露出铜。将公端放在它们上面并用钳子将它压扁。如果需要,可以放置塑料盖。然后,您可以将电源转换器插入室内电线。积极到正面,负面到负面。您可以使用电动胶带粘贴此连接,以便更好地固定。如果在将5v端插入Raspberry pi时正确完成,它将打开电源。按下按钮可以测试门铃的工作情况。铃声音频应该启动。一旦它完成,您可以将电源转换器,门铃Raspberry pi全部放在您之前门铃后面的墙洞内。用螺丝拧上新的门铃盖。现在,只要有人按下前门铃,Tardis就会闪烁,然后播放音频然后再次闪烁。从技术上讲,这可以通过任何音频和任何情况来完成。我将构建的下一个将是Darth Vader。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分