2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
To vam bo pokazalo, kako narediti avtomatizirano foto kabino z uporabo maline pi, ultrazvočnega senzorja razdalje in nekaj drugih dodatkov. Želel sem narediti projekt, ki uporablja tako prefinjeno strojno opremo kot program, ki je prefinjen. Tovrstne projekte sem raziskal na strani virov maline pi, nekateri od teh projektov so fizično računalništvo s pythonom in mikro bitni selfie. Eden od teh je pokazal, kako uporabljati kamero maline pi, drugi pa uporabo ultrazvočnega senzorja razdalje.
1. korak: Materiali
Preden začnemo graditi vezje, boste potrebovali nekaj materialov:
1 x Raspberry Pi 3
1 x T-Cobbler
1 x Pi kamera
1 x ultrazvočni senzor razdalje
3 x RGB LED diode
10 x 330 ohmski upori
1 x 560 ohmski upor
5 x tuljava različnih barvnih kablov
1 x Deska
2. korak: Izdelava kroga
Tako sem se lotil povezovanja vezja:
1. Za izdelavo tega vezja bi želeli kamero Raspberry Pi priključiti v ustrezno vtičnico
2. Priključite T-Cobbler na mizo.
3. S pomočjo mostičnih kablov po dolžini povežite enega z vodilom za napajanje, drugega pa z ozemljitvijo
4. Priključite ultrazvočni senzor razdalje in "vcc" nogo priključite na napajanje, "gnd" v zemljo, "trig" v pin GPIO, "echo" pa na 330 ohmski upor, ki se poveže z uporom 560 ohmov ki je priključen na ozemljitev in pin GPIO.
5. Tri RGB LED diode postavite na linijo, ki povezuje anodo LED diod, in priključite različne noge, ki nadzorujejo barvo LED, na 330 ohmske upori in nato na zatiče GPIO.
3. korak: Koda
Da bi Raspberry Pi uporabljal zatiče GPIO, bi morali kode kodirati, da bi kaj naredili. Za izdelavo kode sem uporabil python 3 IDLE. Koda, ki sem jo naredil, za delovanje uporablja RPi. GPIO in knjižnico gpiozero. Obstajajo postopki za različne barve in obstaja funkcija, ki izračuna razdaljo s pomočjo ultrazvočnega senzorja razdalje, in ko je nekaj v dosegu, odpre predogled pi kamere, LED -diode bodo odštevale in nato posnela sliko.
Tu je koda, ki sem jo uporabil:
iz picamere uvoz PiCameraod gumba za uvoz gpiozero, LED od časa uvoza spanja uvoz uvoza RPi. GPIO kot čas uvoza GPIO
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 nastavitve (GPIO. BCM) GPIO_TRIGGER = 19 GPIO_ECHO = 26 GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN)
def rdeče (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 zelena (x):
r [x].on () g [x].off () b [x].on ()
def modra (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 () medtem ko je GPIO.input (GPIO_ECHO) == 0: StartTime = čas.time () medtem ko je GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () TimeElapsed = StopTime - StartTime razdalja = (TimeElapsed *34300) / 2 povratna razdalja
izklopljeno ()
medtem ko je True: d = razdalja () če je int (d) <= 30: s PiCamera () kot kamero: camera.start_preview () rdeča (0) spanje (1) modra (1) spanje (1) zelena (2) spanje (1) off () camera.capture ('selfie.jpg') camera.stop_preview ()