İçindekiler:
Video: Nesnelerin Konumsal Değişikliklerini Yakalamak için Ultrasonik Sensör: 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Değerli eşyalarınızı güvende tutmak önemlidir, bütün gün kalenizi korumaya devam ederseniz topal olur. Raspberry pi kamerayı kullanarak doğru anda enstantane çekebilirsiniz. Bu kılavuz, sınır alanı içinde değişiklikler algılandığında bir video çekmenize veya resim çekmenize yardımcı olacaktır.
Donanım:
- Ahududu Pi 2/3/4
- Ultrasonik sensör
- Pi kamera
- Süveterler
Adım 1: Bağlantılar
- TRIG'den RPI4B 17'ye
- VCC'den RPI4B 5V'ye
- GND'den RPI4B GND'ye
- 470 ohm'luk rezistörden bağlantı-1'e yankı
- GND - 1K ohm direnç - bağlantı-1
- bağlantı-1 - RPI4B 4
Devre şeması Circuito.io kullanılarak yapılmıştır, en popüler mikro denetleyicilere, sensörlere vb. sahiptir ve platformun yeni başlayanlar için kullanımı kolaydır
2. Adım: Kodu Yükleyin
Komut dosyasını çalıştırmadan önce, terminali açarak aşağıdaki komutları kullanarak bir klasör oluşturun ve ardından komut dosyasını düzenleyin.
pi@raaspberrypi: mkdir medya
pi@raaspberrypi: nano ölçü.py
Kod, kamera ve GPIO kitaplıklarını kullanır. GPIO_TRIGGER & GPIO_ECHO pinlerinin Raspberry Pi'nin 17. & 4. pinlerine harici olarak düzgün şekilde bağlanıp bağlanmadığını kontrol edin.
Aşağıdaki kodu kopyalayıp yapıştırın veya python dosyasına yazın ve 'measure.py' olarak adlandırın.
#Librariesimport RPi. GPIO as GPIO alma zamanı alma os picamera'dan import PiCamera # Camera Mode camera = PiCamera() camera.rotation = 180 # Görüntü mükemmel açılıysa bu satırı yorumlayın #GPIO Mode GPIO.setmode(GPIO. BCM) GPIO.setwarnings(False) #set GPIO Pinleri GPIO_TRIGGER = 17 GPIO_ECHO = 4 #GPIO yönünü ayarla (GİRİŞ / ÇIKIŞ) GPIO.setup(GPIO_TRIGGER, GPIO. OUT) GPIO.setup(GPIO_ECHO, GPIO. IN) def mesafesi(): # Tetikleyiciyi HIGH GPIO.output(GPIO_TRIGGER, True) olarak ayarlayın # 0.01ms sonra Tetikleyiciyi LOW time.sleep(0.00001) olarak ayarlayın GPIO.output(GPIO_TRIGGER, False) StartTime = time.time() StopTime = time.time() # save StartTime while GPIO.input(GPIO_ECHO) == 0: StartTime = time.time() # varış zamanını kaydet while GPIO.input(GPIO_ECHO) == 1: StopTime = time.time() # başlangıç ve varış arasındaki zaman farkı TimeElapsed = StopTime - StartTime # sonik hız (34300 cm/s) # ile çarpın ve 2'ye bölün, çünkü orada ve geri mesafe = (TimeElapsed * 34300) / _name_ == '_main_' ise 2 dönüş mesafesi: camera.start_preview(alpha=200) try: while True: dist = Distance() print ("Ölçülen Mesafe = %.1f cm" % dist) if dist<= 20: # bu değeri kendi ayarınıza göre değiştirin şimdi = zaman.ctime().replace(" ", "-") camera.capture("media/image%s.jpg" % şimdi) print("Resim media/image-%s.jpg'ye kaydedildi" % şimdi) # kamera.start_recording("media/video-%s.h264" % şimdi) # Video çekmek için bunun yorumunu kaldırın # print("Video media/image-%s.jpg'de kaydedildi" % şimdi) # sleep(5) # Bunun yorumunu kaldır 5 saniyelik bir video çekmek için time.sleep(3) camera.stop_preview() # camera.stop_recording() # Video çekmek için bunun yorumunu kaldırın # KeyboardInterrupt hariç CTRL + C tuşlarına basarak sıfırlayın: print("Ölçüm Kullanıcı tarafından durduruldu") GPIO.cleanup()
Adım 3: Kodu Çalıştırın
Şimdi betiği şu şekilde çalıştırın
pi@raspberrypi: python ölçüsü.py
Mesafe her 3 saniyede bir ölçülür (komut dosyasındaki değeri değiştirebilirsiniz) ve 20 santimetre içinde bir nesne tanımlanırsa ekrana yazdırılır, pi kamera fotoğraf çeker ve medya klasörüne kaydeder.
Alternatif olarak, yorum yaparak video çekebilir veya yorum olarak belirtilen komut satırı satırlarından hashtag'leri(#) kaldırabilirsiniz. “time.sleep(5)” içindeki değeri basitçe artırarak/azaltarak da video uzunluğunu uzatabilirsiniz.
Mutlu Devreler!
Önerilen:
Dar Bant Nesnelerin İnterneti: Akıllı Aydınlatma ve Ölçüm Daha İyi ve Sağlıklı Bir Ekosistem İçin Yol Açıyor: 3 Adım
Dar Bant Nesnelerin İnterneti: Akıllı Aydınlatma ve Ölçüm Daha İyi ve Sağlıklı Bir Ekosistem İçin Yol Açıyor: Otomasyon hemen hemen her sektörde kendine yer buldu. Üretimden sağlık, ulaşım ve tedarik zincirine kadar otomasyon gün ışığını gördü. Eh, bunların hepsi şüphesiz çekici, ama görünen bir tane var
Arduino ve Analog Joystick ile 28BYJ-48 Step Motorun Açısal Konumsal Kontrolü: 3 Adım
Arduino ve Analog Joystick ile 28BYJ-48 Step Motorun Açısal Konumsal Kontrolü: Bu, bitirme yılı tez projemin bir parçası olarak kullanmak üzere geliştirdiğim 28BYJ-48 step motor için bir kontrol şemasıdır. Bunu daha önce görmemiştim, bu yüzden keşfettiğim şeyi yükleyeceğimi düşündüm. Umarım bu başka birine yardımcı olur
Nesnelerin İnterneti için Kendin Yap Kontrol Düğmesi: 6 Adım (Resimlerle)
Nesnelerin İnterneti için DIY Dashbutton: Hey yapımcılar, moekoe yapımcısı! Bu Eğitilebilir Kitapta size evlerinize nasıl daha fazla konfor ve lüks getireceğinizi göstermek istiyorum. Başlığı okurken, burada ne yapacağımızı tahmin edebilirsiniz. Amazon online mağazasını en az bir kez ziyaret eden herkes,
Ultrasonik Sensörler için 3.3V Modu (ESP32/ESP8266, Particle Photon, vb. üzerinde 3.3V Logic için HC-SR04'ü hazırlayın): 4 Adım
Ultrasonik Sensörler için 3.3V Modu (ESP32/ESP8266, Particle Photon, vb. üzerinde 3.3V Logic için HC-SR04'ü hazırlayın): TL;DR: Sensörde, Echo pinine giden izi kesin, ardından bir voltaj bölücü (Yankı izi -> 2.7kΩ -> Yankı pimi -> 4.7kΩ -> GND). Düzenleme: ESP8266'nın aslında GPIO'da 5V toleranslı olup olmadığı konusunda bazı tartışmalar oldu
Dış Kuvvetle Yer Değiştirildiğinde Üretilen Fiber Ağın Kuvvet Değişikliklerini Ölçme: 8 Adım
Dış Kuvvetle Yer Değiştirildiğinde Üretilen Fiber Ağın Kuvvet Değişikliklerini Ölçme: Hücreler, çevreleyen hücre dışı matrisi (ECM) ile etkileşime girebilir ve ECM tarafından uygulanan kuvvetlere hem uygulayabilir hem de yanıt verebilir. Projemiz için, ECM görevi görecek birbirine bağlı bir fiber ağını simüle ediyoruz ve