Sisällysluettelo:

Ultraääni -anturi esineiden sijaintimuutosten tallentamiseen: 3 vaihetta
Ultraääni -anturi esineiden sijaintimuutosten tallentamiseen: 3 vaihetta

Video: Ultraääni -anturi esineiden sijaintimuutosten tallentamiseen: 3 vaihetta

Video: Ultraääni -anturi esineiden sijaintimuutosten tallentamiseen: 3 vaihetta
Video: Ultrasonic Levitation - Ultrasonic Standing Wave Demonstration - UP400St 2024, Marraskuu
Anonim
Ultraäänianturi, joka tallentaa kohteiden sijaintimuutokset
Ultraäänianturi, joka tallentaa kohteiden sijaintimuutokset

On tärkeää, että arvokkaat tavarasi ovat turvassa, olisi säälittävää, jos vartioisit linnaasi koko päivän. Raspberry pi -kameralla voit ottaa napsautukset oikeaan aikaan. Tämä opas auttaa sinua kuvaamaan videota tai ottamaan kuvan, kun muutokset havaitaan raja -alueella.

Laitteisto:

  1. Raspberry Pi 2/3/4
  2. Ultraäänianturi
  3. Pi -kamera
  4. Puserot

Vaihe 1: Liitännät

Liitännät
Liitännät
  • TRIG - RPI4B 17
  • VCC - RPI4B 5V
  • GND - RPI4B GND
  • Kaiku 470 ohmin vastukselle liitäntään-1
  • GND-1K ohmin vastus liittimeen-1
  • liitäntä-1 RPI4B: hen 4

Piirikaavio on tehty käyttäen Cirito.io -ohjelmaa, siinä on kaikki suosituimmat mikro -ohjaimet, anturit jne. Ja alusta on helppokäyttöinen aloittelijoille

Vaihe 2: Lataa koodi

Lataa koodi
Lataa koodi
Lataa koodi
Lataa koodi

Ennen kuin suoritat komentosarjan, luo kansio seuraavien päätelaitteen avauskomentojen avulla ja muokkaa sitten komentotiedostoa.

pi@raaspberrypi: mkdir media

pi@raaspberrypi: nano intézkedés.py

Koodi käyttää kamera- ja GPIO -kirjastoja. Tarkista, että GPIO_TRIGGER- ja GPIO_ECHO-nastat on liitetty oikein Raspberry Pi: n 17. ja 4. nastaan ulkoisesti.

Kopioi ja liitä alla oleva koodi tai tyyppi python -tiedostoon ja anna sille nimi "intézkedés.py"

#Librariesimport RPi. GPIO GPIO -tuontiaikana tuonti osana picamera -tuontia PiCamera # Kameratila -kamera = PiCamera () camera.rotation = 180 # Kommentoi tätä riviä, jos kuva on täydellisessä kulmassa #GPIO -tila GPIO.setmode (GPIO. BCM) GPIO.setwarnings (False) #set GPIO -nastat GPIO_TRIGGER = 17 GPIO_ECHO = 4 #set GPIO direction (IN / OUT) GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN) def etäisyys (): # aseta Trigger -asetukseksi HIGH GPIO.output (GPIO_TRIGGER, True) # aseta Trigger 0.01ms jälkeen 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 () # säästä saapumisaika, kun GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () # aikaero aloitus- ja saapumisajan välillä TimeElapsed = Pysäytysaika - Käynnistysaika # kerrotaan ääninopeudella (34300 cm / s) # ja jaetaan 2: lla, koska edestakainen etäisyys = (TimeElapsed * 34300) / 2 paluumatkaa, jos _name_ == '_main_': camera.start_preview (alpha = 200) try: while True: dist = distance () print ("Measured Distance = %.1f cm" % dist) if dist <= 20: # muuta tätä arvoa asetuksesi mukaan nyt = aika.ctime (). vaihda ("", "-") camera.capture ("media/kuva % s.jpg" % nyt) tulosta ("Kuva tallennettu mediaan/kuva- % s.jpg" % nyt) # kamera.start_recording ("media/video- % s.h264" % nyt) # Ota kommentti ottaaksesi videon # tulosta ("Video tallennettu mediaan/kuva- % s.jpg" % nyt) # lepotila (5) # Poista kommentti ottaaksesi videon 5 sekunnin ajaksi. nukkumassa (3) camera.stop_preview () # camera.stop_recording () # Poista tämä kommentti videon ottamiseksi # Nollaa painamalla CTRL + C paitsi KeyboardInterrupt: print ("Käyttäjä pysäyttää mittauksen") GPIO.cleanup ()

Vaihe 3: Suorita koodi

Suorita koodi
Suorita koodi
Suorita koodi
Suorita koodi
Suorita koodi
Suorita koodi
Suorita koodi
Suorita koodi

Suorita skripti nyt muodossa

pi@raspberrypi: python intézkedés.py

Etäisyys mitataan 3 sekunnin välein (voit muuttaa komentosarjan arvoa) ja tulostetaan näytölle, jos kohde tunnistetaan 20 senttimetrin sisällä, pi -kamera ottaa valokuvan ja tallentaa mediakansioon.

Vaihtoehtoisesti voit kuvata videon poistamalla kommentin tai poistamalla hashtagit (#) komentosarjoina mainituista komentoriviriveistä. Voit myös pidentää videon pituutta yksinkertaisesti lisäämällä/pienentämällä arvoa "time.sleep (5)".

Hyvää kierrosta!

Suositeltava: