Indholdsfortegnelse:
- Trin 1: Materiales Que Necesitamos
- Trin 2: Iniciando Con Raspberry Pi
- Trin 3: Conectando Sensores Y Actuadores Al Raspberry Pi
- Trin 4: Preparando Node-RED En El Raspberry Pi
- Trin 5: Programando El Sistema Cognitivo
- Trin 6: Tilslut en Watson
- Trin 7: Inteligencia kunstig
- Trin 8: Konstruer en hardware
- Trin 9: Imprimiendo El Mecanismo De Dispensado
- Trin 10: Cortando En Láser El Case
- Trin 11: Ensamblando El Hardware
Video: Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson: 11 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
En este Instructable aprenderemos como hacer un dispensador de alimento para sus mascotas, por lo general, o al menos en mi caso siempre he querido hacer un dispensador automático, sin embargo, tengo un perro y un gato. Por ende no tengo una forma de saber cuál animal es para dispensar el alimento adecuado.
Han encontrado la solución, se trata de un sistema cognitivo que hace uso de la Inteligencia Artificial para que, por medio una cámara haga un procesamiento de imagen para reconocer, de cuál animal se trata y dispensar el alimento adecuado.
Systemsystem:
- La mascota se acerca y es detectada por un sensor de distancia
- El -system til et foto af dyr
- La procesa y decid qué animal es
- Saluda a la mascota (Con voz humana)
- Dispensa el alimento respectivo
- Envía un correo al dueño indicando que ya le ha dispensado alimento
Trin 1: Materiales Que Necesitamos
Este proyecto lo vamos a realizar en conjunto, así que es momento de vayas a comprar, pedir, buscar o la manera que tengas en mente, los siguientes materiales:)
- 1 Raspberry Pi, den anbefalede model 3, men kan også bruges til at fungere!
- 1 Cámara para hindbær pi
- 1 sensor ultrasónico HC-SR04
- 2 førermotor (kan bruges på en anden måde, du kan også bruge porque era til at tænke mere!)
- 2 trinmotorer
- 1 højttaler (Parlantes)
- 2 tubos T PVC af pulver og medier (Las encuentran en cualquier ferretería por menos de 2000 colones cada una.)
- Una lámina de acrílico de 3mm para cortar, yo utilicé acrílico, ustedes pueden usar cualquier otro material, as MDF.
- Una impresora 3D og cortadora láser que i Costa Rica, pakket ind i Inventoría LEAD.
Trin 2: Iniciando Con Raspberry Pi
Raspberri Pi er en mikroprocessor, der kan bruge programmer, der ikke kan tillade, at der kræves en alt -poder -beregning. Det ligner en Arduino con la diferencia que Raspberry Pi nos permite correr un Sistema Operativo dentro de la tarjeta de desarrollo.
En este caso yo usaré raspbian que es una distribution of linux, Open Source, desarrollada especialmente para correr sobre Raspberry Pi.
-
Primeros pasos con Raspbery Pi
- El primer paso es download af el raspbian como zip.
-
Ahora debemos quemarlo en una micro SD, para ello: Usuarios MAC / Linux:
- Abrimos la terminal o consola del sistema, como se muestra en la foto.
-
Usaremos ciertos comando que explicaré para familiarizarnos y al final daré un ejemplo de uso. diskutil list => Este comando me devuelve the list of todos los discos que encuentre la pc (una SD puede tomarse como un disco externo.) Debemos buscar cuál es el nombre asignado a las SD, por lo general puede ser "disk1", para efectos de este turorial le llamaremos "TuDisco". diskutil eraseDisk JHFS+ UntitledUFS <TuDisco> => Permite borrar y formatear el disco escogido (TuDisco).
diskutil unmountDisk /dev /<TuDisco> => Desmonta el disco para no poder utilizarlo.
sudo dd if = of =/dev/<TuDisco> bs = 1m => Quema el systemema operativo dentro de la SD, podría durar hasta 1 hora en este paso.
diskutil eject /dev /<TuDisco> => Expulsa el Disco
Un ejemplo de uso de este, se encuentra adjunto to las fotos, la sintáxis del ejemplo sería así
diskutil liste
diskutil eraseDisk JHFS+ UntitledUFS disk1 diskutil unmountDisk/dev/disk1 sudo dd if =/Users/bernalrojas/Downloads/2017-11-29-raspbian-stretch.img of =/dev/disk1 bs = 1m diskutil eject/dev/disk1
Brugsvinduer: Windows kan hentes til Win32Disk, der kan bruges til en sencilla eller cualquier otra de su elección
-
Ver system operativo
- Debes konserverer en pantalla, et HDMI -kabel, mus og teclado.
- Conectalos y enciende la hindbær pi, verás que al igual que una computadora normal este va iniciar de la misma sencilla manera que cualquier otra (recordemos que es una computadora).
- Ahora puedes continuar trabajando como una computadora normal o pueden accesar remotamente, así que lo haremos de esta ultima forma, para no depender de una pantalla para poder trabajar.
- Vamos a hacer uso de ssh para accesar remotamente, antes de quitar la pantalla abrimos vamos a ir a nuestra terminal y escribimos "ifconfig" este comando nos va devolver la dirección IP de nuestro hindbær pi (guardelan porque la necesitaremos en el futuro). Ahora pueden desconectar la pantalla.
- Vamos a ir a nuestra computadora y abrimos la terminal de la misma manera, y escribimos ssh pi@ donde es la dirección que acabamos de recuperar en el paso anterior, deben sustituir por los números que les retornó. Pueden ver un ejemplo en las fotos para no perse en este paso.
- Nos va pedir la contraseña del equipo y una más de la hindbær que por default es "hindbær". Esto nos abrirá la terminal inmediatamente.
Trin 3: Conectando Sensores Y Actuadores Al Raspberry Pi
Cómo sabemos Raspberry Pi er en una tarjeta de desarrollo que posee pines GPIO que podemos konfigurer como entradas and salidas para nuestros sensores y actuadores. Nuestros sensores son:
- Para el sensor de distancia usaremos un sensor ultrasónico. Este sensor funciona por ultrasonidos, como un murcielago… Funciona emitiendo una honda (Trigger pin) que rebotará en unjeto, el sensor la recibirá de vuelta (Echo pin) y estimera el tiempo que duró en regresar. Pueden ver la imagen adjunta que tomé de Zona Maker donde tienen un excelente tutorial para entender a fondo como funciona este sensor
- Para la visión kunstigt el -system bruger en cámara.
- Hvordan bruger man en trinmotor? Hvad er en trinmotor?
- Para mover el motor usaremos Driver motor. En mi caso no tenía disponibles de estos pequeños, así que usaré los que tenía a mano, estos (La diferencia es que estos permiten manejar una corriente borgmester).* Bemærk:* El diagrama adjunto se muestra otro driver (El rojo, es un let driver) distinto a que he utilizado, esto fue para generalizar, ya que la Mayoría de drivers tienen esa nomenclatura (dir y step). Con el que yo estoy utlizando (el TB6560) los pines "dir" y "step" los reemplazamos por "CW+" y "CLK+" respectivamente. Y los 2 GND los reemplazamos por CLK- y CW-.
Trin 4: Preparando Node-RED En El Raspberry Pi
Vi kan også tilbyde en pakke, der skal bruges til at bruge en ny systemfunktion med Node-RED.
Antes de comenzar a preparar todo es necesario tener nuestro equipo actualizado, para ello ejecutaremos los siguientes comandos en nuestra terminal:
sudo apt-get opdatering
sudo apt-get dist-upgrade update-nodejs-and-nodered
Estos comandos nos actualizaran nuestro equipo. El último comando, nos permite tener nuestro entorno Node-RED actualizado para poder instalar las dependencias que vamos a necesitar en este step, es importanteno saltarse esta actualización.
- Node-RED viene precargado en raspbian por default, así que solo debemos iniciarlo, para esto vamos a ir a la terminal y escribimos "node-red-start" esto nos va ejecutar un servidor bajo la misma red, ahora debes asegurarte que tu computadora esté conectada a la misma red o wifi que las hindbær pi.
- Vas a ver una linea que dice algo similar a "Når Node-RED er startet, peger en browser på https://192.168.1.102:1880" esto quiere decir que ha abierto un servidor a esa en esa dirección, por supuesto, la dirección de ustedes será diferente a la mía.
- Entraremos and nuestro navegador web and copiamos la dirección, esto nos va abrir el IDE de Node-RED
- Ahora vamos a instalar los paquete que necesitamos, para ello vamos a ir a: botón de menú arriba a la derecha => manage palette => Install. librerías en código.
-
Ahora vamos a instalar varios paquetes, esto lo haremos copiando el nombre del paquete que les dejaré abajo y dandole al botón installer. Esto debe hacerse para cada uno de los paquetes que les dejo abajo
- node-red-contrib-camerapi => Para la camara
- node-red-node-pisrf => Para sensor ultrasónico
- node-red-contrib-speakerpi => Para-højttalere
- node-red-node-watson => Til watson
- node-red-contrib-ibm-watson-iot => Til watson
- node-red-bluemix-nodes => Servicios de IBM cloud
- node-red-contrib-python-function => Fortolke de Pytho
Trin 5: Programando El Sistema Cognitivo
Node-RØD tillader import af et program, som du kan bruge til at kopiere, hvad der skal læses.
Deben ir a botón de menú arriba a la derecha => import => clipboard => pegar el código => import. Esto les debería generar los bloques del programa, algunos bloques deben configarse.
Configuración de bloques:
- Para el primer bloque, que terninger "Distancia", le daremos doble click y nos aseguraremos que los parametros sean los mismos de la fotografía adjunta.
- Som "tag foto -python -knude", dobbeltklik på og verificamos los parametros al adjunto. *Vigtigt at se "filnavn" til hæmos "image.jpg"*
- Til e -mail -send, dobbeltklik og på en anden måde, da vi kan sende en e -mail til: Sería a qué dirección de correo quiero enviar el mailUserid: Sería la dirección de correo de la persona que envía Password: La clave de esta última dirección de correo.
- El último paso es configurar los servicesios de Watson que haremos a continuación and el siguiente paso.
Trin 6: Tilslut en Watson
Watson er en service fra IBM, der kan bruges til at bruge en API.
- En primer paso es crearse una cuenta en el IBM Cloud. (IBM les dará un mes de prueba, para tener en cuenta)
- Una vez dentro verán algo como en la foto, aquí buscaremos abajo a la izquierda Watson => Visual Recognition => Pondremos un nombre único y le damos a crear. Como se muestra en las fotografías adjuntas.
- Du kan også se, at vi kan se, hvordan han genererer et API, så kan du også bruge "mostrar" (Ver cuarta foto) og de kopierer las credenciales, og terninger "api_key".
- Van de vuelta al IDE de Node-RED og dobbeltklik på "Watson Visual Recognition", hvor du kan se, hvordan vi korrekt og korrekt kan justere parametre og igual que la foto.
- Esto mismo debe hacerse para el text to speech, Watson => Texto a voz => Pondremos un nombre único y le damos a crear. Como se muestra en las fotografías adjuntas.
- Hæmmer generering af API nuevamente, der også kan bruges til at bruge "mostrar" (foto) og kopiere las credenciales "brugernavn" og "password". Vamos de vuelta al IDE de Node-RED og dobbeltklik på "Hablar", hvor du kan se, hvordan vi får en korrekt og korrekt justering af parametre, der også kan bruges til foto. *Esto debe hacerse para los bloques que dicen hablar*
Y listeno, así de sencillo ya tienen su sistema funcionando!:) Mulig fejl:
Si cuando se debe tomar la foto nos retorna un error y la luz (roja) de la cámara no enciende, debemos revisar la carpeta/home/pi/Pictures. Ahora debemos ver si la foto está en negro o tiene 0KB, si es así
Nuestro sistema está configurado para guardar las fotos en la carpeta/home/pi/Pictures,. En caso de que no exista foto o la foto no se pueda abrir (0KB), es posible que la cámara este mal conectada o que no esté habilitada. Para habilitar la cámara nos vamos al botón de inicio del Raspbian “/Preferencias/Raspberry Pi/Configuración” og vamos til “Interfaces”. Ahí debemos aseguranos que “Cámara” está en “Habilitada”.
Trin 7: Inteligencia kunstig
Procesar una imagen no es algo sencillo de hacer, requiere inteligencia artificial para poder detectar patrones en esa imagen de los cuales pueda generar una o varias predicciones de objetos que podría ser el que se está mostrando en la image. Este tipo de algoritmos pueden hacerse de varias maneras, una de ellas es usando redes neuronales profundas que en la actualidad requiere un poco de tiempo para poder sentarse and construir la arquitectura and programar esta red, el nombre específico para el tipo de red que se utilizaría es Redes Neuronales Convolucionales, que es el algoritmo que más se asemeja a las neuronas en la corteza visual humana. En estos algoritmos siempre se debe entrenar el system, con un conjunto de datos certeros y uno falso, es decir muchas fotos con el objeto que queremos reconocer y otro montón de fotos agrupadas, sin el objeto que queremos reconocer.
Una de las ventajas de usar de Watson, es que hace este trabajo pesado por nosotros incluyendo que el algoritmo esté entrenado para reconocer objetos universales, por supuesto dispone de una herramienta o "campo de entrenamiento" para entrenar nuestro system a objetos, en este caso, los gatos og perro los reconoce por default.
A continuación haré un paréntesis donde explicaré como funciona una red neuronal artificial, con fines meramente didacticos, No es necesario para la realización del instructable. (Si tu interés es replicar el proyecto rápidamente, puedes saltarte hasta el fin del paréntesis).
Cómo funciona una Red Neuronal Básica (Inicio Opcional Informativo)
Una red está compuesta de varios elementos indivuales (la unidad básica) que se llama perceptron o lo que equivaldría a una neurona en nuestro cerebro. Está compuesta de 3 partes principales:
- Entradas
- Función de suma (Σ)
- Aktiv funktion
Entradas:
Estas son las representadas en la imagen como x1, x2, x3, x…
Función de suma (Σ):
En este punto ocurre una suma de todas las entradas multiplicadas por su peso w respectivo, al finalizar la operación, envía el resultado a la función de activación.
Funktion:
Funktionstærskel for paraply, es decir, si el valor del resultado supera cierto número (por lo general 0) se activará la salida de la neurona. Podemos decir que es como una llave que deja pasar el agua o cierra el paso del agua. Solo que en este caso, hablamos de la salida de una neurona.
Ahora que conocemos la unidad básica de una red neuronal (perceptrón) estamos listos para ver cómo operan en una red. Como observan en la segunda image, está compuesta de 3 capas principales:
- Capa de entrada
- Capa oculta
- Capa de salida
Capa de entrada:
Aquí es donde recibe todas la entradas, der kan findes på en bestemt måde af neuronas.
Capa oculta:
Recibe la salida de cada neurona que existe en la primer capa, realiza el mismo proceso en cada percetrón y su salida se la entrega a la capa de salida.
Capa de salida:
Esta es la capa de clasificación, aquí existe el número de neuronas igual al número de clasificadores que necesites, es decir si quieres saber si es un gato o perro necesitarías 2 neuronas, una para gatos y otra perros.
Todo esto es muy lindo, pero ¿Dónde ocurre realmente el aprendizaje? Esto ocurre en cada perceptron por individual, el algoritmo resulta que en calcular correctamente y ajustar los pesos w (Que inicialmente tenían un valor random). Esto puede hacerse mediante aprendizaje no supervisado o aprendizaje supervisado, la manera más sencilla, es calculando el error, es decir, la diferencia entre el valor de la salida que yo esperaba y el que realmente me dio.
(Fin del Opcional Informativo)
Watson kan oprette en bred vifte af algoritmer, der kan bruges til at ver, men som en borgmester i en sammenslutning, der kan bruges til Visual Recognition API, eller API til rekognocering af visuel (Que ahora sabemos que se trata de redesign neuronales convolucionales y algunos otros algoritmos más), resulta muy sencillo de usar, esto porque cuando configuremos el bloque con nuestra credenciales y hagamos el procesamiento de una image, Watson nos va devolver un archivo tipo JSON con un motón de posibilidades de objetos que puedan estar presentes ena. Det kan bruges til at lave et foto, Watson kan analysere og udarbejde en liste med sandsynlige objekter, der kan opdages og se et foto, som kan bruges af Watson!
Luego solo usamos un script to recorder todas esas possibles opciones y si en esa list encuentra conciencia con un perro o un gato le avisará al resto del sistema para que dispense la comida correcta:)
Es necesario que se den cuenta que la inteligencia artificial no es algo tan complejo, especialmente cuando existen servicesiosoo Watson que hacen el trabajo pesado por nosotros!:)
Trin 8: Konstruer en hardware
Este paso lo hemos realizado en la Inventoría LEAD (Ver laboratorio) el cual es un maker space in Costa Rica desarrollado por Fundación Costa Rica para la Innovación.
En el laboratorio contamos con impresoras 3D og cortadora láser entre otro montón de herramientas y tecnologías a disposicón de nosotros, la comunidad, para prototipar y desarrollar nuestras ideas y proyectos de la mano con expertos en el área.
Trin 9: Imprimiendo El Mecanismo De Dispensado
Como comentábamos en en Inventoría LEAD husker en disposición de nosotros impresoras 3D, de las cuales hicimos uso en este proyecto para hacerlo realidad. Adjunto encontrarán los archivos listos para imprimir, les recomiendo seguir Este instructable el cuál explica paso a paso como hacer uso de las impresoras 3D de Inventoría, ya que en estos espacios buscan que todos nosotros aprendamos a hacer las cosas por nosotros Mere kan jeg ikke lære noget, der kan instrueres, og som vi kan bruge til at anvende et godt stykke mad og imprimere las piezas por ustedes mismos.
Trin 10: Cortando En Láser El Case
De la misma forma, hicimos uso de la cortadora láser, donde el diseño fue realizado usando inkscape el cual es una versión Open source de programas de diseño gráfico que nos permite generar vectores. La maquina láser, al ser un robot cartesiano, funciona por gcode, sin embargo, este gcode debe ser generado por un software, en este caso generamos un archivo.svg que son lineas de dibujo, con el cual, el software propio de la cortadora láser puede convertir en una trayectoria para los motores de la maquina.
El materiale: Para este diseño es importante saber que debemos usar material de 3mm, uno Mayor puede hacer que las piezas no calcen adecuadamente. Yo he utilizado acrílico negro mate (que compré en panaplast), esto es por una razón, me gusta realizar los los trabajos con mucho oficio y elegancia, y este material crea un efecto visual muy interesante, de lejos puede confudirse con aluminio negro, lo cual le da mucha elegancia al proyecto.
Ustedes kan bruges af materialer, der kan bruges, og vi kan også købe mad, der kan bruges til MDF på 3 mm, og et materiale, der kan bruges til económico y da acabados.
Trin 11: Ensamblando El Hardware
Du kan også finde alle de komplette programmer, elektroniske programmer og softwarelister, og kan bruges til ensamblar.
En las fotos adjuntas verán el proceso!:)
-
Pasas para armado:
- Armar las dos cajas y pegarlas con cinta (esto porque pueden desarmarse), como comentabamos usamos acrílico, para pegar este material es necesario usar pegamento de acrílico o, para parecer más interesantes and intelectuales ante otra persona, podemos decir agradecen el tip;) jaja
-
Aplicar el cloruro de metileno: -Este pegamento es un ácido que es muy peligroso, se recomienda aplicarlo con una jeringa y guantes.
-El proceso debe realizarse con calma y cuidado, ya que una gota en un lugar equivocado puede dañar la estética de nuestro acrílico. Anbefaler personligt, hvilket vi kan gøre for at realisere en stor del af det. Cuidar los cable es algo importante, un proyecto limpio y agradable a la vista tiene un impacto borgmester que uno con kabler desordenados, que se vea desordenado, complejo o sucio.
*Ensable de la caja 1, la dispensadora (Con los motores) -En este punto debemos tomar el acople de los motores que imprimimos en 3D y atornillarlos al motor, tal y como se muestra en la foto. Pueden utilizar tornillos con medida M3, el largo no importa … -Ahora debemos tomar la espiral y, a presión, debemos hacer calzar el hueco que tiene por debajo con el rotor (palito que gira) del motor y deberá quedarnos como se muestra en las fotos.-Ahora insertamos la pieza completea dentro del Tubo de PVC. (Este system es muy utilizado en la industria como maquina de inyección, un ejemplo de aplicación es and las maquinas de inyección de platisco, adjunto econtrarán un diagrama de como funcionan estas maquinas) -Hacemos la inserción de las dos piezas completeas de modo que nos quede un acople correcto entre los huecos de salida de la caja y la salida del tubo de PVC-Colocamos la tapa superior o cobertor cobertor.*Ensamble de la caja 2, la de la electrónica.-Colocamos el sensor ultrasónico en los orificios. Con contadoble cara fijamos la cámara a la pared de acrílico.-Acomodamos la electrónica, esto lo hice como se muestra en la foto, pero ustedes pueden acomodarlo a su gusto. Próximos RetosAhora sigue que lo ajusten a sus nes por completo, le sugiero algunos retos:
- Ajustar a sus mascotas (af dyr)
- Konstruer et tilfælde med flere systemer til dispensation, til flere dyr
- Conectar med IBM IoT til kontrol af el -system, der kan bruges til at bruge en del af hverdagen
- Agregar un dispensador de agua
- Hacerle cualquier cambio que sea oportuno para ti:)
*Den instruerbare vej kan realiseres af Bernal Rojas med Cesar Rodriguez Bravo som co-autor*
Anbefalede:
Alimentador Automático Bluetooth Para Mascotas Con Arduino: 8 trin
Alimentador Automático Bluetooth til Mascotas Con Arduino: Hola! Vi kan bruge en kanal til Youtube El Taller De TD, og en vejledning til, hvordan man bygger en automatisk Bluetooth -maskine til maskotoner med Arduino, som kan bruges til en af vores førsteklasses kvaliteter og
Dispensador De Alimentos Para Animales (DAA): 5 trin
Dispensador De Alimentos Para Animales (DAA): FundamentaciónEn la ciudad de Caacupé existe una problemática de animales que no tienen un hogar, por lo tanto rondan por las calles sin cuidado alguno, sin alimentación buscando la forma de sobrevivir. Dado que los ciudadanos generalmente no pueden
GRUNDLÆGGENDE TUTORIAL OM ARTIFICIAL INTELLIGENCE MARKUP SPROG (AIML) VIA NOTEPAD: 8 trin
BASIC TUTORIAL ON ARTIFICIAL INTELLIGENCE MARKUP LANGUAGE (AIML) VIA NOTEPAD: Artificial Intelligence Markup Language (AIML) er et programmeringssprog, der er en Extensible Markup Language (XML) specifikation, der bruges af chatbot, verbot, pandorabot, superbot og anden talende robot. Det blev udviklet af Dr. Richard Wallace og â € ¦
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 trin
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: Este tutorial apresenta uma solução SmartHome simples que allow a reposição automática de alimento para animais de estimação (pet) and control automático de iluminação evitando, por motivos de viages vizinhos para ace
The Artificial Plant Emotion Expressor (A.P.E.X.): 7 trin (med billeder)
The Artificial Plant Emotion Expressor (A.P.E.X.): Men vent … Der er mere