Automatisierte Photobooth - Gunook
Automatisierte Photobooth - Gunook
Anonim
Automatisierte Photobooth
Automatisierte Photobooth

Dies zeigt Ihnen, wie Sie mit dem Himbeer-Pi, einem Ultraschall-Abstandssensor und einigen anderen Zubehörteilen eine automatisierte Fotokabine bauen. Ich wollte ein Projekt machen, das sowohl hoch entwickelte Hardware als auch ein hoch entwickeltes Programm verwendet. Ich habe Projekte wie dieses auf der Seite mit den Raspberry Pi-Ressourcen recherchiert, einige dieser Projekte sind Physical Computing mit Python und Micro-Bit-Selfie. Einer davon zeigte, wie man die Himbeer-Pi-Kamera verwendet, und der andere zeigte, wie man den Ultraschall-Abstandssensor verwendet.

Schritt 1: Materialien

Materialien
Materialien

Bevor wir mit dem Bau unserer Schaltung beginnen, benötigen Sie einige Materialien:

1 x Raspberry Pi 3

1 x T-Schuster

1 x Pi-Kamera

1 x Ultraschall-Abstandssensor

3 x RGB-LEDs

10 x 330 Ohm Widerstände

1 x 560 Ohm Widerstand

5 x Spule mit verschiedenfarbigen Kabeln

1 x Steckbrett

Schritt 2: Bau der Schaltung

Bau der Strecke
Bau der Strecke
Bau der Strecke
Bau der Strecke
Bau der Strecke
Bau der Strecke
Bau der Strecke
Bau der Strecke

So habe ich meine Schaltung angeschlossen:

1. Um diese Schaltung herzustellen, müssen Sie die Raspberry Pi-Kamera an die entsprechende Buchse anschließen

2. Stecken Sie den T-Cobbler in das Steckbrett.

3. Verbinden Sie mit benutzerdefinierten Überbrückungskabeln eines mit der Stromschiene und eines mit der Erdungsschiene

4. Stecken Sie den Ultraschall-Abstandssensor ein und stecken Sie das 'vcc'-Bein an die Stromversorgung, das 'gnd' an Masse, 'trig' an einen GPIO-Pin und das 'echo' an einen 330-Ohm-Widerstand, der mit einem 560-Ohm-Widerstand verbunden ist das ist mit Masse und einem GPIO-Pin verbunden.

5. Setzen Sie die drei RGB-LEDs auf das Steckbrett, um die Anode der LEDs mit der Stromversorgung zu verbinden, und verbinden Sie die verschiedenen Beine, die die Farbe der LEDs steuern, mit 330-Ohm-Widerständen und dann mit GPIO-Pins.

Schritt 3: Der Code

Damit der Raspberry Pi die GPIO-Pins verwendet, müssen wir die Pins codieren, um etwas zu tun. Um den von mir erstellten Code zu erstellen, habe ich Python 3 IDLE verwendet. Der von mir erstellte Code verwendet die RPi. GPIO sowie die gpiozero-Bibliothek, um zu funktionieren. Es gibt Verfahren für die verschiedenen Farben und es gibt eine Funktion, die den Abstand mit dem Ultraschall-Abstandssensor berechnet und wenn sich etwas in Reichweite befindet, wird die Pi-Kamera-Vorschau geöffnet und die LEDs werden heruntergezählt und dann wird ein Bild aufgenommen.

Hier ist der Code, den ich verwendet habe:

from picamera import PiCamerafrom gpiozero import Button, LED from 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)] Taste = Taste(24) GPIO.setmode(GPIO. BCM) GPIO_TRIGGER = 19 GPIO_ECHO = 26 GPIO.setup(GPIO_TRIGGER, GPIO. OUT) GPIO.setup(GPIO_ECHO, GPIO. IN)

def rot(x):

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

def aus(x):

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

def aus():

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 grün(x):

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

def blau(x):

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

def run():

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

def abstand():

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 Strecke = (TimeElapsed *34300) / 2 Rückweg

aus()

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