Taula de continguts:

Dr Who Tardis Doorbell: 14 passos (amb imatges)
Dr Who Tardis Doorbell: 14 passos (amb imatges)

Vídeo: Dr Who Tardis Doorbell: 14 passos (amb imatges)

Vídeo: Dr Who Tardis Doorbell: 14 passos (amb imatges)
Vídeo: Series 5: Best Moments | Doctor Who 2024, Juliol
Anonim
Dr Who Tardis Doorbell
Dr Who Tardis Doorbell

Aquest és un projecte que vaig plantejar per crear un timbre de porta Tardis. Es tracta d’un timbre sense fil que, quan es prem, reprodueix l’àudio del programa. He gravat i utilitzat àudio de la sèrie de Matt Smith perquè és un regal per a la meva germanastra i aquest és el seu doctor preferit. Vaig fer el següent vídeo de youtube del producte acabat.

www.youtube.com/watch?v=3cZw3BYwqdc

Pas 1: demaneu peces de casos

Comanda de peces del cas
Comanda de peces del cas
Comanda de peces del cas
Comanda de peces del cas
Comanda de peces del cas
Comanda de peces del cas

El primer que s’ha de fer és el cas. Aquest és el Tardis de fusta on se situarà l’electrònica. Ho podeu trobar a Etsy. Hi ha una botiga anomenada Lazer Models que ven el model de fusta tallada per lazer. Necessitareu cola per a fusta i una mica de temps per posar-ho tot al seu lloc i enganxar-lo.

*** Quan estigueu al final de muntar el model, no enganxeu ni utilitzeu les peces superiors on hi ha la llum superior a l'espectacle. Hi anirà un led que s’encendrà més endavant. necessites aquest forat allà ****

Pas 2: forat del LED

Forat per LED
Forat per LED
Forat per LED
Forat per LED

La part superior del Tardis hauria de tenir un petit forat on deixéssim trossos. Utilitzeu un trepant per perforar un forat que travessa aquest forat fins al centre del Tardis. Hi ha una peça de fusta que s’utilitza per garantir l’estabilitat al centre i que és massissa. El forat hauria de passar per aquesta peça de manera que el compartiment amagat inferior i la part superior es connectin. Això permetrà que dos petits cables passin des del compartiment inferior cap amunt per la part superior on es col·locarà el LED.

Pas 3: Pintar

Pintura
Pintura

Aquesta va ser la part més difícil per a mi. Vaig obtenir la pintura que feia servir al vestíbul dels hobbies. La pintura oficial Tardis és difícil de trobar i les peces del Tardis de fusta són petites, de manera que necessiteu pinzells de punta fina. Vaig comprar pintura artesanal i pinzells al vestíbul dels hobbies. Necessitareu el blau per a l'exterior i el negre per a la part superior on hi ha les lletres blanques i també el blanc. Només he pintat les lletres a la part frontal, ja que és molt petit i és difícil de fer sense embolicar-me. Vaig haver de tornar algunes vegades sobre els errors amb el negre o el blau. Un cop acabades les capes de pintura, necessitareu una llauna de poliuretà. Vaig fer tres capes de pintura per aconseguir-ho com volia. A continuació, va ruixar 3 capes de poliuretà per segellar i brillar el Tardis. Això ajuda a deformar-se i també li dóna una bona brillantor.

Pas 4: perforar els forats laterals

Forats laterals
Forats laterals
Forats laterals
Forats laterals

Ara haureu de perforar i tallar uns forats al lateral de la caixa Tardis. Necessiteu un forat prou gran per al botó de calamar per alimentar-lo. També necessiteu un forat per al cable d'alimentació i el cable USB que es connectaran a la placa de so. He forat el forat inicial i després he utilitzat un ganivet exacto per allisar els forats prou grans i circulars.

Pas 5: Raspberry Pi

Raspberry Pi's
Raspberry Pi's
Raspberry Pi's
Raspberry Pi's
Raspberry Pi's
Raspberry Pi's

Ara haureu de configurar el Raspberry Pi. Per fer-ho, he comprat un cable d’alimentació Raspberry pi 3, dissipador de calor per a una Raspberry Pi, targeta micro SD de 32 GB, cables de pont femella a femella, una resistència de 10 ohm, dos botons polsers de calamar, un convertidor de potència de 10 V a 5 V, pont cables, un kit de fabricació de cables jumper i una placa de so USB i, si el teniu, un teclat sense fils amb un dongle USB us ho facilitarà. També necessitareu una segona targeta SD i Raspberry Pi. Haurà de ser un zero de Raspberry Pi i un pinout gpio per soldar.

*** la targeta SD no ha de tenir 32 GB, de 8 GB ho farà bé ***

Haureu de descarregar una imatge a la targeta SD per utilitzar-la al Raspberry Pi. A continuació, podeu utilitzar qualsevol programa gratuït per escriure la imatge a la targeta SD. Faig servir Win32DiskImager.. Aquest és un procés molt senzill. Simplement introduïu la targeta SD a la qual se li assignarà una lletra de disc. A continuació, aneu a la imatge que heu baixat i escriviu al disc i seleccioneu la targeta SD. Faig servir la imatge de Raspian al lloc. Una cerca a Google de Raspian i escriure una imatge a la targeta SD us proporcionarà tot el que necessiteu.

Un cop escrita la imatge a la targeta SD, connecteu-la al port del Raspberry Pi 3 i connecteu el cable d'alimentació per a la primera arrencada. La imatge Raspian s'obre a l'entorn de l'escriptori de píxels. Hi ha una imatge d’un quadrat negre, aquest és el terminal on treballarem els nostres scripts perquè això funcioni. feu clic sobre aquesta imatge per obrir el terminal.

*** En aquest punt, és important tenir en compte que he obtingut fitxers d'àudio gravant el programa amb el meu telèfon i després penjant els vídeos a youtube i fent servir el lloc yt2mp3 per convertir-los a mp3. A continuació, descarregueu-los al Raspberry Pi i col·loqueu-los al directori / home / pi. ho podeu fer amb la icona de la carpeta i arrossegant els fitxers des de la carpeta de descàrregues.

He adjuntat una imatge d'una placa GPIO que us indica quins pins fan què. Per simplicitat, recomano fer servir els pins que he fet. El pin 3 és el meu botó d’engegada. El pin 14 és el meu led i el pin 18 és el pin del programa. No hi ha res relacionat amb això, ja que es fa sense fils. També hi ha una imatge dels meus MP3 al directori home / pi.

Pas 6: Power Shell Script

Script de Power Shell
Script de Power Shell
Script Power Shell
Script Power Shell

La manera com funciona és que hi ha dos scripts de shell. Els scripts executen un arrencada i inicien els scripts python. Els scripts Python s'executen i esperen l'entrada des del botó o la fluctuació del voltatge del pin. Els scripts de l'intèrpret d'ordres són força senzills, el següent és el primer. que iniciarà l'script python un cop creat.

#! / bin / bash

#Botó d'encendre

cd /

cd / home / pi

sudo python3 power.py

cd /

Aquest script iniciarà power.sh que és el nom de l'script python que també crearem. La manera de crear aquest script des del terminal és escrivint cd / home / pi i després introduïu. A continuació, hem de crear un directori per als nostres scripts, així que escriviu sudo mkdir bin i, a continuació, introduïu. Això crearà una carpeta bin que podem utilitzar per als nostres scripts. A continuació, escriviu cd / home / pi / bin i després introduïu. A continuació, escriviu sudo nano power.sh i després introduïu. Això obrirà un document en blanc on s'escriurà l'script anterior. Per desar premeu cntrl i x, llavors us preguntarà si voleu desar premeu y per sí, confirmarà la ubicació i premeu Intro. Això crea l'script, però necessitem que sigui executable. Per tant, premeu cd / home / pi enter. A continuació, sudo chmod + x /home/pi/bin/power.sh i després introduïu. Això farà que el script d’energia que acabem de crear sigui executable per a tots els usuaris. Ara necessitem que aquest script s’executi en reiniciar. És a dir, s’executarà automàticament a l’inici, que iniciarà l’altre script que crearem. Escriviu cd / home / pi i introduïu. A continuació, escriviu sudo crontab -e i després introduïu. Us preguntarà quin editor heu d'utilitzar nano select, que és 2, crec que després introduïu. Aquest document ja té escrit. Només cal desplaçar-se fins a la part inferior i escriure @reboot sh /home/pi/bin/power.sh i després desar amb cntrl i x, confirmar amb y i introduir. Ara l'script de l'intèrpret s'executarà en reiniciar.

Pas 7: Power Python Script

Script Power Python
Script Power Python

Ara que l'script de l'intèrpret d'ordres està preparat per iniciar l'escriptura python, hem de crear-lo. Des del terminal escriviu cd / home / pi, a continuació, introduïu. Els scripts python no necessiten el seu propi directori per desar-los en aquest directori principal amb els fitxers mp3. Escriviu sudo nano power.py i després introduïu. Això tornarà a obrir l'editor de text en blanc. Els scripts de Python depenen molt de l'espaiat, de manera que si teniu algun error de sintaxi, serà l'espaiat.

importar RPi. GPIO com a GPIO

temps d'importació

subprocés d’importació

GPIO.setmode (GPIO. BCM)

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

oldButtonState = 1

mentre que és cert:

buttonState1 = GPIO.input (3)

if buttonState1! = oldButtonState1 i buttonState1 == False:

subprocess.call ("sudo shutdown -h now", shell = True, stdout = subprocess. PIPE, stderr = subprocess. PIPE)

oldButtonState1 = buttonState1

time.sleep (.1)

A continuació, deseu amb cntrl i x, a continuació, confirmeu amb Y i introduïu. Ara el que passarà és que l'script de l'intèrpret s'executarà a l'inici i iniciarà aquest script de Python que esperarà un botó que premeu al pin 3 per tancar el raspberry pi al mode de repòs i iniciar-lo. Ara tanqueu el raspberry pi des del terminal amb sudo shut-h ara i entreu. Un cop apagat el pi i el llum verd apagat, desconnecteu-lo. Ara connecteu l’interruptor de calamar al pin 3. El recompte de pins comença amb números baixos a l’extrem on hi ha la targeta sd. El pin 3 i el sòl són els pins 5 i 6 quan es fa el compte enrere a partir d’aquest extrem. Compte enrere 2 i després 4 i 6. Aquests dos passadors són el passador 3 i es mouen. Connecteu l'interruptor de calamar a aquests pins. Llisquen cap a la dreta. Quina va en quin pin no importa. Un cop l’interruptor estigui engegat, torneu a endollar el pi i es posarà en marxa. Atès que el nostre script s’executa a l’inici, premeu el botó per provar i hauria d’apagar-se en mode de repòs. A continuació, torneu a prémer-lo i es tornarà a engegar. Alguns dels botons es poden deixar anar si no funciona, comproveu la connexió als pins i també alguns botons estan solts i cal prémer-los i mantenir-los premuts un segon perquè la connexió estigui enrasada. Podeu provar-ho diverses vegades.

Pas 8: cables de pont LED

Cables de pont LED
Cables de pont LED
Cables de pont Led
Cables de pont Led
Cables de pont Led
Cables de pont Led

Ara podem executar aquest cable però encara no es connecta. El led petit que heu comprat en surt dos passadors d'alumini. Com més llarg és el positiu. Connecteu la resistència de 10 ohms a l’extrem positiu. A continuació, agafeu els cables de pont que heu comprat i connecteu-ne un al positiu i un al negatiu. A continuació, passeu els cables pel forat situat a la part superior de la caixa Tardis pel forat central i cap al compartiment inferior. Podeu utilitzar cinta elèctrica si voleu mantenir una mica això. No és realment necessari. Res d’això és molt pesat. Tingueu cura de no estirar-lo amb força, sortiran. Encara no ho connectem al Raspberry pi.

Pas 9: Dr-who Shell Script

Dr-who Shell Script
Dr-who Shell Script

Aquest és l’escript de shell igual que l’altre que s’executarà en reiniciar i iniciar l’escriptura Python Dr-who que escriurem. Això es fa exactament de la mateixa manera. des del terminal cd / home / pi / bin i introduïu. A continuació, sudo nano dr-who.sh i introduïu. A continuació, escriviu el següent:

#! / bin / bash

#dr qui s'inicia l'script

cd /

cd / home / pi

sudo python3 dr-who.py

cd /

A continuació, cntrl i x i després Y després introduïu. A continuació, premeu cd / home / pi i després introduïu.

A continuació, sudo chmod + x /home/pi/bin/dr-who.sh i després introduïu. A continuació, sudo crontab -e desplaceu-vos fins a la part inferior i escriviu

@reboot sh /home/pi/bin/dr-who.sh, a continuació, deseu amb cntrl i x, després Y i, a continuació, introduïu. Ara hi hauria d’haver dues línies al crontab que iniciïn tant l’escriptura de shell d’energia com l’escriptura de shell dr-who a l’inici.

*** Mentre estem aquí, hi ha dues entrades més per afegir que entraran en joc més tard **

introdueixi la següent:

@reboot sudo systemct1 habilita el pigpiod

@reboot sudo systemct1 inicia pigpiod

A continuació, guardeu que el pigpiod és un paquet necessari per utilitzar el botó sense fils que farem servir. No està instal·lat per defecte. Després de desar la sortida al terminal. Premeu sudo apt-get install pigpiod i després introduïu. Heu d’estar connectat a Internet per descarregar-lo. Això es pot fer des de l’escriptori del Raspberry pi.

Pas 10: Dr-who Python Script

Dr-who Python Script
Dr-who Python Script
Dr-who Python Script
Dr-who Python Script
Dr-who Python Script
Dr-who Python Script

Aquesta és la veritable tripa del timbre. Aquest és el programa principal que s’executa. Això funciona al pin 18, però la sortida és al pin 14 i 18. Aquest programa farà que el led s'encengui, llavors es seleccionarà un mp3 que es reproduirà i el led tornarà a parpellejar. Els noms dels fitxers dels mp3 són exactament el que els he anomenat per recordar-los. Podeu anomenar-los com vulgueu. Recordeu que no poden tenir cap ordre python al nom, per exemple, he anomenat un fitxer amb la paraula sort al nom i confonia python i així es va canviar. Recordeu des del terminal cd / home / pi i després introduïu. A continuació, introduïu sudo nano dr-who.py. Al text introduïu el següent script que s’escriurà.

** Aquest és el meu script, el vostre serà diferent si teniu un nombre diferent de fitxers MP3 o si es nomenen de manera diferent **

importar RPi. GPIO com a GPIO

temps d'importació

importació aleatòria

import os

GPIO.setmode (GPIO. BCM)

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

def randomnumber ():

nombre = random.randint (1, 6

*** selecciona un número aleatori entre 1 i 6, ha de canviar si el número de fitxers MP3 és diferent ***

si número == 1:

os.system ('mpg123 thedoctor.mp3')

time.sleep (1)

número elif == 2:

os.system ('mpg123 opening.mp3')

time.sleep (1)

número elif == 3:

os.system ('mpg123 thecrack.mp3')

time.sleep (1)

número elif == 4:

os.system ('mpg123 bowties.mp3')

time.sleep (1)

número elif == 5:

os.system ('mpg123 exterminated.mp3')

** El nom del MP3 pot ser diferent depèn del que els hagueu anomenat **

time.sleep (1)

en cas contrari:

os.system ('mpg123 timespace.mp3')

time.sleep (1)

GPIO.setwarnings (fals)

GPIO.setup (14, GPIO. OUT) ** també defineix la sortida al pin 14 **

GPIO.output (14, fals) ** El led està al pin 14 el desactiva inicialment **

mentre que és cert:

GPIO.output (14, fals)

input_state = GPIO.input (18) ** el pin 18 és l'entrada **

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

GPIO.output (14, cert)

time.sleep (1)

GPIO.output (14, fals)

time.sleep (1)

número aleatori ()

GPIO.output (14, cert)

time.sleep (1)

GPIO.output (14, fals)

time.sleep (.5)

GPIO.output (14, cert)

time.sleep (1)

GPIO.output (14, fals)

El que fa això és que quan el pin 18 s’interactua amb el led del pin 14 de la part superior del tardis parpellejarà, llavors se seleccionarà un fitxer d’àudio que es reproduirà i el led parpellejarà dues vegades i s’apagarà. Això és el que passarà cada vegada que es toqui el timbre. També necessitarem l'adreça IP d'aquest raspberry pi per a l'script de l'altre, de manera que es rebrà el senyal sense fils, així que assegureu-vos de connectar el raspberry pi al vostre wifi a través de l'escriptori GUI i, a continuació, torneu al terminal i introduïu sudo hostname -Després entro. escriviu l'adreça IP indicada que la necessitareu més endavant. Ara també podeu connectar els cables del led al pin 14, seguiu el pin GPIO per al pin 14 i el pin de terra que es troba en diagonal.

Pas 11: botó frontal Raspberry Pi

Botó frontal Raspberry Pi
Botó frontal Raspberry Pi
Botó frontal Raspberry Pi
Botó frontal Raspberry Pi

El Raspberry pi zero necessita fer algunes coses. primer cal soldar els pins. Utilitzeu un soldador i una mica de soldadura per soldar els pins per obtenir un sòlid connectat. Hi ha una gran quantitat de recursos sobre com fer-ho en línia. Youtube és fantàstic. Un cop soldats els pins a la targeta sd, necessitarà la imatge raspiana escrita com abans. Aquí no necessitarem cap botó d’engegada. necessitarem un script d'intèrpret d'ordres que s'executi de nou a l'arrencada i iniciarà el nostre script python que senyalitzi sense fils el pin 18 de l'altre raspberry pi per executar el nostre programa.

Pas 12: guió de la closca del timbre

Guió de la closca del timbre
Guió de la closca del timbre
Guió de la closca del timbre
Guió de la closca del timbre

Aquest guió serà gairebé idèntic als altres dos. Des del terminal, introduïu cd / home / pi i, a continuació, introduïu. sudo mkdir / home / pi / bin i, a continuació, introduïu. cd / home / pi / bin i després introduïu. sudo nano doorbell.sh i després introduïu.

#! / bin / bash

cd /

cd home / pi

sudo python3 doorbell.py

cd /

A continuació, deseu amb cntrl i x i després introduïu Y. A continuació, sudo chmod + x /home/pi/bindoorbell.sh i després introduïu. després cd / home / pi i després introduïu. A continuació, sudo crontab -e, a continuació, introduïu seleccioneu nano i introduïu. A la part inferior, introduïu

@reboot sh /home/pi/bin/doorbell.sh i després deseu amb cntrl i x i després introduïu Y. Això executarà el script de shell a l'inici i, a continuació, crearem un script de python amb el timbre davanter connectat que, quan es prem, senyalitzarà l'altre raspberry pi.

Pas 13: Script Python de campaneta

Script Python del timbre
Script Python del timbre

Aquest és el guió que permetrà la comunicació sense fils entre el timbre davanter i el timbre que hem creat. El guió per executar l'àudio a la primera Raspberry pi s'executa basat en baixa tensió. Està configurat com a alt, de manera que un cop canviat s'executa, el guió parpelleja la llum i reprodueix l'àudio. Aquest script envia un senyal baix a aquell Raspberry pi i a aquest pin el torna a posar en alt per tal que s’executi una vegada quan es prem. El guió és el següent:

des del LED d'importació gpiozero

des del botó d'importació gpiozero

des de gpiozero.pins.pigpio importar PiGPIOFactory

des de la pausa d’importació del senyal

temps d'importació

factory = PiGPIOFactory (host = '192.168.1.13')

led = LED (18, pin_factory = factory)

button = Botó (3)

mentre que és cert:

si es pressiona button.is:

led.off ()

led.on ()

en cas contrari:

led.on ()

El mòdul LED no s’utilitza per al led, sinó que només indica aquest pin al primer Raspberry pi que executa el programa. Una vegada que es desa al directori / hom / pi i ja que l'intèrpret d'ordres per iniciar-lo ja s'ha creat. Ara podem apagar els dos Raspberry pi amb apagat sudo -h ara. A continuació, cal activar primer el primer Raspberry pi, que a causa de l'entrada crontab iniciarà el pigpiod que ha de començar primer. A continuació, es pot iniciar el segon pi de gerds per al timbre. Després, sempre que la soldadura del botó físic es faci correctament i es connecti correctament. Si premeu un botó, s'iniciarà el led i l'àudio.

*** Ara cal un altaveu o l’àudio no funcionarà. He trobat una caixa de ressonància en línia que treu energia del Raspberry pi a través del port USB. El que és perfecte perquè no necessiti el seu propi endoll. Ho recomano. La sortida d’àudio es fa mitjançant el connector de 3,5 mm. La taula de ressonància es connectarà a la campaneta Raspberry pi a través del forat que hem fet a la caixa i un cable entrarà al connector de 3,5 mm i l’altre al port USB. L’audi predeterminat és el port HDMI, de manera que cal forçar el pi a la presa de 3,5 mm. Això es fa des del terminal amb sudo raspi-config i després introduïu. Apareixerà un menú, seleccioneu opcions avançades, després àudio, després 3,5 mm, després deseu i sortiu. Un cop ho hàgiu fet i l’altaveu estigui endollat, podreu provar la campanada unes quantes vegades. Ja heu acabat de connectar el timbre Raspberry pi a la casa.

Pas 14: convertidor de potència

Convertidor de potència
Convertidor de potència
Convertidor de potència
Convertidor de potència

Aquest és l’últim pas. Primer, assegureu-vos que la campaneta Raspberry pi estigui activada. Darrere del timbre actual hi ha dos cables positiu i negatiu. La tensió és de 10 o 12 volts. El que necessiteu és un convertidor de potència que el converteixi en 5 volts, que és el que fa servir Raspberry pi. Si ens fixem en els extrems dels cables de pont que hem utilitzat, els extrems són d'alumini femella i mascle amb una tapa. Podeu obtenir aquests extrems sols en kits per crear els vostres propis cables. Trieu de quin costat vulgueu ser femella i home la banda que tornin els cables per exposar el coure. A continuació, poseu els extrems femenins als cables de la casa o viceversa. A continuació, el convertidor de potència també té dos cables. Vermell per a positiu i negre per a negatiu. Ara fem el mateix que tira els cables per deixar al descobert el coure. Col·loqueu-hi els extrems masculins i utilitzeu unes alicates per arrimar-les. Podeu col·locar-hi les fundes de plàstic si voleu. A continuació, podeu connectar el convertidor d’alimentació als cables de la casa. Positiu a positiu i negatiu a negatiu. Podeu gravar aquesta connexió amb una cinta elèctrica perquè quedi millor. Si es fa correctament quan connecteu l'extrem 5v al Raspberry pi, s'encendrà. Podeu provar que el timbre funcioni prement el botó. S'hauria d'iniciar l'àudio de la campanada. Un cop ho faci, podeu col·locar el convertidor de potència, el timbre Raspberry pi tot dins del forat de la paret darrere del timbre anterior. Feu servir cargols per cargolar la nova tapa del timbre. Ara, quan algú prem el timbre del davant, el Tardis parpellejarà, reproduirà l'àudio i tornarà a parpellejar. Això es pot fer tècnicament amb qualsevol àudio i qualsevol cas. El següent que construiré serà un de Darth Vader. Feliç edifici

Recomanat: