Turinys:

„Pasidaryk pats“Hario Poterio judančio portreto projektas: 9 žingsniai (su nuotraukomis)
„Pasidaryk pats“Hario Poterio judančio portreto projektas: 9 žingsniai (su nuotraukomis)

Video: „Pasidaryk pats“Hario Poterio judančio portreto projektas: 9 žingsniai (su nuotraukomis)

Video: „Pasidaryk pats“Hario Poterio judančio portreto projektas: 9 žingsniai (su nuotraukomis)
Video: Bendrųjų programų atnaujinimas. Fizikos Bendrosios Programos projekto pristatymas 2024, Lapkritis
Anonim
Image
Image
Gaukite medžiagų
Gaukite medžiagų

Toliau pateikiama instrukcija, skirta tik grynakraujiams burtininkams. Jei nesate grynakraujis, konkrečiai Slytherin, buvote įspėti apie neišvengiamą nesėkmę ir pralaimėjimą, su kuriuo susidursite kaip kvailys, mauglis, kvailys ar purvo kraujas.

1 žingsnis: įsigykite medžiagų

Naudokite bet kokias priemones, būtinas šioms medžiagoms gauti. Nesivaržykite užsisakyti „Wingardium Leviosa“ką nors iš mugliukų parduotuvės, kai jiems bus atsukta nugara, ir jie nebus išmintingesni.

  • Raspberry Pi
  • Pelė ir klaviatūra
  • Bent 8 GB „Micro SD“kortelė
  • Seni monitoriaus ir ekrano kabeliai (HDMI, VGA ir kt.) Ir maitinimo kabelis Ekrano kabelis į HDMI kabelio keitiklį
  • PIR judesio jutiklis
  • Duonos lenta ir GPIO pertraukimo plokštės pratęsimas
  • Lituoklis
  • Lituoklis
  • Elektros laidas
  • Senas rėmas

2 veiksmas: paruoškite SD kortelę ir įkelkite „Raspbian“bei FBI papildinį

Tai yra vienas iš svarbiausių žingsnių ir esminis įgūdis, kuris yra gana pritaikomas tamsiajame mene. Jei galite suformatuoti SD kortelę ir įkelti „Raspbian“, esate maždaug pusiaukelėje, kad išaugintumėte demenciją.

  • Prijunkite SD kortelę prie kompiuterio ir vykdykite instrukcijas, kad suformatuotumėte SD kortelę kaip…

    • RIEBALAI, jei 8 GB
    • exFAT32, jei 32 GB
  • Įkelkite Raspbian į Pi
  • Atsisiunčiamas FTB papildinys

    Atidarykite terminalą ir įdiekite fbi, kad būtų rodomi vaizdai

sudo apt-get install fbi

3 žingsnis: nufotografuokite

Paimkite vaizdo įrašą
Paimkite vaizdo įrašą

Vienintelis dalykas, kuris turėtų būti tamsus šiam žingsniui, yra Tamsusis lordas. Įsitikinkite, kad turite tinkamą apšvietimą. Visų pirma, atrodykite gerai, rimtai ir grėsmingai.

  • Nufotografuokite tai, ko norėtumėte, kad judėtų portrete

    Būtinai pradėkite ir sustokite toje pačioje padėtyje (idėjos apima vaizdingą portretą, kai kas nors įeina į rėmą ir išeina iš jo, pradėkite sėdėti ant kėdės sulenktomis rankomis ir grįžkite į tą pačią padėtį)

  • Prieš pradėdami judėti, būtinai nufotografuokite originalaus vaizdo nuotrauką ir nustatykite vaizdo ir vaizdo įrašo dydį pagal monitoriaus matmenis
  • Atsisiųskite nuotraukų ir vaizdo įrašų failus į „Raspberry Pi“ir įdėkite vaizdo įrašą į aplanką „Vaizdo įrašas“, o savo nuotrauką į aplanką „Paveikslėlis“

4 žingsnis: Paruoškite seną monitorių

Paruoškite seną monitorių
Paruoškite seną monitorių
Paruoškite seną monitorių
Paruoškite seną monitorių

Pirmiausia eikite į monitorių kolekciją ir pasirinkite labiausiai patinkančią. Kartais vietinės mokyklos ar įmonės pertekliaus savo senas atsargas. Tada turėsite išardyti monitorių taip, kad jo galinis dangtelis nebūtų tuščias. Šis žingsnis skiriasi priklausomai nuo jūsų turimo monitoriaus, tačiau tai yra taip paprasta, kaip tai gali padaryti mauglis. Juokauju. Mugliai yra beverčiai ir nieko nesugeba.

5 žingsnis: jutiklio prijungimas

Jungiamasis jutiklis
Jungiamasis jutiklis
Jungiamasis jutiklis
Jungiamasis jutiklis
Jungiamasis jutiklis
Jungiamasis jutiklis
  • Įdėkite tris jutiklio kištukus į duonos lentą
  • Prijunkite laidus

    • Pirmasis kabelis eina iš 5v kaiščio (rausvai raudonas kabelis) ir jungiamas prie jutiklio VCC kaiščio
    • Antrasis kabelis eina iš GND kaiščio (baltas kabelis) ir prijungiamas prie jutiklio GND kaiščio
    • Trečiasis kabelis eina iš GPIO kaiščio 4, 7 prievado (pilkas kabelis) ir prijungiamas prie jutiklio OUT kaiščio

*Laidai gali eiti į bet kurį raidžių prievadą, jei jie yra toje pačioje eilėje. Pavyzdžiui, raudonas kabelis yra 11c, einantis nuo GPIO kaiščio 4 iki OUT, kurį įdėjome į 24b. Pirmasis galėjo eiti 11a, 11b, 11c, 11d arba 11e. Jums tereikia prijungti jį prie 4 GPIO kaiščio ir jutiklio OUT prievado.

6 veiksmas: kodo įterpimas

Šiuo kodu negalima dalintis su tais, kurie neturi tamsaus ženklo. Mirties valgytojai nenuilstamai dirbo tai kurdami ir nenori, kad beverčiai maugliai ar kraujo išdavikai uždėtų ant jų savo nešvarias rankas.

Programavimo meniu atidarykite „Thonny Python IDE“ir įklijuokite kodą iš pridėto failo

#1 kodo dalis, judesio detektoriaus kodas#!/usr/bin/pythonimport RPi. GPIO kaip GPIO importo laiko importavimo opera

klasės detektorius (objektas):

def _init _ (aš, jutiklis): self.callBacks = self.sensor = jutiklis self.currState = False self.prevState = False

GPIO.setmode (GPIO. BOARD)

GPIO.setup (savęs jutiklis, GPIO. IN, pull_up_down = GPIO. PUD_DOWN)

perskaityk (pats):

self.prevState = self.currState self.currState = GPIO.input (self.sensor)

def printState (savarankiškai):

spausdinti („GPIO kaištis {0} yra {1}“. formatas („self.sensor“, „HIGH“, jei self.currState else „LOW“))

def subscribe (self, callBack):

self.callBacks.append (callBack)

def callBack (savarankiškai, būsena):

fn savarankiškai. callBacks: fn (valstija)

def start (savarankiškai):

try: self.read () self.printState () o True: self.read () if self.currState! = self.prevState: self.printState () self.callBack (self.currState) time.sleep (.1)

išskyrus [KeyboardInterrupt, SystemExit]:

#Kadangi fbi netinkamai atkuria konsolę, kai programa išjungiama, mes šiek tiek sutvarkome. os.system ('stty sane')

#2 kodo dalis, nuotrauka ir vaizdo įrašas

#!/usr/bin/python importavimo papildomas procesas kaip sp importo sistema

video = ["omxplayer", "failo pavadinimas", "-o", "abu", "--win", "0 0 1680 1050", "-aspekto režimas", "užpildyti", "-ne- osd ","-orientacija "," 0 "," --vol "," -600 "]

videoFile = "/home/pi/Videos/1680x1050video.mp4" spausdinimas (videoFile)

def onMotion (currState):

if currState: video [1] = videoFile subVideo = sp. Popen (video), o subVideo.poll () yra Nėra: time.sleep (.1)

def showImage ():

os.system ("sudo fbi -T 1 -d/dev/fb0 -noverbose -once /home/pi/Pictures/1680x1050picture.jpg")

showImage ()

objDetect = detektorius (7) objDetect.subscribe (onMotion) objDetect.start () os.system ("sudo killall -9 fbi")

  • Išsaugoti failą

    Išsaugojome savo aplanką pavadinimu genlab ir pavadinome jį Masterpiece.py

  • Bandymo kodas

    Atidarykite terminalą ir atidarykite failą

cd genlab

Python šedevras.py

*Taip kodas iš tikrųjų veikia.

Mūsų kodas rodo tuščią vaizdą monitoriuje, kol judesio jutiklis aptinka judesį ir suaktyvina vaizdo failą ir grįžta į pradinę tuščiosios eigos vaizdo padėtį. Mums pavyko rasti atvirojo kodo, kurį Dominickas Morino naudojo savo turimo portreto „pasidaryk pats“projekte, ir supaprastinome jį mūsų projektui. Portreto kodą padalijome į dvi dalis: judesio jutiklio komandas, o po to - nuotraukų/vaizdo įrašų komandas. Judėjimo jutikliui importavome pradines „Raspberry Pi“ir GPIO plokštės bibliotekas. Nereikia nieko keisti pirmoje jutiklio kodo dalyje. Antroji kodo dalis importuoja kitas bibliotekas, kad vaizdo komandos priklausytų nuo 1 dalyje esančio jutiklio kodo.

7 žingsnis: asmeniniai pakeitimai

Įsitikinkite, kad įdėjote tinkamus pakeitimus. Čia patobulinkite daugiau nei lazdelė iš „Ollivander“.

54 linijos formato koeficientas. Norėdami pakeisti orientaciją iš kraštovaizdžio į portretą, pakeiskite 0 į 90. Tikram monitoriaus santykiui pakeiskite 1680 1050

video = ["omxplayer", "failo pavadinimas", "-o", "abu", "--win", "0 0 1680 1050", "-aspekto režimas", "užpildyti", "-ne- osd ","-orientacija "]

55 eilutėje pakeiskite vaizdo įrašo pavadinimą iš 1680x1050video.mp4 į failo pavadinimą

videoFile = "/home/pi/Videos/1680x1050video.mp4"

67 eilutėje pakeiskite nuotraukos pavadinimą iš 1680x1050picture-j.webp" />

os.system ("sudo fbi -T 1 -d/dev/fb0 -noverbose -once /home/pi/Pictures/1680x1050picture.jpg")

71 linijoje jutiklis prijungtas prie GPIO 4 prievado, kuris yra 7 prievadas pertraukimo plokštėje. Jei norite perkelti jutiklį, būtinai pakeiskite jį į teisingą skaičių

objDetect = detektorius (7)

Baigę kodą išsaugokite failą, atkreipkite dėmesį į tai, kur išsaugojote failą Atidarykite terminalą cd Paspauskite „Enter“Nuotrauka pasirodys Blokuoti judesio jutiklį Vaizdo įrašas prasidės Esc, išeina iš projekto

8 žingsnis: Apdailos darbai

Lituoti reikia čia. Nesivaržykite naudoti „Incendio“žavesio, kad paspartintumėte lituoklio kaitinimo procesą.

  • Kai turėsite judantį portretą, lituokite kiekvieną laidą prie jutiklio
  • Išdėstykite pi ir judesio jutiklį monitoriaus gale ir pritvirtinkite bet kokiais pasirinktais klijais (velcro, gorilos klijais, lipnia juostele ir pan.).

9 žingsnis: rėmas

Rėmas
Rėmas
Rėmas
Rėmas
Rėmas
Rėmas

Pirma, medžio skydas buvo supjaustytas ir pritvirtintas prie mūsų monitoriaus galo, naudojant jau ekrane įmontuotą tvirtinimo detalę. Mes ką tik radome tokio paties dydžio varžtus ir išgręžėme medžio gabalą monitoriaus gale. Jei jūsų monitorius neturi galimybės jį pritvirtinti prie medinės plokštės, kita galimybė būtų sukurti specialiai pritaikytą korpusą, kuris jį palaikytų.

Tada mes pakartotinai sukūrėme kadrą, kurį kažkoks „Hogsmeade“vaikinas tiesiog ketino išmesti. Mes priderinome jį prie monitoriaus ir sutvirtinome MDF juostelėmis. Šis rėmas buvo priklijuotas prie medinės plokštės, pritvirtintos prie monitoriaus, naudojant epoksidą, tačiau gali tikti ir paprasčiausias tvirtinimo žavesys.

Rekomenduojamas: