2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
To vám ukáže, jak vytvořit automatický fotografický stánek pomocí malinového pi, ultrazvukového senzoru vzdálenosti a několika dalších doplňků. Chtěl jsem udělat projekt, který používá sofistikovaný hardware i program, který je propracovaný. Zkoumal jsem projekty jako je tento na stránce zdrojů Raspberry Pi, některé z těchto projektů jsou fyzické výpočty s pythonem a mikro bit selfie. Jeden z nich ukázal, jak používat malinový pi fotoaparát a druhý ukázal, jak používat ultrazvukový snímač vzdálenosti.
Krok 1: Materiály
Než začneme stavět náš okruh, budete potřebovat nějaké materiály:
1 x Raspberry Pi 3
1 x T-ševec
1 x Pi kamera
1 x ultrazvukový snímač vzdálenosti
3 x RGB LED
Rezistory 10 x 330 ohmů
1 x rezistor 560 ohmů
5 x cívka různých barevných kabelů
1 x prkénko
Krok 2: Budování Circutu
Toto je způsob, jakým jsem postupoval při připojování svého obvodu:
1. Pro vytvoření tohoto obvodu budete chtít zapojit kameru Raspberry Pi do příslušné zásuvky
2. Zapojte T-Cobbler do prkénka.
3. Pomocí propojovacích kabelů vlastní délky připojte jeden k napájecí liště a jeden k zemnící liště
4. Zapojte ultrazvukový snímač vzdálenosti a zapojte „vcc“nohu do napájení, „gnd“do země, „trig“do kolíku GPIO a „echo“do odporu 330 ohmů, který se připojí k odporu 560 ohmů který je připojen k uzemnění a kolíku GPIO.
5. Umístěte tři RGB LED diody na propojovací desku připojující anodu LED k napájení a připojte různé nožičky, které ovládají barvu LED diod k 330 ohmovým rezistorům a poté k GPIO pinům.
Krok 3: Kód
Aby Raspberry Pi používalo GPIO piny, potřebovali bychom je kódovat, abychom něco udělali. K vytvoření kódu, který jsem vytvořil, jsem použil python 3 IDLE. Kód, který jsem vytvořil, používá k fungování knihovnu RPi. GPIO i gpiozero. Existují postupy pro různé barvy a existuje funkce, která vypočítá vzdálenost pomocí ultrazvukového senzoru vzdálenosti, a když je něco v dosahu, otevře náhled pi kamery a diody LED odpočítají a poté se pořídí snímek.
Zde je kód, který jsem použil:
z picamera import PiCamera z gpiozero import Tlačítko, LED z času import spánku import RPi. GPIO jako čas GPIO import
r = [LED (23), LED (25), LED (12)]
g = [LED (16), LED (20), LED (21)] b = [LED (17), LED (27), LED (22)] tlačítko = Tlačítko (24) GPIO.setmode (GPIO. BCM) GPIO_TRIGGER = 19 GPIO_ECHO = 26 GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN)
def red (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 ()
def green (x):
r [x].on () g [x].off () b [x].on ()
def blue (x):
r [x].on () g [x].on () b [x].off ()
def run ():
camera.capture ('selfie.jpg') camera.stop_preview ()
def vzdálenost ():
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
vypnuto()
while True: d = vzdálenost () if int (d) <= 30: s PiCamera () jako kamera: kamera.start_preview () červená (0) spánek (1) modrá (1) spánek (1) zelená (2) spánek (1) off () camera.capture ('selfie.jpg') camera.stop_preview ()