Tabla de contenido:
Video: Sensor ultrasónico para capturar cambios de posición de objetos: 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
Es importante tener tus cosas valiosas a salvo, sería una tontería si sigues vigilando tu castillo todo el día. Con la cámara raspberry pi puedes tomar las instantáneas en el momento adecuado. Esta guía lo ayudará a grabar un video o tomar la fotografía cuando se detecten los cambios dentro del área de los límites.
Hardware:
- Frambuesa Pi 2/3/4
- Sensor ultrasónico
- Cámara pi
- Jerséis
Paso 1: conexiones
- TRIG a RPI4B 17
- VCC a RPI4B 5V
- GND a RPI4B GND
- Eco a resistencia de 470 ohmios a la conexión 1
- GND a 1K ohmios de resistencia a la conexión-1
- conexión-1 a RPI4B 4
El esquema del circuito se realiza mediante circuito.io, tiene todos los microcontroladores, sensores, etc. más populares y la plataforma es fácil de usar para principiantes.
Paso 2: cargue el código
Antes de ejecutar el script, cree una carpeta a través de los siguientes comandos para abrir el terminal y luego edite el archivo del script.
pi @ raaspberrypi: mkdir media
pi @ raaspberrypi: nano medida.py
El código usa bibliotecas de cámara y GPIO. Verifique que los pines GPIO_TRIGGER y GPIO_ECHO estén conectados correctamente a los pines 17 y 4 de la Raspberry Pi externamente.
Copie y pegue el siguiente código o escríbalo en el archivo de Python y asígnele el nombre 'Measure.py'
#Librariesimport RPi. GPIO como GPIO import time import os from picamera import PiCamera # Camera Mode camera = PiCamera () camera.rotation = 180 # Comente esta línea si la imagen tiene un ángulo perfecto #GPIO Mode GPIO.setmode (GPIO. BCM) GPIO.setwarnings (False) #set GPIO Pines GPIO_TRIGGER = 17 GPIO_ECHO = 4 #set GPIO direction (IN / OUT) GPIO.setup (GPIO_TRIGGER, GPIO. OUT) GPIO.setup (GPIO_ECHO, GPIO. IN) def distancia (): # establecer Trigger en HIGH GPIO.output (GPIO_TRIGGER, True) # establecer Trigger after 0.01ms en LOW time.sleep (0.00001) GPIO.output (GPIO_TRIGGER, False) StartTime = time.time () StopTime = time.time () # guardar StartTime while GPIO.input (GPIO_ECHO) == 0: StartTime = time.time () # guardar tiempo de llegada mientras GPIO.input (GPIO_ECHO) == 1: StopTime = time.time () # diferencia de tiempo entre el inicio y la llegada TimeElap = StopTime - StartTime # multiplicar por la velocidad sónica (34300 cm / s) # y dividir por 2, porque la distancia de ida y vuelta = (TimeElapsed * 34300) / 2 distancia de retorno si _name_ == '_main_': camera.start_preview (alpha = 200) try: while True: dist = distance () print ("Distancia medida =%.1f cm"% dist) if dist <= 20: # cambia este valor de acuerdo con tu configuración ahora = tiempo.ctime (). replace ("", "-") camera.capture ("media / image% s.jpg"% ahora) print ("Imagen guardada en media / image-% s.jpg"% ahora) # cámara.start_recording ("media / video-% s.h264"% ahora) # Descomenta esto para tomar un video # print ("Video guardado en media / image-% s.jpg"% ahora) # sleep (5) # Descomenta esto para tomar un video durante 5 segundos time.sleep (3) camera.stop_preview () # camera.stop_recording () # Descomente esto para tomar un video # Reinicie presionando CTRL + C excepto KeyboardInterrupt: print ("Medición detenida por el usuario") GPIO.cleanup ()
Paso 3: Ejecute el código
Ahora ejecute el script como
pi @ raspberrypi: medida de python.py
La distancia se mide cada 3 segundos (puede cambiar el valor en el guión) y se imprime en la pantalla si se identifica un objeto dentro de los 20 centímetros, la cámara pi toma una foto y la guarda en la carpeta multimedia.
Alternativamente, puede grabar un video descomentando o eliminando los hashtags (#) de las líneas de guión mencionadas como comentarios. También puede extender la duración del video simplemente incrementando / disminuyendo el valor en "time.sleep (5)".
¡Feliz Circuito!
Recomendado:
Sensor de posición del soporte de bicicleta de Magicbit [Magicblocks]: 8 pasos
Sensor de posición del pie de apoyo para bicicletas De Magicbit [Magicblocks]: Proyecto simple de bricolaje para hacer un sensor de posición del pie de apoyo con un Magicbit usando Magicblocks. Estamos utilizando magicbit como placa de desarrollo en este proyecto que se basa en ESP32. Por lo tanto, cualquier placa de desarrollo ESP32 se puede utilizar en este proyecto
Programación Orientada a Objetos: Creación de Objetos Aprendizaje / Método / Técnica de Enseñanza Usando Shape Puncher: 5 Pasos
Programación Orientada a Objetos: Creación de Objetos Método / Técnica de Aprendizaje / Enseñanza Usando Shape Puncher: Método de aprendizaje / enseñanza para estudiantes nuevos en la programación orientada a objetos. Esta es una forma de permitirles visualizar y ver el proceso de creación de objetos a partir de clases. Partes: 1. Punzón grande EkTools de 2 pulgadas; las formas sólidas son las mejores 2. Trozo de papel o c
Programación Orientada a Objetos: Creación de Objetos Aprendizaje / Método / Técnica de Enseñanza Usando Tijeras: 5 Pasos
Programación Orientada a Objetos: Creación de Objetos Método / Técnica de Aprendizaje / Enseñanza Usando Tijeras: Método de aprendizaje / enseñanza para estudiantes nuevos en la programación orientada a objetos. Esta es una forma de permitirles visualizar y ver el proceso de creación de objetos a partir de clases. Partes: 1. Tijeras (cualquier tipo servirá). 2. Trozo de papel o cartulina. 3. Marcador
Caja de cambios para computadora, hecha de antiguo joystick (palanca de cambios en H): 8 pasos
Caja de cambios para computadora, hecha de un viejo joystick (palanca de cambios en H): ¿Te gustan los autos? ¿Te gusta la conducción real? ¿Tienes un viejo joystick? Esta es la instrucción para ti :) --------------------------------------------------
Métodos para detectar el nivel de agua Arduino usando un sensor ultrasónico y un sensor de agua Funduino: 4 pasos
Métodos para detectar el nivel de agua Arduino usando un sensor ultrasónico y un sensor de agua Funduino: En este proyecto, le mostraré cómo crear un detector de agua económico usando dos métodos: 1. Sensor ultrasónico (HC-SR04) 2. Sensor de agua Funduino