Spisu treści:

Czujnik ultradźwiękowy do rejestrowania zmian położenia obiektów: 3 kroki
Czujnik ultradźwiękowy do rejestrowania zmian położenia obiektów: 3 kroki

Wideo: Czujnik ultradźwiękowy do rejestrowania zmian położenia obiektów: 3 kroki

Wideo: Czujnik ultradźwiękowy do rejestrowania zmian położenia obiektów: 3 kroki
Wideo: SICK Webinar | Rozwiązania do wykrywania obiektów transparentnych 2024, Listopad
Anonim
Czujnik ultradźwiękowy do rejestrowania zmian położenia obiektów
Czujnik ultradźwiękowy do rejestrowania zmian położenia obiektów

Ważne jest, aby Twoje cenne rzeczy były bezpieczne, byłoby kiepskim, gdybyś cały dzień pilnował swojego zamku. Używając aparatu raspberry pi, możesz zrobić zdjęcia w odpowiednim momencie. Ten przewodnik pomoże Ci nagrać film lub zrobić zdjęcie, gdy zmiany zostaną wykryte w obszarze granicznym.

Sprzęt komputerowy:

  1. Raspberry Pi 2/3/4
  2. Czujnik ultradźwiękowy
  3. Kamera Pi
  4. Zworki

Krok 1: Połączenia

Znajomości
Znajomości
  • TRIG do RPI4B 17
  • VCC do RPI4B 5V
  • GND do RPI4B GND
  • Rezystor Echo do 470 omów do połączenia-1
  • Rezystor GND do 1K om do połączenia-1
  • połączenie-1 do RPI4B 4

Schemat obwodu jest wykonany za pomocą circuito.io, posiada wszystkie najpopularniejsze mikrokontrolery, czujniki itp., a platforma jest łatwa w obsłudze dla początkujących

Krok 2: Prześlij kod

Prześlij kod
Prześlij kod
Prześlij kod
Prześlij kod

Przed uruchomieniem skryptu utwórz folder za pomocą następujących poleceń otwierających terminal, a następnie edytuj plik skryptu.

pi@raaspberrypi: mkdir media

pi@raaspberrypi: nano Measure.py

Kod wykorzystuje biblioteki aparatu i GPIO. Sprawdź, czy piny GPIO_TRIGGER i GPIO_ECHO są prawidłowo podłączone zewnętrznie do 17 i 4 pinów Raspberry Pi.

Skopiuj i wklej poniższy kod lub wpisz do pliku Pythona i nazwij go jako „measure.py”

#Librariesimport RPi. GPIO as GPIO import time import os from picamera import PiCamera # Camera Mode camera = PiCamera() camera.rotation = 180 # Skomentuj ten wiersz, jeśli obraz jest idealnie ustawiony pod kątem #GPIO Mode GPIO.setmode(GPIO. BCM) GPIO.setwarnings(False) #set GPIO Pins GPIO_TRIGGER = 17 GPIO_ECHO = 4 #ustaw kierunek GPIO (IN / OUT) GPIO.setup(GPIO_TRIGGER, GPIO. OUT) GPIO.setup(GPIO_ECHO, GPIO. IN) def distance(): # set Trigger to HIGH GPIO.output(GPIO_TRIGGER, True) # set Trigger after 0.01ms to LOW time.sleep(0.00001) GPIO.output(GPIO_TRIGGER, False) StartTime = time.time() StopTime = time.time() # save StartTime while GPIO.input(GPIO_ECHO) == 0: StartTime = time.time() # zapisz czas przybycia while GPIO.input(GPIO_ECHO) == 1: StopTime = time.time() # różnica czasu między początkiem a przybyciem TimeElapsed = StopTime - StartTime # pomnóż przez prędkość dźwięku (34300 cm/s) # i podziel przez 2, ponieważ odległość tam iz powrotem = (TimeElapsed * 34300) / 2 odległość powrotu if _name_ == '_main_': camera.start_preview(alpha=200) try: while True: dist = distance() print ("Zmierzona odległość = %.1f cm" % dist) if dist<= 20: # zmień tę wartość zgodnie z ustawieniami now = time.ctime().replace(" ", "-") camera.capture("media/image%s.jpg" % now) print("Obraz zapisany w media/image-%s.jpg" % now) # camera.start_recording("media/video-%s.h264" % now) # Usuń komentarz, aby zrobić film # print("Wideo zapisane w media/image-%s.jpg" % now) # sleep(5) # Usuń komentarz aby nagrać wideo przez 5 sekund time.sleep(3) camera.stop_preview() # camera.stop_recording() # Odkomentuj to, aby nagrać wideo # Zresetuj wciskając CTRL + C z wyjątkiem KeyboardInterrupt: print("Pomiar zatrzymany przez użytkownika") GPIO.oczyszczanie()

Krok 3: Uruchom kod

Uruchom kod
Uruchom kod
Uruchom kod
Uruchom kod
Uruchom kod
Uruchom kod
Uruchom kod
Uruchom kod

Teraz uruchom skrypt jako

pi@raspberrypi: python Measure.py

Odległość jest mierzona co 3 sekundy (możesz zmienić wartość w skrypcie) i jest drukowana na ekranie, jeśli obiekt zostanie zidentyfikowany w odległości 20 centymetrów, aparat pi robi zdjęcie i zapisuje w folderze mediów.

Alternatywnie możesz nagrać wideo, odkomentowując lub usuwając hashtagi (#) z wierszy skryptu wymienionych jako komentarze. Możesz również wydłużyć długość wideo, po prostu zwiększając/zmniejszając wartość w „time.sleep(5)”.

Miłego toczenia!

Zalecana: