Inhoudsopgave:

Geautomatiseerde Photobooth: 4 stappen (met afbeeldingen)
Geautomatiseerde Photobooth: 4 stappen (met afbeeldingen)

Video: Geautomatiseerde Photobooth: 4 stappen (met afbeeldingen)

Video: Geautomatiseerde Photobooth: 4 stappen (met afbeeldingen)
Video: PhotoFilmStrip 2024, November
Anonim
Geautomatiseerde Photobooth
Geautomatiseerde Photobooth

Dit laat je zien hoe je een geautomatiseerde fotocabine kunt maken met behulp van de Raspberry Pi, een ultrasone afstandssensor en een paar andere accessoires. Ik wilde een project doen dat zowel geavanceerde hardware als een geavanceerd programma gebruikt. Ik heb projecten zoals deze onderzocht op de Raspberry pi-bronnenpagina, sommige van deze projecten zijn fysiek computergebruik met python en micro-bit selfie. Een daarvan liet zien hoe je de raspberry pi-camera moet gebruiken en de andere liet zien hoe je de ultrasone afstandssensor gebruikt.

Stap 1: Materialen

Materialen
Materialen

Voordat we beginnen met het bouwen van ons circuit heb je wat materialen nodig:

1 x Framboos Pi 3

1 x T-schoenmaker

1 x Pi-camera

1 x ultrasone afstandssensor

3 x RGB-LED's

10 x 330 Ohm Weerstanden

1 x 560 Ohm Weerstand

5 x spoel van verschillende gekleurde kabels

1 x Breadboard

Stap 2: Het circuit opbouwen

Het circuit bouwen
Het circuit bouwen
Het circuit bouwen
Het circuit bouwen
Het circuit bouwen
Het circuit bouwen
Het circuit bouwen
Het circuit bouwen

Dit is de manier waarop ik mijn circuit heb aangesloten:

1. Om dit circuit te maken, zou je de Raspberry Pi-camera op de juiste aansluiting willen aansluiten

2. Sluit de T-Cobbler aan op het breadboard.

3. Gebruik startkabels met aangepaste lengte om er een op de stroomrail en een op de grondrail aan te sluiten

4. Sluit de ultrasone afstandssensor aan en steek de 'vcc'-poot in de voeding, de 'gnd' in aarde, 'trig' in een GPIO-pin en de 'echo' in een weerstand van 330 ohm die wordt aangesloten op een weerstand van 560 ohm die is verbonden met aarde en een GPIO-pin.

5. Plaats de drie RGB-LED's op het breadboard inline en verbind de anode van de LED's met de voeding, en verbind de verschillende poten die de kleur van de LED's regelen met weerstanden van 330 ohm en vervolgens met GPIO-pinnen.

Stap 3: De code

Om de Raspberry Pi de GPIO-pinnen te laten gebruiken, zouden we de pinnen moeten coderen om iets te doen. Om de code te maken die ik heb gemaakt, heb ik python 3 IDLE gebruikt. De code die ik heb gemaakt, gebruikt zowel de RPi. GPIO als de gpiozero-bibliotheek om te functioneren. Er zijn procedures voor de verschillende kleuren en er is een functie die de afstand berekent met behulp van de ultrasone afstandssensor en wanneer er iets binnen bereik is, wordt het voorbeeld van de pi-camera geopend en zullen de LED's aftellen en wordt er een foto gemaakt.

Hier is de code die ik heb gebruikt:

from picamera import PiCamerafrom gpiozero import Button, LED van time import sleep import RPi. GPIO als GPIO import time

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

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

def rood(x):

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

def uit(x):

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

def uit():

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()

def groen(x):

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

def blauw(x):

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

def uitvoeren():

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

def afstand():

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 = tijd.time() while GPIO.input(GPIO_ECHO) == 1: StopTime = time.time() TimeElapsed = StopTime - StartTime afstand = (TimeElapsed *34300) / 2 retourafstand

uit()

while True: d = distance() if int(d) <= 30: met PiCamera() als camera: camera.start_preview() red(0) sleep(1) blue(1) sleep(1) green(2) sleep (1) off() camera.capture('selfie.jpg') camera.stop_preview()

Aanbevolen: