Innehållsförteckning:

Dr Who Tardis Doorbell: 14 Steg (med bilder)
Dr Who Tardis Doorbell: 14 Steg (med bilder)

Video: Dr Who Tardis Doorbell: 14 Steg (med bilder)

Video: Dr Who Tardis Doorbell: 14 Steg (med bilder)
Video: Doctor Who News LIVESTREAM: Millie Gibson "Dropped"? + 7th Doctor's Last Day + Fugitive Figure 2024, Juli
Anonim
Dr Who Tardis Doorbell
Dr Who Tardis Doorbell

Detta är ett projekt jag kom på för att skapa en Tardis dörrklocka. Det är en trådlös dörrklocka som när den trycks spelar ljud från showen. Jag har spelat in och använt ljud från Matt Smith -serien eftersom det här är en present till min styvsyster och det är hennes favorit dr. Jag gjorde följande youtube -video av den färdiga produkten.

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

Steg 1: Beställ fodral

Beställ fodral
Beställ fodral
Beställ fodral
Beställ fodral
Beställ fodral
Beställ fodral

Det första som behöver göras är fallet. Detta är trä Tardis som elektroniken kommer att sitta inuti. Du hittar det här på Etsy. Det finns en butik som heter Lazer Models som säljer laserskuren trämodell. Du behöver trälim och lite tid för att sätta allt på plats och limma ihop det.

*** När du är i slutet av att sätta ihop modellen ska du inte limma eller använda toppstyckena där toppljuset går i showen. En LED kommer att gå här som tänds senare. du behöver det hålet där ****

Steg 2: Borrhål för LED

Borrhål för LED
Borrhål för LED
Borrhål för LED
Borrhål för LED

Toppen av Tardis ska ha ett litet hål där vi lämnade bitar utanför. Använd en borr för att borra ett hål som går genom det hålet till mitten av Tardis. Det finns en träbit som används för stabilitet i mitten som är solid. Borrhålet ska gå igenom denna bit så att det nedre dolda facket och toppen ansluts. Detta gör att två små trådar kan gå från det nedre facket upp genom toppen där lysdioden ska placeras.

Steg 3: Måla

Målning
Målning

Detta var den svåraste delen för mig. Jag fick färgen jag använde från hobbylobbyn. Den officiella Tardis -färgen är svår att hitta och bitarna på trä -Tardis är små så du behöver fina penslar. Jag köpte hantverksfärg och penslar i hobbylobbyn. Du kommer att behöva den blåa på utsidan och den svarta på toppen där den vita bokstaven är och även den vita. Jag målade bara bokstäverna på framsidan eftersom det är väldigt litet och svårt att göra utan att förstöra. Jag var tvungen att gå tillbaka över misstag med det svarta eller blåa några gånger. När färgen är färdiga behöver du en burk polyuretan. Jag gjorde tre lager färg för att få det som jag ville. Spraya sedan 3 lager polyuretan för att täta och glansa Tardis. Detta hjälper till med vridning och ger det också en fin glans.

Steg 4: Borra sidohål

Borr sidhål
Borr sidhål
Borr sidhål
Borr sidhål

Nu måste du borra och skära några hål i sidan av Tardis -fodralet. Du behöver ett hål som är tillräckligt stort för tryckknappen för bläckfisken för kraften. Du behöver också ett hål för nätsladden och USB -kabeln som ansluts till ljudkortet. Jag borrade det första hålet och använde sedan en exacto -kniv för att släta ut hålen tillräckligt stora och cirkulära.

Steg 5: Raspberry Pi

Hallon Pi
Hallon Pi
Hallon Pi
Hallon Pi
Hallon Pi
Hallon Pi

Nu måste du konfigurera Raspberry Pi. För att göra detta köpte jag en Raspberry pi 3, nätsladd, kylfläns för en Raspberry Pi, 32 GB micro sd -kort, kvinnliga till kvinnliga bygelkablar, ett 10 ohm motstånd, två packa bläckfisk tryckknappar, en 10v till 5v strömomvandlare, bygel kablar och en bygelkabelsats, och ett USB -ljudkort och om du har det gör ett trådlöst tangentbord med en USB -dongle detta enklare. Du behöver också ett andra Raspberry Pi och SD -kort. Detta måste vara en Raspberry Pi -noll och en gpio -pinout för att löda in.

*** SD -kortet behöver inte vara 32 GB och 8 GB kommer att gå bra ***

Du måste ladda ner en bild till SD -kortet för att använda i Raspberry Pi. Sedan kan du använda valfritt freeware för att skriva bilden till sd -kortet. Jag använder Win32DiskImager.. Detta är en ganska rak process. Du sätter bara in sd -kortet som kommer att tilldelas en enhetsbokstav. Bläddra sedan till bilden du laddade ner och skriv till disken och välj sedan SD -kortet. Jag använder Raspian -bilden på webbplatsen. En google -sökning av Raspian och skriv bild till SD -kort ger dig allt du behöver.

När bilden är skriven till SD -kortet ansluter du den till porten på Raspberry Pi 3 och ansluter nätsladden för första start. Raspian -bilden öppnas för skrivbordsmiljön för pixlar. Det finns en bild av en svart ruta detta är terminalen där vi kommer att arbeta med våra skript för att få det att fungera. klicka på den bilden för att öppna terminalen.

*** Vid denna tidpunkt är det viktigt att notera att jag fick ljudfiler genom att spela in programmet med min telefon och sedan ladda upp videorna till youtube och använda yt2mp3 -sajten för att konvertera dem till mp3 -filer. Ladda sedan ner dem till Raspberry Pi och placera dem i katalogen /home /pi. du kan göra detta med mappikonen och dra filerna över från nedladdningsmappen.

Jag har bifogat en bild av ett GPIO -kort som berättar vilka pins som gör vad. För enkelhetens skull rekommenderar jag att du använder de stift som jag gjorde. Pin 3 är min strömbrytare. Pin 14 är min led och pin 18 är programstiftet. Det finns inget kopplat till detta eftersom detta görs trådlöst. Det finns också en bild av mina MP3 -filer i home/pi -katalogen.

Steg 6: Power Shell -skript

Power Shell Script
Power Shell Script
Power Shell Script
Power Shell Script

Hur det fungerar är att det finns två skalskript. Skripten startar och startar python -skripten. Python -skripten körs och väntar på ingång antingen från knapptryckningen eller fluktuationer i stiftspänningen. Skalskripten är ganska enkla följande är det första. som kommer att starta python -skriptet en gång skapat.

#!/bin/bash

#Strömknappen

CD /

cd /home /pi

sudo python3 power.py

CD /

Detta skript kommer att starta power.sh som är namnet på python -skriptet som vi också kommer att skapa. Sättet vi skapar detta skript från terminalen är genom att skriva cd /home /pi och sedan ange. Då måste vi skapa en katalog för våra skript så skriv sudo mkdir bin och skriv sedan in. Detta skapar en bin -mapp som vi kan använda för våra skript. Skriv sedan cd/home/pi/bin och skriv sedan in. Skriv sedan sudo nano power.sh och ange sedan. Detta öppnar ett tomt dokument där manuset ovan kommer att skrivas in. För att spara trycker du på cntrl och x då frågar det om du vill spara tryck på y för ja så bekräftar det platsen och trycker på enter. Detta skapar manuset men vi behöver det för att vara körbart. Så tryck på cd /home /pi enter. Sedan sudo chmod+x /home/pi/bin/power.sh och ange sedan. Detta kommer att göra power script vi just skapade körbara för alla användare. Nu behöver vi detta skript för att köra vid omstart. Det betyder att det automatiskt körs vid start vilket startar vårt andra skript som vi kommer att skapa. Skriv cd /home /pi och skriv sedan in. Skriv sedan sudo crontab -e och skriv sedan in. Det kommer att fråga dig vilken redaktör du ska använda välj nano som är 2 tror jag sedan ange. Det finns redan skriv i det här dokumentet. Bläddra bara till botten och skriv @reboot sh /home/pi/bin/power.sh och spara sedan med cntrl och x, bekräfta med y och ange. Nu kommer skalskriptet att köras vid omstart.

Steg 7: Power Python Script

Power Python Script
Power Python Script

Nu när skalskriptet är klart för att starta python -skriptet måste vi skapa python -skriptet. Från terminalen skriver du cd /home /pi och anger sedan. Python -skripten behöver inte en egen katalog och sparar dem i denna huvudkatalog med mp3 -skivor är bra. Skriv sudo nano power.py och ange sedan. Detta öppnar den tomma textredigeraren igen. Skripten i python är väldigt avståndsberoende, så om du får några syntaxfel är det avståndet.

importera RPi. GPIO som GPIO

importtid

importera delprocess

GPIO.setmode (GPIO. BCM)

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

oldButtonState = 1

medan det är sant:

buttonState1 = GPIO.input (3)

if buttonState1! = oldButtonState1 och buttonState1 == Falskt:

subprocess.call ("sudo avstängning -h nu", shell = True, stdout = subprocess. PIPE, stderr = subprocess. PIPE)

oldButtonState1 = buttonState1

tid. sover (.1)

Spara sedan med cntrl och x bekräfta sedan med Y och ange. Nu kommer det att hända att skalskriptet körs vid start och startar detta python -skript som väntar på ett knapptryck på stift 3 för att stänga hallon -pi i viloläge och starta det. Stäng nu hallon pi från terminalen med sudo avstängning -h nu och ange. När pi: n har stängts av och den gröna lampan är släckt kopplar du bort den. Anslut nu bläckfiskbrytaren till stift 3. Antalet stift börjar med låga siffror i slutet där sd -kortet är. Stift 3 och mark är stift 5 och 6 när man räknar ner från den änden. Räkna ner 2 sedan 4 sedan 6. De två stiften är stift 3 och slipade. Anslut bläckfiskbrytaren till dessa stift. De glider direkt på. Vilken som går på vilken stift spelar ingen roll. När strömbrytaren är på kopplar du in pi: n igen så startar den. Eftersom vårt manus körs vid start trycker du på knappen för att testa och det ska stängas av i viloläge. Tryck sedan på den igen så startar den igen. Några av knapparna kan vara lösa om det inte fungerar, kontrollera din anslutning vid stiften och några av knapparna är lösa och måste hållas intryckta en sekund för att anslutningen ska bli jämn. Du kan testa detta några gånger.

Steg 8: Led -bygelkablar

Led -bygelkablar
Led -bygelkablar
Led -bygelkablar
Led -bygelkablar
Led -bygelkablar
Led -bygelkablar

Nu kan vi köra den här kabeln men den är inte ansluten än. Den lilla lysdioden du köpte har två aluminiumstift som lossnar. Den längre är den positiva. Anslut motståndet 10 ohm till den positiva änden. Ta sedan bygelkablarna du köpte och anslut en till den positiva och en till den negativa. Dra sedan kablarna genom hålet överst på Tardis -höljet genom det mellersta hålet och in i det nedre facket. Du kan använda eltejp om du vill hålla ihop det här. Det behövs dock inte riktigt. Inget av detta är särskilt tungt. Var bara försiktig så att du inte drar för hårt, de kommer att dyka upp. Vi ansluter inte detta till Raspberry pi ännu.

Steg 9: Dr-who Shell Script

Dr-who Shell Script
Dr-who Shell Script

Detta är skalskriptet precis som det andra som kommer att köras vid omstart och starta Dr-who python-skriptet som vi kommer att skriva. Detta görs på exakt samma sätt. från terminalen cd/home/pi/bin och ange. Sedan sudo nano dr-who.sh och ange. Skriv sedan följande:

#!/bin/bash

#dr som startar skript

CD /

cd /home /pi

sudo python3 dr-who.py

CD /

Sedan cntrl och x sedan Y sedan ange. Tryck sedan på cd /home /pi och skriv sedan in.

Sedan sudo chmod+x /home/pi/bin/dr-who.sh och ange sedan. Sedan sudo crontab -e rulla sedan till botten och skriv

@reboot sh /home/pi/bin/dr-who.sh spara sedan med cntrl och x sedan Y och ange sedan. Det ska nu finnas två rader på crontab som startar både power shell-skriptet och dr-who-shell-scriptet vid start.

*** Medan vi är här finns det ytterligare två poster att lägga till som kommer att spela in senare **

Skriv följande:

@reboot sudo systemct1 aktivera pigpiod

@reboot sudo systemct1 starta pigpiod

Spara sedan grisperioden är ett paket som behövs för att använda den trådlösa knappen som vi kommer att använda. Det är inte installerat som standard. Efter att ha sparat utgång till terminalen. Tryck på sudo apt-get install pigpiod och ange sedan. Du måste vara ansluten till internet för att ladda ner detta. Detta kan göras från skrivbordet på Raspberry pi.

Steg 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

Detta är dörrklockans verkliga tarmar. Detta är själva huvudprogrammet som körs. Detta körs på stift 18 men utgången är på stift 14 och 18. Detta program kommer att få lysdioden att lysa, då kommer en mp3 att väljas, den kommer att spelas upp och sedan blinkar lysdioden igen. Filnamnen på mp3 -skivorna är precis vad jag namngav dem för att komma ihåg dem. Du kan namnge dem vad du vill. Kom bara ihåg att de inte kan ha något python -kommando i namnet till exempel jag namngav en fil med ordet sort i namnet och det förvirrade python och så ändrades det. Kom ihåg från terminalen cd /home /pi och skriv sedan in. Skriv sedan in sudo nano dr-who.py. I texten anger du följande skript som kommer att skrivas.

** Detta är mitt manus, ditt kommer att vara annorlunda om du har ett annat antal MP3 -filer eller om de heter olika **

importera RPi. GPIO som GPIO

importtid

importera slumpmässigt

importera os

GPIO.setmode (GPIO. BCM)

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

def slumptal ():

nummer = random.randint (1, 6

*** väljer ett slumpmässigt tal mellan 1 och 6, behöver ändras om ditt antal MP3 -filer är annorlunda ***

om nummer == 1:

os.system ('mpg123 thedoctor.mp3')

tid. sover (1)

elif -nummer == 2:

os.system ('mpg123 opening.mp3')

tid. sover (1)

elif -nummer == 3:

os.system ('mpg123 thecrack.mp3')

tid. sover (1)

elif -nummer == 4:

os.system ('mpg123 bowties.mp3')

tid. sover (1)

elif -nummer == 5:

os.system ('mpg123 exterminated.mp3')

** MP3 -namnet kan vara annorlunda beroende på vad du namngav dem **

tid. sover (1)

annan:

os.system ('mpg123 timespace.mp3')

tid. sover (1)

GPIO.setwarnings (falskt)

GPIO.setup (14, GPIO. OUT) ** ställer ut utgång till pin 14 också **

GPIO.output (14, falskt) ** Lysdioden är på stift 14 ställer in den från början **

medan det är sant:

GPIO.output (14, falskt)

input_state = GPIO.input (18) ** pin 18 är ingången **

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

GPIO.output (14, True)

tid. sover (1)

GPIO.output (14, falskt)

tid. sover (1)

slumpmässigt nummer()

GPIO.output (14, True)

tid. sover (1)

GPIO.output (14, falskt)

tid. sover (.5)

GPIO.output (14, True)

tid. sover (1)

GPIO.output (14, falskt)

Vad detta gör är när stift 18 interagerar med lysdioden på stift 14 längst upp på tardis kommer att blinka då kommer en ljudfil att väljas och spela upp och sedan blinkar lysdioden två gånger och slocknar. Detta är vad som kommer att hända när som helst det rings på dörren. Vi kommer också att behöva IP -adressen för denna hallon pi för skriptet i den andra så den trådlösa signalen kommer att tas emot så se till att ansluta hallon pi till din wifi via GUI -skrivbordet och gå sedan tillbaka till terminalen och ange sudo värdnamn -Jag går in. skriv ner ip -adressen som du kommer att behöva senare. Du kan nu också ansluta kablarna för ledningen till stift 14 följ GPIO -stiftet ut för stift 14 och jordstiftet som är diagonalt från den.

Steg 11: Framknapp Raspberry Pi

Framknapp Raspberry Pi
Framknapp Raspberry Pi
Framknapp Raspberry Pi
Framknapp Raspberry Pi

Raspberry pi zero behöver göras några saker för det. först måste stiften lödas i. Använd ett lödkolv och lite löd för att löda in stiften för en fast ansluten. Det finns ett berg av resurser om hur man gör detta online. Youtube är jättebra. När stiften är lödda i sd -kortet behöver den raspiska bilden skrivas till den precis som tidigare. Vi behöver inte en strömknapp här. vi kommer att behöva ett skalskript som körs vid start igen och det kommer att starta vårt python -skript som trådlöst kommer att signalera pin 18 på den andra hallon pi för att köra vårt program.

Steg 12: Dörrklockskalskal

Doorbell Shell Script
Doorbell Shell Script
Doorbell Shell Script
Doorbell Shell Script

Detta manus kommer att vara nästan identiskt med de andra två. Ange cd /home /pi från terminalen och ange sedan. sudo mkdir/home/pi/bin och ange sedan. cd/home/pi/bin och ange sedan. sudo nano doorbell.sh och ange sedan.

#!/bin/bash

CD /

cd hem/pi

sudo python3 dörrklocka.py

CD /

Spara sedan med cntrl och x sedan Y sedan ange. Sedan sudo chmod+x /home/pi/bindoorbell.sh och ange sedan. sedan cd /home /pi och skriv sedan in. Sedan sudo crontab -e skriv sedan välj nano och ange sedan. Längst ner ange

@reboot sh /home/pi/bin/doorbell.sh sedan spara med cntrl och x sedan Y sedan ange. Detta kommer att köra skalskriptet vid start och nästa kommer vi att skapa ett python -skript med vår främre dörrklocka fäst som vid tryckning kommer att signalera den andra hallon pi.

Steg 13: Python Script på dörrklockan

Doorbell Python Script
Doorbell Python Script

Detta är manuset som kommer att möjliggöra trådlös kommunikation mellan ytterdörrklockan och klockan som vi har skapat. Skriptet för att köra ljudet på de första Raspberry pi -körningarna baserat på lågspänning. Den är inställd på hög så när man ändrar den körs manuset blinkar i ljuset och spelar upp ljudet. Detta skript skickar en låg signal till den Raspberry pi och till den stiftet sätter den tillbaka till hög så att den körs en gång när den trycks. Skriptet är följande:

från gpiozero import LED

från gpiozero importknapp

från gpiozero.pins.pigpio importera PiGPIOFactory

från signalimportpaus

importtid

fabrik = PiGPIOFactory (host = '192.168.1.13')

led = LED (18, pin_factory = fabrik)

knapp = Knapp (3)

medan det är sant:

if button.is_pressed:

led.off ()

led.on ()

annan:

led.on ()

LED -modulen används inte för lysdioden, det signalerar bara den stiftet på den första Raspberry pi som kör programmet. När detta har sparats i /hom /pi -katalogen och eftersom skalet för att starta detta skapades redan. Vi kan nu stänga av både hallon -pi: er med sudo -avstängning -h nu. Sedan måste den första hallon -pi sättas på först som på grund av crontab -ingången startar grisperioden som måste börja först. Sedan kan den andra hallonpi för dörrklockan startas. Så länge din lödning för den fysiska knappen görs korrekt och är ansluten rätt. Ett knapptryckning startar lysdioden och ljudet.

*** En högtalare behövs nu annars fungerar inte ljudet. Jag hittade en ljudkort online som drar ström från Raspberry pi via USB -porten. Vilket är perfekt så det behöver inte en egen plugg. Jag rekommenderar det. Ljudutmatningen sker via 3,5 mm -uttaget. Ljudkortet kommer att anslutas till ljudet Raspberry pi genom hålet som vi gjorde i fodralet och en kabel kommer att gå in i 3,5 mm -uttaget och den andra i USB. Standard audi är HDMI -porten så du måste tvinga in pi: n till 3,5 mm -uttaget. Detta görs från terminalen med sudo raspi-config och ange sedan. En meny kommer att dyka upp, välj avancerade alternativ, sedan ljud, sedan 3,5 mm och spara och avsluta. När du har gjort detta och din högtalare är inkopplad kan du testa din klocka några gånger, du är klar, det enda som återstår är att sätta in dörrklockan Raspberry pi i huset.

Steg 14: Power Converter

Effektomvandlare
Effektomvandlare
Effektomvandlare
Effektomvandlare

Detta är det sista steget. Se först till att ljudet Raspberry pi är på. Bakom din nuvarande dörrklocka finns två ledningar, en positiv och en negativ. Spänningen är antingen 10 eller 12 volt. Det du behöver är en effektomvandlare som omvandlar detta till 5 volt vilket är vad Raspberry pi använder. Om du tittar på ändarna på bygelkablarna som vi använde är ändarna hon- och hanaluminium med ett lock på. Du kan få dessa ändar själva i kit för att skapa dina egna kablar. Välj vilken sida du vill vara kvinna och hane remsan som trådarna ska tillbaka för att avslöja kopparen. Lägg sedan honändarna på huskablarna eller vice versa. Sedan har kraftomvandlaren två ledningar också. Rött för positivt och svart för negativt. Nu gör vi samma sak för att ta bort trådarna för att avslöja kopparen. Placera hanändarna på dem och använd en tång för att pressa ner den. Du kan sätta på plastskydden om du vill. Sedan kan du ansluta strömomvandlaren till huskablarna. Positivt till positivt och negativt till negativt. Du kan tejpa denna anslutning med eltejp så att den håller bättre. Om det görs korrekt när du ansluter 5v -änden till Raspberry pi kommer den att slås på. Du kan testa att dörrklockan fungerar genom att trycka på knappen. Klockljudet ska starta. När det väl är gjort kan du placera strömomvandlaren, dörrklockan Raspberry pi inuti vägghålet bakom din tidigare dörrklocka. Skruva fast det nya dörrklockans lock med skruvar. Nu när någon trycker på ytterdörrklockan blinkar Tardis och spelar sedan ljudet och blinkar igen. Detta kan tekniskt sett göras med alla ljud och alla fall. Nästa som jag kommer att bygga kommer att vara en Darth Vader. Lycklig byggnad

Rekommenderad: