Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Dzięki temu dowiesz się, jak zrobić zautomatyzowaną fotobudkę przy użyciu raspberry pi, ultradźwiękowego czujnika odległości i kilku innych akcesoriów. Chciałem zrobić projekt wykorzystujący zarówno wyrafinowany sprzęt, jak i wyrafinowany program. Badałem takie projekty na stronie zasobów raspberry pi, niektóre z tych projektów to fizyczne przetwarzanie za pomocą Pythona i mikro-bitowe selfie. Jeden z nich pokazał, jak korzystać z kamery raspberry pi, a drugi, jak korzystać z ultradźwiękowego czujnika odległości.
Krok 1: Materiały
Zanim zaczniemy budować nasz obwód będziesz potrzebować kilku materiałów:
1 x Raspberry Pi 3
1 x T-szewc
1 x kamera Pi;
1 x ultradźwiękowy czujnik odległości
3 diody LED RGB
Rezystory 10 x 330 omów
Rezystor 1x560 omów
5 x szpula różnych kolorowych kabli
1 x deska do krojenia chleba
Krok 2: Budowanie obwodu
Oto sposób, w jaki poszedłem na podłączenie mojego obwodu:
1. Aby wykonać ten obwód, chciałbyś podłączyć kamerę Raspberry Pi do odpowiedniego gniazda
2. Podłącz T-Cobblera do płytki stykowej.
3. Za pomocą kabli rozruchowych o niestandardowej długości podłącz jeden do szyny zasilającej, a drugi do szyny uziemiającej
4. Podłącz ultradźwiękowy czujnik odległości i podłącz nogę „vcc” do zasilania, „gnd” do uziemienia, „trig” do pinu GPIO, a „echo” do rezystora 330 omów, który łączy się z rezystorem 560 omów który jest podłączony do masy i pinu GPIO.
5. Umieść trzy diody LED RGB na płytce stykowej w linii łączącej anodę diod LED z zasilaniem i podłącz różne nóżki kontrolujące kolor diod LED do rezystorów 330 omów, a następnie do pinów GPIO.
Krok 3: Kodeks
Aby Raspberry Pi używało pinów GPIO, musielibyśmy zakodować piny, aby coś zrobić. Aby zrobić kod, który zrobiłem, użyłem Pythona 3 IDLE. Wykonany przeze mnie kod wykorzystuje do działania zarówno RPi. GPIO, jak i bibliotekę gpiozero. Istnieją procedury dla różnych kolorów i istnieje funkcja, która oblicza odległość za pomocą ultradźwiękowego czujnika odległości, a gdy coś jest w zasięgu, otworzy podgląd kamery pi, a diody LED odliczą, a następnie zostanie zrobione zdjęcie.
Oto kod, którego użyłem:
from picamera import PiCamerafrom gpiozero import Button, LED from time import sleep import RPi. GPIO as GPIO import time
r = [LED (23), LED (25), LED (12)]
g = [LED (16), LED (20), LED (21)] b = [LED (17), LED (27), LED (22)] przycisk = Przycisk (24) GPIO.setmode(GPIO. BCM) GPIO_TRIGGER = 19 GPIO_ECHO = 26 GPIO.setup(GPIO_TRIGGER, GPIO. OUT) GPIO.setup(GPIO_ECHO, GPIO. IN)
def czerwony(x):
r[x].off() g[x].on() b[x].on()
def wył(x):
r[x].on() g[x].on() b[x].on()
def wył():
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 zielony(x):
r[x].on() g[x].off() b[x].on()
def niebieski(x):
r[x].on() g[x].on() b[x].off()
zdefiniuj uruchom():
camera.capture('selfie.jpg') camera.stop_preview()
odległość zdefiniuj():
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 = czas.time() while GPIO.input(GPIO_ECHO) == 1: StopTime = time.time() TimeElapsed = StopTime - Odległość StartTime = (TimeElapsed *34300) / 2 odległość powrotu
wyłączony()
while True: d = distance() if int(d) <= 30: z PiCamera() jako kamerą: camera.start_preview() red(0) sleep(1) blue(1) sleep(1) green(2) sleep (1) off() camera.capture('selfie.jpg') camera.stop_preview()