Sisukord:

Vaarika Pi fotobooth: 5 sammu
Vaarika Pi fotobooth: 5 sammu

Video: Vaarika Pi fotobooth: 5 sammu

Video: Vaarika Pi fotobooth: 5 sammu
Video: ВАЙБ КОТИКОВ🥳🌸Бумажные Сюрпризы🌸ЛаЛаФанФан🌸Марин-ка Д 2024, November
Anonim
Vaarika Pi fotokott
Vaarika Pi fotokott

Eesmärk:

  • Siit saate teada, kuidas Pi -kaamerat kodeerida ja installida
  • Defineerimise ja if -lausete kasutamine kodeerimisel
  • Õppige kasutama uut tehnoloogiat, nagu RGB LED -id

Samm: mida vajate

Mida vajate
Mida vajate
Mida vajate
Mida vajate
Mida vajate
Mida vajate
  • 1 Vaarika Pi 3
  • Leivalaud
  • Džemprid
  • 1 valgusest sõltuv takisti
  • 1 kondensaator
  • 1 Vajutage nuppu
  • 6 220 oomi takistid
  • 2 RGB LED -i
  • 1 Raspberry Pi kaamera

Samm 2: Kaameramooduli ühendamine

Kaamera mooduli ühendamine
Kaamera mooduli ühendamine

Esiteks, kui Pi on välja lülitatud, peate ühendama kaamera mooduli Raspberry Pi kaamerapordiga, seejärel käivitama Pi ja veenduma, et tarkvara on lubatud.

  1. Leidke kaameraport, mis asub HDMI ja 3,5 mm pordi vahel
  2. Tõmmake kaamera klambrit plastist servadest üles, kuni klamber on diagonaal
  3. Nüüd sisestage kaamera kaabel nii, et sinine oleks 3,5 mm pordi poole

3. samm: kaamera seadistamine

Kaamera seadistamine
Kaamera seadistamine
Kaamera seadistamine
Kaamera seadistamine

Peamenüüst Raspberry Pi seadistustööriista avamine ja kõigi ülaltoodud liideste keelamine ja lubamine

Avage peamenüüst terminal ja tippige järgmised koodiridad:

Sudo Raspi-config

Nüüd kasutage siit süsteemis liikumiseks nooleklahve ja klõpsake suvandil Perifeerne ühendus ning nende klõpsamisel P1 kaamera ja lubage kaamera, seejärel valige Lõpeta. Tagasi terminalitüübi juurde järgmistes koodiridades:

pip installige picamera

või Sudo pip installige Picamera

4. samm: kaameramooduli testimine

Kaamera mooduli testimine
Kaamera mooduli testimine

Siit saame testida, kas kaamera töötab või mitte, kuna meil on kogu tarkvara ja riistvara lubatud.

Avage menüüst Python 3

Sealt avage kestast uus fail ja salvestage see cameratest.py.

Sisestage järgmine kood:

alates picamera import PiCamera #imporditud moodul, mis on loodud pip installimisest pi kaamera käsk ajast importimine uni #imporditud uni, et veenduda, et meie kaamera jääb kaamerasse = PiCamera () #Kaamera seadistamine

camera.start_preview ()#käivitab kaamera ja näitab teile, milline kaamera väljund välja näeb

unerežiim (10)#jätab eelvaate 10 sekundiks sisse

camera.stop_preview ()#lõpetab lõpuks eelvaate

Käivitage kood F5 abil

Kui saate koodi käivitamisel selle tõrke:

(mmal: mmal_vc_component_create: komponendi 'vc.ril.camera' loomine ebaõnnestus (1: ENOMEM)

mmal: mmal_component_create_core: komponenti 'vc.ril.camera' ei saanud luua (1) Traceback (viimane kõne): Fail "", rida 1, failis /usr/lib/python2.7/dist-packages/picamera /camera.py ", rida 257, _init_ self._init_camera () Fail" /usr/lib/python2.7/dist-packages/picamera/camera.py ", rida 288, _init_camera prefix =" Kaamera loomine nurjus komponent ") Fail" /usr/lib/python2.7/dist-packages/picamera/exc.py ", rida 112, mmal_check tõsta PiCameraMMALError (olek, eesliide) picamera.exc. PiCameraMMALEviga: Kaamera komponendi loomine ebaõnnestus: Väljas mälestusest)

Palun minge Raspberry Pi konfiguratsiooni, minge jõudlusveeru alla ja suurendage oma GPU mälu, kuni viga on kadunud (peate taaskäivitama).

Nüüd, et luua foto, mis salvestatakse töölauale, kasutame järgmist koodi:

alates picamera import PiCamera #Pip install installitud imporditud moodul pi kaamera käsk ajast importimine unerežiim #Imporditud uni, et veenduda, et meie kaamera jääb sisse

kaamera = PiCamera () #Kaamera seadistamine

camera.start_preview () #Käivitab eelvaate une (5) #Jätab eelvaate 5 sekundiks sisse

camera.capture ('/home/pi/Desktop/image.jpg')# Sealt

camera.stop_preview ()#Peatab eelvaate

Samm: ahela loomine koodiga

Vooluahela loomine koodiga!
Vooluahela loomine koodiga!
Vooluahela loomine koodiga!
Vooluahela loomine koodiga!
Vooluahela loomine koodiga!
Vooluahela loomine koodiga!

Nagu ülaltoodud skeemidest näha, peame seadistama nupu, LDR -i ja lõpuks kaks RGB -LED -i. Kõigepealt seadistame leivalaua vasakus alanurgas oleva nupu. Nupu seadistamisel kasutame ühisraudteeliini, mis tähendab, et ühendame oma 3.3V positiivse ja negatiivse pinnasega. Kui olete lõpetanud ainult nupu vooluringi seadistamise.

Testime oma vooluringi, et näha, kas suudame selle nii teha, et kui nuppu vajutatakse, lülitame LED -i sisse järgmise koodi abil:

#Imported Modulesfp gpiozero import nupust picamera import PiCamera ajast importimise unerežiimist

#Seadistamine

Kaamera = PiCamera () Nupp = Nupp (22)

#Pildistamisfunktsioon, olen otsustanud selle määratleda, kuna see aitab meil põhikoodi puhastada

def photocap ():

Camera.start_preview ()

unerežiim (5) Camera.capture ('/home/pi/Desktop/image.jpg') print ("Foto on tehtud") Camera.stop_preview ()

#Põhikood:

samas tõsi: kui Button.is_pressed: print ("Nupule vajutati") photocap ()

#Miks see toimib? Põhikood töötab, kuna kõik, mida me teeme, on käsu if

Nüüd seadistame 2 RGB LED -i kuni ahela ülaosani ja eraldame need leivaplaadi keskel ja muudame sümmeetriliseks. Kui teil pole selle projekti jaoks 220 oomi takistit, saate need paralleelselt seadistada, sõltuvalt teie takistite takistusest. 4 kontaktiga RGB LED -i teine tihvt (pikim peaks olema raudteega maandusega ühendatud. Teised tihvtid tuleks ühendada oma GPIO -tihvtidega. (Esimene tihvt = punane, teine tihvt = maandus, kolmas tihvt = roheline, Neljas tihvt = sinine).

Testime ühte meie RGB LED -idest oma nupuahelas järgmise koodiga:

#Imporditud moodulid gpiozero importnupust picamera import PiCamera

gpiozero import RGBLED

ajast importige uni

#Seadistamine

Kaamera = PiCamera () Nupp = Nupp (22)

TimedLED = RGBLED (punane = 21, roheline = 20, sinine = 16)

#Pildistusfunktsioon koos RGB LED -iga, olen otsustanud selle määratleda, kuna see aitab meil põhikoodi puhastada

def photocap (): Camera.start_preview () uni (4)

timedled.color (1, 0, 0)

magama (2)

timedled.color (0, 1, 0)

magama (1)

Camera.capture ('/home/pi/Desktop/image.jpg') print ("Foto on tehtud") Camera.stop_preview ()

#Põhikood:

kuigi tõsi:

kui Button.is_pressed:

print ("Nuppu vajutati") photocap ()

#Miks see töötab: Selle koodi toimimise põhjus on see, et nüüd saime RGBLED -i töötama taimerina foto tegemise ajaks.

Nüüd seadistage kergelt sõltuv takisti leivaplaadi paremasse alumisse serva, kasutades ülaosas olevat diagrammi ja ülalkirjeldatud ühisraudteid. Pidage meeles, et LDR -i mõlemad pikad jalad ja kapitsitaator peavad olema GPIO -tihvtiga ühendatud.

Pärast LDR -i ühendamist kasutame järgmist koodi:

#Imporditud moodulid

gpiozero impordi nupust

alates picamera import PiCamera alates gpiozero import RGBLED

gpiozero import LightSensor

ajast importige uni

#Seadistamine

Kaamera = PiCamera () Nupp = Nupp (22) TimedLED = RGBLED (punane = 21, roheline = 20, sinine = 16)

LightSensor = Valgusandur (23)

#Pildistusfunktsioon koos RGB LED -iga, olen otsustanud selle määratleda, kuna see aitab meil põhikoodi puhastada

def photocap (): Camera.start_preview () uni (4) timedled.color (1, 0, 0) uni (2) ajastatud.värv (0, 1, 0) uni (1) Camera.capture ('/home/ pi/Desktop/image-j.webp

#Põhikood:

kuigi tõsi:

kui Button.is_pressed: print ("Nuppu vajutati") photocap ()

kui Button.is_pressed ja Lightsensor.when_dark:

print ("Nupule vajutati")

print ("See on pime")

fotokaas ()

#Miks see toimib? Valgusanduri lisamine minu koodile toimub teise if -lause kaudu, mis sisaldab valgusanduri imporditud funktsiooni.

Selle projekti viimane samm oleks aktiveerida teine RGBLED -sümmeetriline, et töötada välklambina.

Lõplik kood:

gpiozero impordi nupust

alates picamera import PiCamera

gpiozero import RGBLED

gpiozero import LightSensor

ajast importige uni

#Seadistamine

Kaamera = PiCamera ()

Nupp = nupp (22)

TimedLED = RGBLED (punane = 21, roheline = 20, sinine = 16)

FlashLED = RGBLED (punane = 19, roheline = 13, sinine = 6)

LightSensor = Valgusandur (23)

#Pildistusfunktsioon koos RGB LED -iga, olen otsustanud selle määratleda, kuna see aitab meil puhastada põhikoodi def photocap (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0) uni (2) timedled.color (0, 1, 0) uni (1) Camera.capture ('/home/pi/Desktop/image.jpg') print ("Foto on tehtud") Camera.stop_preview () # Põhikood: tõsi: kui Button.is_pressed:

print ("Nuppu vajutati")

fotokaas ()

kui Button.is_pressed ja Lightsensor.when_dark:

print ("Nupule vajutati") print ("See on pime")

FlashLED.värv (1, 1, 1)

fotokaas ()

#Miks see toimib? See, kuidas ma oma taskulampi lisasin, on RGB -d kasutades valge värv, mis on 1, 1, 1 ja see toimib ainult juhul, kui väide on tõene.

Soovitan: