Cuprins:

Photobooth automat: 4 pași (cu imagini)
Photobooth automat: 4 pași (cu imagini)

Video: Photobooth automat: 4 pași (cu imagini)

Video: Photobooth automat: 4 pași (cu imagini)
Video: EY PhotoBooth - 360 Video Booth 2024, Noiembrie
Anonim
Photobooth automatizat
Photobooth automatizat

Acest lucru vă va arăta cum să realizați o cabină foto automată folosind raspberry pi, un senzor de distanță cu ultrasunete și alte câteva accesorii. Am vrut să fac un proiect care utilizează atât hardware sofisticat, cât și un program care este sofisticat. Am cercetat astfel de proiecte pe pagina de resurse raspberry pi, unele dintre aceste proiecte sunt calcule fizice cu python și selfie micro bit. Unul dintre acestea a arătat cum să utilizați camera cu raspberry pi, iar celălalt a arătat cum să utilizați senzorul de distanță cu ultrasunete.

Pasul 1: Materiale

Materiale
Materiale

Înainte de a începe să construim circuitul nostru, veți avea nevoie de câteva materiale:

1 x Raspberry Pi 3

1 x T-Cobbler

1 x cameră Pi

1 x senzor de distanță cu ultrasunete

3 x LED-uri RGB

Rezistențe de 10 x 330 Ohmi

1 x rezistor de 560 ohmi

5 x bobină de cabluri de diferite culori

1 x panou de pâine

Pasul 2: Construirea Circut

Construind Circut
Construind Circut
Construind Circut
Construind Circut
Construind Circut
Construind Circut
Construind Circut
Construind Circut

Acesta este modul în care am mers despre conectarea circuitului meu:

1. Pentru a realiza acest circuit, ați dori să conectați camera Raspberry Pi la soclul corespunzător

2. Conectați T-Cobbler la panoul de control.

3. Folosind cabluri jumper cu lungime personalizată, conectați unul la șina de alimentare și unul la șina de la sol

4. Conectați senzorul de distanță ultrasonic și conectați piciorul „vcc” la alimentare, „gnd” la sol, „trig” la un pin GPIO și „ecoul” la un rezistor de 330 ohmi care se conectează la un rezistor de 560 ohmi care este conectat la masă și un pin GPIO.

5. Puneți cele trei LED-uri RGB pe linia panoului de conectare conectând anodul LED-urilor la alimentare și conectați diferitele picioare care controlează culoarea LED-urilor la rezistențele de 330 ohmi și apoi la pinii GPIO.

Pasul 3: Codul

Pentru ca Raspberry Pi să folosească pinii GPIO, ar trebui să codificăm pinii pentru a face ceva. Pentru a face codul pe care l-am făcut, am folosit python 3 IDLE. Codul pe care l-am făcut folosește RPi. GPIO, precum și biblioteca gpiozero pentru a funcționa. Există proceduri pentru diferitele culori și există o funcție care calculează distanța folosind senzorul de distanță cu ultrasunete și atunci când există ceva în raza de acțiune, va deschide previzualizarea camerei pi, LED-urile vor număra invers și apoi va fi făcută o fotografie.

Iată codul pe care l-am folosit:

de la picamera import PiCamera de la gpiozero import Buton, LED din timp import somn import RPi. GPIO ca timp de import GPIO

r = [LED (23), LED (25), LED (12)]

g = [LED (16), LED (20), LED (21)] b = [LED (17), LED (27), LED (22)] buton = Buton (24) GPIO.setmode (GPIO. BCM) GPIO_TRIGGER = 19 GPIO_ECHO = 26 GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN)

roșu def (x):

r [x].off () g [x].on () b [x].on ()

def off (x):

r [x].on () g [x].on () b [x].on ()

def off ():

r [0].on () g [0].on () b [0].on () r [1].on () g [1].on () b [1].on () r [2].on () g [2].on () b [2].on ()

verde def (x):

r [x].on () g [x].off () b [x].on ()

albastru def (x):

r [x].on () g [x].on () b [x].off ()

def run ():

camera.capture ('selfie.jpg') camera.stop_preview ()

distanța def ():

GPIO.output (GPIO_TRIGGER, True) time.sleep (0.00001) GPIO.output (GPIO_TRIGGER, False) StartTime = time.time () StopTime = time.time () while GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () while GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () TimeElapsed = StopTime - StartTime distance = (TimeElapsed * 34300) / 2 return distance

off ()

în timp ce True: d = distance () if int (d) <= 30: with PiCamera () as camera: camera.start_preview () red (0) sleep (1) blue (1) sleep (1) green (2) sleep (1) off () camera.capture ('selfie.jpg') camera.stop_preview ()

Recomandat: