Taula de continguts:
- Pas 1: què necessiteu
- Pas 2: Connexió del mòdul de càmera
- Pas 3: Configuració de la càmera
- Pas 4: proveu el mòdul de la càmera
- Pas 5: Creació del circuit amb codi
Vídeo: Photobooth de Raspberry Pi: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
El propòsit:
- Obteniu informació sobre com codificar i instal·lar una càmera Pi
- Utilitzant instruccions define i if a la codificació
- Aprendre a utilitzar noves tecnologies com els LED RGB
Pas 1: què necessiteu
- 1 Raspberry Pi 3
- Taula de pa
- Saltadors
- 1 resistència dependent de la llum
- 1 condensador
- 1 polsador
- 6 resistències de 220 Ohm
- 2 LED RGB
- 1 càmera Raspberry Pi
Pas 2: Connexió del mòdul de càmera
Primer de tot, amb el Pi apagat, haureu de connectar el mòdul de càmera al port de la càmera del Raspberry Pi i, a continuació, engegueu el Pi i assegureu-vos que el programari està habilitat.
- Localitzeu el port de la càmera que hi ha entre el port HDMI i el port de 3,5 mm
- Estireu el clip de la càmera per les vores de plàstic fins que el clip quedi en diagonal
- Ara introduïu el cable de les càmeres amb el color blau cap al port de 3,5 mm
Pas 3: Configuració de la càmera
Obrir l'eina de configuració de Raspberry Pi des del menú principal i desactivar i habilitar totes les interfícies anteriors
Al menú principal, obriu el terminal i escriviu les línies de codi següents:
Sudo Raspi-config
A partir d'aquí, utilitzeu les tecles de fletxa per funcionar a través del sistema i feu clic a l'opció Connexió perifèrica i des del seu clic a Càmera P1 i activeu la càmera i seleccioneu Finalitza. Tornant al tipus de terminal a les següents línies de codi:
pip instal·la picamera
o Sudo pip instal·la Picamera
Pas 4: proveu el mòdul de la càmera
A partir d’aquí podem provar si la càmera funciona o no perquè tenim tot el programari i maquinari habilitat.
Obriu Python 3 al menú
Des d'allà, obriu un fitxer nou des de l'intèrpret d'ordres i deseu-lo com a cameratest.py.
Introduïu el codi següent:
a partir de la importació de la càmera: el mòdul PiCamera #imported creat a partir del comandament pip install pi de la càmera, des de la importació del temps sleep #imported sleep per assegurar-nos que la nostra càmera es mantingui a la càmera = PiCamera () #Setup for the camera
camera.start_preview () # posa en marxa la càmera i us mostra l'aspecte de la sortida de la càmera
sleep (10) # deixa activada la previsualització durant 10 segons
camera.stop_preview () # finalment surt de la previsualització
Executeu el codi per F5
Si rep aquest error en executar el codi:
(mmal: mmal_vc_component_create: no s'ha pogut crear el component 'vc.ril.camera' (1: ENOMEM)
mmal: mmal_component_create_core: no s'ha pogut crear el component 'vc.ril.camera' (1) Traceback (última trucada més recent): fitxer "", línia 1, a Fitxer "/usr/lib/python2.7/dist-packages/picamera /camera.py ", línia 257, a _init_ self._init_camera () Fitxer" /usr/lib/python2.7/dist-packages/picamera/camera.py ", línia 288, a _init_camera prefix =" No s'ha pogut crear la càmera component ") Fitxer" /usr/lib/python2.7/dist-packages/picamera/exc.py ", línia 112, en mmal_check augmentar PiCameraMMALError (estat, prefix) picamera.exc. PiCameraMMALError: no s'ha pogut crear el component de la càmera: fora de memòria)
Aneu a la configuració de Raspberry Pi, aneu a la columna de rendiment i augmenteu la memòria de la GPU fins que l’error hagi desaparegut (heu de reiniciar).
Ara, per crear una foto que es desarà a l'escriptori, utilitzarem el codi següent:
des de la importació de la càmera El mòdul PiCamera #Imported creat a partir de la comanda pip install pi de la càmera a partir de la importació del temps sleep #Imported sleep per assegurar-nos que la nostra càmera es manté encesa
camera = PiCamera () #Configuració de la càmera
camera.start_preview () # Inicia la previsualització (5) # Deixa activada la previsualització durant 5 segons
camera.capture ('/ home / pi / Desktop / image.jpg') # Des del fitxer
camera.stop_preview () # Atura la vista prèvia
Pas 5: Creació del circuit amb codi
Com es veu més amunt als diagrames de circuits, hem de configurar un botó, un LDR i, finalment, dos LED RGB. En primer lloc, configurarem el botó a la part inferior esquerra de la taula de treball. Durant la configuració del botó, utilitzarem les línies de ferrocarril habituals, és a dir, connectarem el nostre 3.3V en positiu i el terra en negatiu. Un cop hàgiu acabat la configuració del circuit només per al botó.
Provarem el nostre circuit per veure si podem fer-ho de manera que si es prem el botó encenem el led mitjançant el següent codi:
#Mòduls importats des de la importació gpiozero Botó de la importació de càmeres PiCamera des de la importació del temps de suspensió
#Configuració
Càmera = PiCamera () Botó = Botó (22)
Funció #Photo taking, he decidit posar-la en una funció de definició, ja que ens ajuda a netejar el codi principal
photocap def ():
Camera.start_preview ()
sleep (5) Camera.capture ('/ home / pi / Desktop / image.jpg') print ("S'ha fet la foto") Camera.stop_preview ()
#Codi principal:
mentre és cert: si Button.is_pressed: print ("Es va prémer el botó") photocap ()
#Per què funciona: el codi principal funciona igual que tot el que estem fent és utilitzar l'ordre if button.is_pressed en una sentència true mentre que s'actualitza constantment quan es prem el botó per fer la foto
Ara configurarem 2 LED RGB fins a la part superior del circuit i els separarem al mig de la taula de treball i farem que sigui simètric. Si no teniu resistències de 220 ohm per a aquest projecte, podeu configurar-les en paral·lel en funció de la vostra resistència per a les resistències que tingueu. El segon pin del LED RGB de 4 pins (el més llarg s’ha de connectar a terra a través del ferrocarril. Els altres pins han d’estar tots connectats als seus propis pins GPIO. (Primer pin = vermell, Segon pin = terra, Tercer Pin = verd, Quart pin = blau).
Provarem un dels nostres LED RGB al nostre circuit de botons amb el codi següent:
#Mòduls importats des de la importació de gpiozero Botó d'importació de càmera PiCamera
des de la importació gpiozero RGBLED
a partir del temps importació de son
#Configuració
Càmera = PiCamera () Botó = Botó (22)
TimedLED = RGBLED (vermell = 21, verd = 20, blau = 16)
Funció de presa de fotos amb LED RGB, he decidit posar-la en una funció de definició, ja que ens ajuda a netejar el codi principal
def photocap (): Camera.start_preview () sleep (4)
timedled.color (1, 0, 0)
dormir (2)
timedled.color (0, 1, 0)
dormir (1)
Camera.capture ('/ home / pi / Desktop / image.jpg') print ("S'ha fet la foto") Camera.stop_preview ()
#Codi principal:
mentre que és cert:
si Button.is_pressed:
imprimir ("Es va prémer el botó") photocap ()
#Per què funciona: la raó per la qual aquest codi funciona és perquè ara hem aconseguit que el RGBLED funcioni com a temporitzador de quan es farà la foto
Ara configureu la resistència Light Dependent a la part inferior dreta de la taula de treball utilitzant el diagrama fins a la part superior i els ferrocarrils comuns comentats abans. Recordeu que les dues potes llargues del LDR i del capicitator han d’estar connectades al pin GPIO.
Després de connectar el LDR, utilitzarem el codi següent:
# Mòduls importats
des del botó d'importació gpiozero
d'importació de càmera PiCamera d'importació gpiozero RGBLED
des de la importació de gpiozero LightSensor
a partir del temps importació de son
#Configuració
Càmera = PiCamera () Botó = Botó (22) TimedLED = RGBLED (vermell = 21, verd = 20, blau = 16)
LightSensor = LightSensor (23)
Funció de presa de fotos amb LED RGB, he decidit posar-la en una funció de definició, ja que ens ajuda a netejar el codi principal
def photocap (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0) sleep (2) timedled.color (0, 1, 0) sleep (1) Camera.capture ('/ home / pi / Desktop / image-j.webp
#Codi principal:
mentre que és cert:
si Button.is_pressed: print ("Es va prémer el botó") photocap ()
si Button.is_pressed i Lightsensor.when_dark:
imprimir ("Es va prémer el botó")
imprimir ("És fosc")
fotocapa ()
#Per què funciona: La manera com he afegit el sensor de llum al meu codi és mitjançant una altra sentència if que conté la funció importada del sensor de llum.
Ara el darrer pas d’aquest projecte seria activar l’altre RGBLED simètric a l’altre perquè funcioni com una llum de flaix, El codi final:
des del botó d'importació gpiozero
d'importació de càmeres d'imatges PiCamera
des de la importació gpiozero RGBLED
des de la importació de gpiozero LightSensor
a partir del temps importació de son
#Configuració
Càmera = PiCamera ()
Botó = Botó (22)
TimedLED = RGBLED (vermell = 21, verd = 20, blau = 16)
FlashLED = RGBLED (vermell = 19, verd = 13, blau = 6)
LightSensor = LightSensor (23)
Funció #Photo taking amb LED RGB, he decidit posar-la en una funció de definició, ja que ens ajuda a netejar el codi principal def photocap (): Camera.start_preview () sleep (4) timedled.color (1, 0, 0) sleep (2) timedled.color (0, 1, 0) sleep (1) Camera.capture ('/ home / pi / Desktop / image.jpg') print ("S'ha fet la foto") Camera.stop_preview () # Codi principal: while True: if Button.is_pressed:
imprimir ("Es va prémer el botó")
fotocapa ()
si Button.is_pressed i Lightsensor.when_dark:
imprimir ("Es va prémer el botó") imprimir ("És fosc")
FlashLED.color (1, 1, 1)
fotocapa ()
#Per què funciona: la forma en què he afegit la meva llanterna és mitjançant l'ús del led RGB per generar el color blanc que és 1, 1, 1 i només ho fa si la sentència if és certa.
Recomanat:
Instal·lació de Raspbian al Raspberry Pi 3 B sense HDMI - Introducció a Raspberry Pi 3B - Configuració del Raspberry Pi 3: 6 passos
Instal·lació de Raspbian al Raspberry Pi 3 B sense HDMI | Introducció a Raspberry Pi 3B | Configuració del vostre Raspberry Pi 3: Com alguns sabeu, els ordinadors Raspberry Pi són increïbles i podeu obtenir tot l’ordinador només en una sola petita placa. El Raspberry Pi 3 Model B compta amb un ARM Cortex A53 de 64 bits de quatre nuclis rellotge a 1,2 GHz. Això posa el Pi 3 aproximadament a 50
Raspberry Pi PhotoBooth: HTML5 i NodeJS: 4 passos
Raspberry Pi PhotoBooth: HTML5 i NodeJS: un photobooth HTML5 i NodeJS amb previsualització en directe i vores personalitzades. Aquest projecte va començar com una cosa que vaig construir per al ball escolar de la meva filla. Volia alguna cosa divertida perquè ella i els seus amics recordessin l'esdeveniment (que era l'última vegada que
Photobooth de casament / esdeveniment: 6 passos (amb imatges)
Photobooth de casaments / esdeveniments: Hola a tothom, em vaig casar l'any passat, quan buscàvem la preparació del dia D. Vam fer moltes convencions de casament. va ser una gran idea per a un casament, cada convidat va
Photobooth automatitzat: 4 passos (amb imatges)
Photobooth automàtic: us mostrarà com fer un fotomaton automàtic amb el raspberry pi, un sensor de distància ultrasònic i alguns altres accessoris. Volia fer un projecte que utilitzi tant maquinari sofisticat com un programa que sigui sofisticat. Busco de nou
Photobooth de bricolatge: 7 passos (amb imatges)
DIY Photobooth: aquest és un tutorial sobre com construir el vostre propi photobooth de manera similar als tradicionals que es veuen als centres comercials, parcs d'atraccions i centres comercials de tot el món. Tot i això, aquest estand és completament digital i és molt més barat / fàcil de fer a casa. Jo vaig