Indholdsfortegnelse:

Dr Who Tardis Doorbell: 14 trin (med billeder)
Dr Who Tardis Doorbell: 14 trin (med billeder)

Video: Dr Who Tardis Doorbell: 14 trin (med billeder)

Video: Dr Who Tardis Doorbell: 14 trin (med billeder)
Video: Инопланетяне - НЛО - Что, если разоблачители говорят правду?.. 2024, Juli
Anonim
Dr Who Tardis dørklokke
Dr Who Tardis dørklokke

Dette er et projekt, jeg fandt på at skabe en Tardis dørklokke. Det er en trådløs dørklokke, der, når der trykkes på, afspiller lyd fra showet. Jeg har optaget og brugt lyd fra Matt Smith -serien, fordi dette er en gave til min stedsøster, og det er hendes yndlingsdr. Jeg lavede følgende youtube video af det færdige produkt.

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

Trin 1: Bestil sagens dele

Bestil sag dele
Bestil sag dele
Bestil sag dele
Bestil sag dele
Bestil sag dele
Bestil sag dele

Det første, der skal gøres, er sagen. Dette er træets Tardis, som elektronikken vil sidde indeni. Du kan finde dette på Etsy. Der er en butik kaldet Lazer Models, der sælger lazerskårne træmodeller. Du skal bruge trælim og lidt tid til at sætte alt på plads og lime det sammen.

*** Når du er ved at slutte at sætte modellen sammen, må du ikke lime eller bruge de øverste stykker, hvor det øverste lys går i showet. En LED vil gå her, der lyser senere. du har brug for det hul der ****

Trin 2: Borehul til LED

Borehul til LED
Borehul til LED
Borehul til LED
Borehul til LED

Toppen af Tardis skal have et lille hul, hvor vi efterlod stykker ude. Brug en boremaskine til at bore et hul, der går gennem det hul til midten af Tardis. Der er et træstykke, der bruges til stabilitet i midten, der er solidt. Borehullet skal gå igennem dette stykke, så det nederste skjulte rum og toppen forbinder. Dette vil tillade to små ledninger at løbe fra det nederste rum op gennem toppen, hvor LED'en skal placeres.

Trin 3: Maleri

Maleri
Maleri

Dette var den sværeste del for mig. Jeg fik den maling, jeg brugte fra hobbylobbyen. Den officielle Tardis -maling er svær at finde, og stykkerne på Tardis i træ er små, så du har brug for fine pensler. Jeg købte håndværksmaling og pensler i hobbyobbyen. Du skal bruge den blå til ydersiden og den sorte til toppen, hvor den hvide bogstav er og også den hvide. Jeg malede kun bogstaverne på forsiden, da det er meget lille og svært at undvære rod. Jeg var nødt til at gå tilbage over fejl med det sorte eller blå et par gange. Når malingen er færdig, skal du bruge en dåse polyurethan. Jeg lavede tre lag maling for at få det som jeg ville. Derefter sprøjtes 3 lag polyurethan til forsegling og glans af Tardis. Dette hjælper med vridning og giver det også en flot glans.

Trin 4: Bor sidehuller

Borehuller
Borehuller
Drill sidehuller
Drill sidehuller

Nu skal du bore og skære et par huller i siden af Tardis -kassen. Du har brug for et hul stort nok til blæksprutte -knappen til strømmen. Du har også brug for et hul til netledningen og USB -kablet, der tilsluttes lydkortet. Jeg borede det indledende hul og brugte derefter en exacto -kniv til at glatte hullerne ud store nok og cirkulære.

Trin 5: Raspberry Pi's

Hindbær Pi
Hindbær Pi
Hindbær Pi
Hindbær Pi
Hindbær Pi
Hindbær Pi

Nu skal du konfigurere Raspberry Pi'erne. For at gøre dette købte jeg en Raspberry pi 3, netledning, kølelegeme til en Raspberry Pi, 32 GB micro sd -kort, hun til hun jumperkabler, en 10 ohm modstand, to pakke blæksprutte trykknapper, en 10v til 5v strømomformer, jumper kabler og et jumper cable maker kit, og et USB lydkort, og hvis du har det, gør et trådløst tastatur med en USB dongle dette lettere. Du skal også bruge et andet Raspberry Pi og sd -kort. Dette skal være en Raspberry Pi zero og en gpio pinout for at lodde ind.

*** SD -kortet behøver ikke at være 32 GB, og 8 GB klarer sig fint ***

Du skal downloade et billede på SD -kortet for at kunne bruges i Raspberry Pi. Derefter kan du bruge ethvert freeware til at skrive billedet til sd -kortet. Jeg bruger Win32DiskImager.. Dette er en temmelig ligetil proces. Du skal blot indsætte sd -kortet, som vil blive tildelt et drevbogstav. Gennemse derefter det billede, du downloadede, og skriv til disken, og vælg derefter SD -kortet. Jeg bruger Raspian -billedet på det sted. En google -søgning efter Raspian og skriv billede til sd -kort vil give dig alt, hvad du har brug for.

Når billedet er skrevet til SD -kortet, skal du sætte det i porten på Raspberry Pi 3, og tilslut netledningen til første opstart. Raspian -billedet åbner for pixel -skrivebordsmiljøet. Der er et billede af en sort firkant, dette er terminalen, hvor vi vil arbejde på vores scripts for at få dette til at fungere. klik på det billede for at åbne terminalen.

*** På dette tidspunkt er det vigtigt at bemærke, at jeg opnåede lydfiler ved at optage showet med min telefon og derefter uploade videoerne til youtube og bruge yt2mp3 -webstedet til at konvertere dem til mp3'er. Download dem derefter til Raspberry Pi og placer dem i mappen /home /pi. du kan gøre dette med mappeikonet og trække filerne over fra downloadmappen.

Jeg har vedhæftet et billede af et GPIO -kort, der fortæller dig, hvilke pins der gør hvad. For enkelheds skyld anbefaler jeg at bruge de stifter, jeg gjorde. Pin 3 er min tænd / sluk -knap. Pin 14 er min led og pin 18 er programnålen. Der er ikke noget knyttet til dette, fordi dette sker trådløst. Der er også et billede af mine MP3'er i home/pi -biblioteket.

Trin 6: Power Shell Script

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

Den måde, det fungerer på, er der to shell -scripts. Scripts kører en opstart og starter python -scripts. Python -scripts kører og afventer input enten fra knappetrykket eller udsving i pin -spændingen. Shell -scripts er ret enkle, det følgende er det første. som kommer til at starte python -scriptet, når det er oprettet.

#!/bin/bash

#Power -knap

cd /

cd /home /pi

sudo python3 power.py

cd /

Dette script starter power.sh, som er navnet på det python -script, vi også vil oprette. Den måde, vi opretter dette script på fra terminalen, er ved at skrive cd /home /pi og derefter indtaste. Derefter skal vi oprette en mappe til vores scripts, så skriv sudo mkdir bin og indtast derefter. Dette vil oprette en bin mappe, som vi kan bruge til vores scripts. Indtast derefter cd/home/pi/bin, og indtast derefter. Skriv derefter sudo nano power.sh og indtast derefter. Dette åbner et tomt dokument, hvor scriptet ovenfor vil blive indtastet. For at gemme skal du trykke på cntrl og x, så vil det spørge, om du vil gemme, tryk på y for ja, så bekræfter det placeringen og trykker på enter. Dette skaber scriptet, men vi har brug for, at det er eksekverbart. Så tryk på cd /home /pi enter. Derefter indtastes sudo chmod+x /home/pi/bin/power.sh. Dette vil gøre det power script, vi lige har oprettet, eksekverbart for alle brugere. Nu har vi brug for dette script til at køre ved genstart. Det betyder, at det automatisk kører ved start, hvilket starter vores andet script, vi vil oprette. Skriv cd /home /pi, og indtast derefter. Skriv derefter sudo crontab -e og indtast derefter. Det vil spørge dig, hvilken editor du skal bruge, vælg nano, hvilket er 2 tror jeg, og indtast derefter. Dette dokument har allerede skrift i sig. Bare rul til bunden, og skriv @reboot sh /home/pi/bin/power.sh, gem derefter med cntrl og x, bekræft med y, og indtast derefter. Nu kører shell -scriptet ved genstart.

Trin 7: Power Python Script

Power Python -script
Power Python -script

Nu hvor shell -scriptet er klar til at starte python -scriptet, skal vi oprette python -scriptet. Indtast fra terminalen cd /home /pi. Python -scripts har ikke brug for deres egen mappe at gemme dem i denne hovedmappe med mp3'erne er fint. Skriv sudo nano power.py, og indtast derefter. Dette åbner den tomme teksteditor igen. Scripts i python er meget mellemrumsafhængige, så hvis du får syntaksfejl, er det afstanden.

importer RPi. GPIO som GPIO

importtid

import delproces

GPIO.setmode (GPIO. BCM)

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

oldButtonState = 1

mens det er sandt:

buttonState1 = GPIO.input (3)

hvis buttonState1! = oldButtonState1 og buttonState1 == Falsk:

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

oldButtonState1 = buttonState1

time.sleep (.1)

Gem derefter med cntrl og x, bekræft derefter med Y, og indtast derefter. Hvad der nu vil ske er, at shell -scriptet kører ved opstart og starter dette python -script, som venter på et tryk på knappen 3 på pin 3 for at lukke hindbær pi i dvaletilstand og starte den. Luk nu hindbær pi ned fra terminalen med sudo shutdown -h nu og indtast. Når pi'en er lukket ned, og det grønne lys er slukket, skal du tage stikket ud af stikkontakten. Tilslut nu blæksprutteomskifteren til pin 3. Pinantallet starter med lave tal på den ende, hvor sd -kortet er. Pin 3 og jorden er pin 5 og 6, når man tæller ned fra den ende. Tæl ned 2 derefter 4 derefter 6. Disse to ben er stift 3 og slebet. Sæt blæksprutteomskifteren i disse stifter. De glider lige på. Hvilken en går på hvilken nål er ligegyldigt. Når kontakten er tændt, skal du tilslutte pi'en igen, og den starter. Da vores script kører ved opstart, skal du trykke på knappen for at teste, og det skal lukke ned i dvaletilstand. Tryk derefter på den igen, og den starter igen. Nogle af knapperne kan være løse, hvis det ikke virker, tjek din forbindelse ved benene, og nogle af knapperne er løse og skal trykkes ned og holdes et sekund inde, for at forbindelsen kan blive flush. Du kan teste dette et par gange.

Trin 8: Led Jumper Cables

Led Jumper kabler
Led Jumper kabler
Led Jumper kabler
Led Jumper kabler
Led Jumper kabler
Led Jumper kabler

Nu kan vi køre dette kabel, men det får ikke forbindelse endnu. Den lille led, du købte, har to aluminiumsstifter, der kommer ud af den. Jo længere en er den positive. Tilslut 10 ohm modstanden til den positive ende. Tag derefter de jumperkabler, du har købt, og slut en til den positive og en til den negative. Før derefter kablerne gennem hullet i toppen af Tardis -kassen gennem det midterste hul og ind i det nederste rum. Du kan bruge elektrisk tape, hvis du vil holde noget af dette sammen. Det er dog ikke rigtig nødvendigt. Intet af dette er særlig tungt. Bare vær forsigtig med ikke at trække for hårdt, de vil springe ud. Vi forbinder ikke dette med Raspberry pi endnu.

Trin 9: Dr-who Shell Script

Dr-who Shell Script
Dr-who Shell Script

Dette er shell-scriptet ligesom det andet, der skal køre ved genstart og starte Dr-who-python-scriptet, vi vil skrive. Dette gøres på nøjagtig samme måde. fra terminalen cd/home/pi/bin og indtast. Derefter sudo nano dr-who.sh og indtast. Indtast derefter følgende:

#!/bin/bash

#dr der starter script

cd /

cd /home /pi

sudo python3 dr-who.py

cd /

Derefter cntrl og x derefter Y derefter indtaste. Tryk derefter på cd /home /pi og indtast derefter.

Derefter indtaster du sudo chmod+x /home/pi/bin/dr-who.sh. Derefter sudo crontab -e derefter rulle til bunden og skrive

@reboot sh /home/pi/bin/dr-who.sh gem derefter med cntrl og x derefter Y og indtast derefter. Der skulle nu være to linjer på crontab, som starter både power shell scriptet og dr-who shell scriptet ved opstart.

*** Mens vi er her, er der yderligere to poster at tilføje, der vil komme i spil senere **

indtaste følgende:

@reboot sudo systemct1 aktiver pigpiod

@reboot sudo systemct1 start pigpiod

Gem derefter pigpiod er en nødvendig pakke til at bruge den trådløse knap, som vi vil bruge. Det er ikke installeret som standard. Efter at have gemt udgang til terminalen. Tryk på sudo apt-get install pigpiod, og indtast derefter. Du skal have forbindelse til internettet for at downloade dette. Dette kan gøres fra skrivebordet på Raspberry pi.

Trin 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

Dette er dørklokkens virkelige tarm. Dette er selve hovedprogrammet, der kører. Dette kører på pin 18, men output er på pin 14 og 18. Dette program vil få LED'en til at lyse, derefter vælges en mp3, den vil afspille, derefter vil LED'en blinke igen. Filnavnene på mp3'erne er lige, hvad jeg navngav dem for at huske dem. Du kan navngive dem, hvad du vil. Bare husk, at de ikke kan have nogen python -kommando i navnet. For eksempel navngav jeg en fil med ordet sort i navnet, og det forvirrede python, og det blev ændret. Husk fra terminalen cd /home /pi, og indtast derefter. Derefter indtaster du sudo nano dr-who.py. Indtast følgende script i teksten, der vil blive skrevet.

** Dette er mit script, dit vil være anderledes, hvis du har et andet antal MP3 -filer, eller hvis de hedder anderledes **

importer RPi. GPIO som GPIO

importtid

import tilfældig

import os

GPIO.setmode (GPIO. BCM)

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

def tilfældigt tal ():

nummer = random.randint (1, 6

*** vælger et tilfældigt tal mellem 1 og 6, skal ændres, hvis dit antal MP3'er er anderledes ***

hvis nummer == 1:

os.system ('mpg123 læge.mp3')

time.sleep (1)

elif -nummer == 2:

os.system ('mpg123 åbning.mp3')

time.sleep (1)

elif -nummer == 3:

os.system ('mpg123 thecrack.mp3')

time.sleep (1)

elif -nummer == 4:

os.system ('mpg123 bowties.mp3')

time.sleep (1)

elif -nummer == 5:

os.system ('mpg123 udryddet.mp3')

** MP3 -navnet kan være anderledes afhænger af, hvad du navngav dem **

time.sleep (1)

andet:

os.system ('mpg123 timespace.mp3')

time.sleep (1)

GPIO.setwarnings (falsk)

GPIO.setup (14, GPIO. OUT) ** indstiller output også til pin 14 **

GPIO.output (14, Falsk) ** LED er på pin 14 sætter den til at slukke i første omgang **

mens det er sandt:

GPIO.output (14, falsk)

input_state = GPIO.input (18) ** pin 18 er input **

hvis (GPIO.input (18) == Falsk):

GPIO.output (14, sand)

time.sleep (1)

GPIO.output (14, falsk)

time.sleep (1)

tilfældigt tal ()

GPIO.output (14, sandt)

time.sleep (1)

GPIO.output (14, falsk)

time.sleep (.5)

GPIO.output (14, sandt)

time.sleep (1)

GPIO.output (14, falsk)

Hvad dette gør er, når pin 18 interageres med LED'en på pin 14 øverst på tardis vil blinke, derefter vælges en lydfil og afspilles, derefter vil LED'en blinke to gange og slukke. Dette er, hvad der vil ske, når der ringes på døren. Vi skal også bruge denne hindbærpis IP -adresse til scriptet i den anden, så det trådløse signal vil blive modtaget, så sørg for at forbinde hindbærpien til din wifi via GUI -skrivebordet, og gå derefter tilbage til terminalen og indtast sudo -værtsnavn -Jeg går derefter ind. skriv ip -adressen ned, du får brug for den senere. Du kan nu også tilslutte kablerne til led til pin 14 følg GPIO pin ud for pin 14 og jordstiften, der er diagonal fra den.

Trin 11: Frontknap Raspberry Pi

Frontknap Raspberry Pi
Frontknap Raspberry Pi
Frontknap Raspberry Pi
Frontknap Raspberry Pi

Raspberry pi zero har brug for et par ting ved det. først skal stifterne loddes i. Brug et loddejern og noget loddemateriale til at lodde stifterne ind til et solidt tilsluttet. Der er et bjerg af ressourcer til, hvordan man gør dette online. Youtube er en fantastisk. Når stifterne er loddet i sd -kortet, skal det raspiske billede skrives til det ligesom før. Vi har ikke brug for en tænd / sluk -knap her. vi skal bruge et shell -script, der kører ved opstart igen, og det vil starte vores python -script, der trådløst vil signalere pin 18 på den anden hindbær pi for at køre vores program.

Trin 12: Dørklokke Shell Script

Dørklokke Shell Script
Dørklokke Shell Script
Dørklokke Shell Script
Dørklokke Shell Script

Dette script vil være næsten identisk med de to andre. Indtast cd /home /pi fra terminalen, og indtast derefter. sudo mkdir/home/pi/bin, og indtast derefter. cd/home/pi/bin, indtast derefter. sudo nano doorbell.sh indtast derefter.

#!/bin/bash

cd /

cd hjem/pi

sudo python3 dørklokke.py

cd /

Gem derefter med cntrl og x derefter Y derefter indtast. Derefter indtaster du sudo chmod+x /home/pi/bindoorbell.sh. derefter cd /home /pi derefter indtaste. Derefter sudo crontab -e derefter indtaste vælg nano derefter indtaste. I bunden indtast

@reboot sh /home/pi/bin/doorbell.sh gem derefter med cntrl og x derefter Y derefter indtast. Dette vil køre shell -scriptet ved opstart, og derefter vil vi oprette et python -script med vores hoveddørklokke fastgjort, at når der trykkes på, vil det signalere den anden hindbærpi.

Trin 13: Python Script på dørklokken

Dørklokke Python Script
Dørklokke Python Script

Dette er scriptet, der vil muliggøre trådløs kommunikation mellem hoveddøren og den klokke, vi har oprettet. Scriptet til at køre lyden på de første Raspberry pi -kørsler baseret på lav spænding. Det er sat til højt, så når det ændrer sig, kører scriptet, blinker lyset og afspiller lyden. Dette script sender et lavt signal til den Raspberry pi og til den pin derefter sætter det tilbage til højt, så det kører en gang, når der trykkes på det. Scriptet er som følger:

fra gpiozero import LED

fra gpiozero importknap

fra gpiozero.pins.pigpio import PiGPIOFactory

fra signalimportpause

importtid

fabrik = PiGPIOFactory (host = '192.168.1.13')

led = LED (18, pin_factory = fabrik)

knap = Knap (3)

mens det er sandt:

hvis knappen. er_presset:

led.off ()

led.on ()

andet:

led.on ()

LED -modulet bruges ikke til LED'en, det signalerer bare den pin på den første Raspberry pi, der kører programmet. Når dette er gemt i /hom /pi biblioteket, og da skallen til at starte dette allerede var oprettet. Vi kan nu slukke begge Raspberry pi'er med sudo -lukning -h nu. Derefter skal den første Raspberry pi tændes først, som på grund af crontab -indtastningen starter den svineperiode, der skal starte først. Derefter kan den anden hindbærpi til dørklokken startes. Så længe din lodning til den fysiske knap er udført korrekt og sat korrekt i. Et tryk på en knap starter lysdioden og lyden.

*** En højttaler er nu nødvendig, ellers fungerer lyden ikke. Jeg fandt et lydkort online, der henter strøm fra Raspberry pi gennem USB -porten. Hvilket er perfekt, så det behøver ikke sit eget stik. Jeg anbefaler det. Lydudgangen er via 3,5 mm -stikket. Lydkortet sættes i rime Raspberry pi gennem hullet, vi lavede i sagen, og den ene ledning går ind i 3,5 mm stikket og den anden i USB. Standard audi er HDMI -porten, så du skal tvinge pi'en til 3,5 mm -stikket. Dette gøres fra terminalen med sudo raspi-config og indtast derefter. En menu dukker op, vælg avancerede indstillinger, derefter lyd, derefter 3,5 mm, og gem derefter og afslut. Når du har gjort dette, og din højttaler er tilsluttet, kan du teste din klokke et par gange, du er færdig, det eneste, der er tilbage, er at føre dørklokken Raspberry pi ind i huset.

Trin 14: Power Converter

Strømomformer
Strømomformer
Strømomformer
Strømomformer

Dette er det sidste trin. Sørg først for, at klokke Raspberry pi er tændt. Bag din nuværende dørklokke er der to ledninger en positiv og en negativ. Spændingen er enten 10 eller 12 volt. Hvad du får brug for er en effektomformer, der konverterer dette ned til 5 volt, hvilket er hvad Raspberry pi bruger. Hvis du ser på enderne af jumperkablerne, som vi brugte, er enderne hun- og hanaluminium med et dæksel på. Du kan selv få disse ender i kits til at skabe dine egne kabler. Vælg, hvilken side du vil være kvinde og han, strimlen, ledningerne tilbage for at afsløre kobberet. Sæt derefter hunenderne på husets ledninger eller omvendt. Så har strømomformeren også to ledninger. Rød for positiv og sort for negativ. Nu gør vi det samme, fjerner ledningerne tilbage for at afsløre kobberet. Placer hanenderne på dem, og brug en tang til at krympe den ned. Du kan placere plastikdækslerne på, hvis du vil. Derefter kan du tilslutte strømomformeren til husets ledninger. Positiv til positiv og negativ til negativ. Du kan tape denne forbindelse med elektrisk tape, så den holder bedre. Hvis det gøres korrekt, når du slutter 5v -enden til Raspberry pi, tændes det. Du kan teste, at dørklokken virker ved at trykke på knappen. Lydlyden skal starte. Når det er gjort, kan du placere strømomformeren, dørklokken Raspberry pi alt inde i væghullet bag din tidligere dørklokke. Brug skruer til at skrue det nye dørklokkedæksel på. Nu når som helst der trykker på hoveddøren, vil Tardis blinke, derefter afspille lyden og derefter blinke igen. Dette kan teknisk set gøres med enhver lyd og ethvert tilfælde. Den næste jeg vil bygge vil være en Darth Vader. Glad bygning

Anbefalede: