2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Ovo će vam pokazati kako napraviti automatiziranu foto kabinu pomoću maline pi, ultrazvučnog senzora udaljenosti i nekoliko drugih dodataka. Htio sam napraviti projekt koji koristi i sofisticirani hardver i program koji je sofisticiran. Istraživao sam ovakve projekte na stranici resursa raspberry pi, neki od tih projekata su fizičko računanje s pythonom i mikro bit selfie. Jedna od njih je pokazala kako se koristi malina pi kamera, a druga je pokazala kako se koristi ultrazvučni senzor udaljenosti.
Korak 1: Materijali
Prije nego počnemo graditi naš krug, trebat će vam nekoliko materijala:
1 x malina Pi 3
1 x T-postolar
1 x Pi kamera
1 x ultrazvučni senzor udaljenosti
3 x RGB LED diode
Otpornici 10 x 330 Ohma
1 x 560 Ohm otpornik
5 x kalem različitih kablova
1 x Oglasna ploča
Korak 2: Izgradnja kruga
Ovo je način na koji sam povezao svoj krug:
1. Za izradu ovog kruga želite priključiti kameru Raspberry Pi u odgovarajuću utičnicu
2. Priključite T-Cobbler na ploču za kruh.
3. Pomoću kratkospojnih kabela prilagođene duljine jedan spojite na razvodnik, a drugi na uzemljenje
4. Priključite ultrazvučni senzor udaljenosti i uključite "vcc" nogu u napajanje, "gnd" u masu, "trig" u GPIO pin, a "echo" u otpornik od 330 ohma koji se spaja na otpornik od 560 ohma koji je spojen na masu i GPIO pin.
5. Postavite tri RGB LED diode na matičnu ploču koja povezuje anodu LED dioda na napajanje i spojite različite nožice koje kontroliraju boju LED dioda na otpornike od 330 ohma, a zatim na GPIO pinove.
Korak 3: Kôd
Da bi Raspberry Pi mogao koristiti GPIO pinove, morali bismo kodirati pinove da bismo nešto učinili. Za izradu koda koji sam napravio koristio sam python 3 IDLE. Kôd koji sam napravio koristi RPi. GPIO kao i biblioteku gpiozero za rad. Postoje postupci za različite boje, a postoji i funkcija koja izračunava udaljenost pomoću ultrazvučnog senzora udaljenosti, a kada postoji nešto u rasponu, otvorit će pregled kamere pi, a LED diode će odbrojavati, a zatim se slika.
Evo koda koji sam koristio:
s picamera import PiCameraiz gpiozero dugmeta za uvoz, LED sa vremena import import sleep uvoz RPi. GPIO kao vrijeme GPIO uvoza
r = [LED (23), LED (25), LED (12)]
g = [LED (16), LED (20), LED (21)] b = [LED (17), LED (27), LED (22)] gumb = Gumb (24) GPIO.način rada (GPIO. BCM) GPIO_TRIGGER = 19 GPIO_ECHO = 26 GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN)
def crveno (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 plava (x):
r [x].on () g [x].on () b [x].off ()
def run ():
camera.capture ('selfie.jpg') camera.stop_preview ()
def distance ():
GPIO.output (GPIO_TRIGGER, True) time.sleep (0.00001) GPIO.output (GPIO_TRIGGER, False) StartTime = time.time () StopTime = time.time () dok je GPIO.input (GPIO_ECHO) == 0: StartTime = vrijeme.time () dok je GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () TimeElapsed = StopTime - StartTime udaljenost = (TimeElapsed *34300) / 2 povratna udaljenost
isključeno ()
dok je True: d = udaljenost () ako je int (d) <= 30: s PiCamera () kao kamerom: camera.start_preview () crveno (0) spavanje (1) plavo (1) spava (1) zeleno (2) spava (1) off () camera.capture ('selfie.jpg') camera.stop_preview ()