Tabla de contenido:
- Paso 1: Elementos principales necesarios
- Paso 2: el sistema
- Paso 3: tiempo de codificación
- Paso 4: Armado
- Paso 5: resultados
- Paso 6: falsos positivos
Video: Cat-a-way - Aspersor para gatos con visión por computadora: 6 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Problema: los gatos usan su jardín como baño
Solución: dedique demasiado tiempo a diseñar un aspersor para gatos con la función de carga automática de YouTube
Esto no es un paso a paso, sino una descripción general de la construcción y algo de código.
#BeforeYouCallPETA - Los gatos están bien, es un aspersor de baja presión como la lluvia, que pueden dejar atrás incluso antes de que gire hacia ellos. El proyecto no es empapar a un gato, sino mostrarlo antes de que ensucie mi jardín con la versión para gatos de Barkers Eggs.
Paso 1: Elementos principales necesarios
Raspberry Pi zero y tarjeta SD
Cámara Raspberry Pi
Relé
555 temporizador…. (o un arduino y otro relé si sus 555 temporizadores no llegan)
Solenoide
Aspersor
Algún tipo de carcasa para la electrónica.
La voluntad de golpear un clavo metafórico con un mazo de 6 toneladas
Una cámara con tan poca resolución que apenas puedes ver el agua, pero aún puedes ver a los gatos corriendo para cubrirse.
Paso 2: el sistema
1, la cámara Pi detecta un objeto del tamaño de un gato que se mueve durante unos pocos fotogramas de la cámara (se explica en el siguiente paso)
2, Pi pone en marcha el rociador
3, gato corre para cubrirse
4, video subido automáticamente a youtube para ver el placer
Paso 3: tiempo de codificación
Usando openCV usando la resta de cuadros, puede encontrar áreas del cuadro que cambian con el tiempo, usando algunas funciones ingeniosas puede averiguar qué tan grandes son estos cambios y si persisten en el tiempo, y lo más importante, averiguar si son del tamaño de un gato.
Hay bastantes tutoriales sobre la resta de cuadros que entran en gran detalle si haces una búsqueda rápida en Google.
Descripción general de cómo funciona el código
1, la cámara sigue tomando fotogramas y comparándolos con el último
2, si se detecta una forma del tamaño de un gato, se indica
3, si el cambio de tamaño del gato persiste en alrededor de 4 cuadros, el pi usa su GPIO para encender el relé para iniciar arduino
4, el arduino envía una señal para alimentar el segundo relé durante 5 segundos que activa el solenoide
5, el solenoide cuando se enciende permite que entre agua al rociador
6, mientras el rociador está activo, la cámara deja de detectar y graba video
7, el video se carga en Youtube
8, imágenes fijas cargadas en Dropbox para un sistema de ajuste fino
Nota: ¿Por qué terminé usando 2 relés y un arduino para encender un solenoide durante 5 segundos?
1, el pi no puede iniciar y detener el solenoide mientras graba el video, ya que los scripts de Python se detienen hasta que el video finaliza, de ahí la necesidad de que el arduino (o temporizador 555) permita que el solenoide se abra y cierre independientemente del script mientras el el video aún se está grabando.
2, el primer relé y arduino se pueden reemplazar con un temporizador 555, pero eso no llegó a tiempo para este proyecto, 555 ahorraría mucho tiempo, dinero y pasos.
3, el pi no puede disparar el solenoide directamente ya que el Pi GPIO funciona en 3.3vy 51mA max, y el solenoide quiere 5V y mucho más de 51mA para dispararse.
4, cada cuadro se puede recortar para eliminar la detección de movimiento en áreas no deseadas, como un jardín vecino. No hacer esto resultará en que dicho vecino mire confundido a su jardín porque el aspersor se apaga cada vez que quiere entrar a su cobertizo.
5, probablemente me perdí algo obvio y perdí el tiempo configurándolo así.
Código a continuación
import cv2import numpy as np import argparse #cat import time import RPi. GPIO as GPIO import os import dropbox from picamera.array import PiRGBArray from picamera import PiCamera # ------------------ ------------------------------ Subir a youtube ----------------- ---------------------- def HDtoYoutube (): ctime = time.strftime ("_% H-% M-% S") cdate = time.strftime ("_% d-% m-% Y") vidname = ctime + cdate #Trigger relay GPIO.output (11, True) time.sleep (.5) GPIO.output (11, False) print ("Tomando video") intente: #Take Video os.system ('raspivid -w 1640 -h 922 -o vid {0}.h264 -t 15000'.format (vidname)) #Sube a youtube print ("Subiendo a YouTube") os. system ('sudo youtube-upload --title = "Cat Got Wet {0}" --client-secrets = client_secret.json vid {0}.h264'.format (vidname)) #Eliminar el archivo de video cuando termine os.remove ('vid {0}.h264'.format (vidname)) print ("Video subido y eliminado de Pi") excepto: pass # -------------------- ---------------------------- Imágenes fijas en Dropbox ------------------- -------------------- def St illsToDropbox (): print ("Función de carga fija en Dropbox") access_token = 'Ah ah ah, no dijiste la palabra mágica … Ah ah ah, no dijiste la palabra mágica' ctime = time.strftime (" % H:% M:% S ") cdate = time.strftime ("% d-% m-% Y ") intente: filename =" /Motion/{0}/DetectedAt_{1}.jpg".format(cdate, ctime) print (nombre de archivo) client = dropbox.client. DropboxClient (access_token) image = open ("ToDropbox.jpg", 'rb') client.put_file (nombre de archivo, imagen) image.close () os.remove ("ToDropbox-j.webp
#HowToTriggerRealProgrammersWithBadCode
Paso 4: Armado
Coloque los componentes eléctricos en una carcasa impermeable, atornille las cosas en las paredes y use mucha cinta adhesiva y pegamento caliente
Paso 5: resultados
Cuando funciona, funciona
Paso 6: falsos positivos
Cuando no lo hace, rocía sombras de gatos, tu esposa y tu hija.
Consejo profesional: coloque un interruptor junto a la puerta que pausa el programa de detección de movimiento … luego olvídese de usarlo y empápese al sacar los contenedores.
Espero haber hecho que los expertos en programación, electrónica y bricolaje se avergüencen con todos los errores que probablemente cometí, y especialmente espero que hayan disfrutado todos mis errores ortográficos.
Recomendado:
Hackear el Hexbug Spider XL para agregar visión por computadora con un teléfono inteligente Android: 9 pasos (con imágenes)
Hackear el Hexbug Spider XL para agregar visión por computadora usando un teléfono inteligente Android: Soy un gran admirador del Hexbug & trade original; Araña. He tenido más de una docena y los pirateé a todos. Cada vez que uno de mis hijos va a un amigo y rsquo; fiesta de cumpleaños, el amigo recibe un Hexbug ™ araña como regalo. He pirateado el o
Reconocimiento de estrellas mediante visión por computadora (OpenCV): 11 pasos (con imágenes)
Reconocimiento de estrellas mediante visión por computadora (OpenCV): este instructivo le describirá cómo crear un programa de visión por computadora para identificar automáticamente patrones de estrellas en una imagen. El método utiliza la biblioteca OpenCV (Open-Source Computer Vision) para crear un conjunto de cascadas HAAR entrenadas que pueden ser
Reparador de gatos tristes, juguete para gatos Catch-Me - Proyecto escolar: 3 pasos
Sad Cat Fixer, Catch-Me Cat Toy - Proyecto escolar: Aquí está nuestro producto, es un ratón de juguete interactivo: Catch-Me Cat Toy. Aquí hay una lista de problemas que enfrentan muchos gatos en nuestra sociedad: Los gatos en estos días se están volviendo inactivos y deprimidos sin nada que hacer La mayoría de los dueños están ocupados con el trabajo o la escuela y tu ca
Varita de Harry Potter de trabajo real con visión por computadora: 8 pasos (con imágenes)
Varita de Harry Potter que funciona de verdad con visión artificial: " Cualquier tecnología suficientemente avanzada es indistinguible de la magia " - Arthur C. Clarke Hace unos meses, mi hermano visitó Japón y tuvo una experiencia mágica real en el Mundo Mágico de Harry Potter en Universal Studios hizo posible
Almohadilla de enfriamiento para computadora portátil DIY - Impresionantes trucos de vida con ventilador de CPU - Ideas creativas - Ventilador de la computadora: 12 pasos (con imágenes)
Almohadilla de enfriamiento para computadora portátil DIY | Impresionantes trucos de vida con ventilador de CPU | Ideas creativas | Fan de la computadora: Debes ver este video hasta su final. por entender el video