Sisukord:
- 1. samm: Materiales Que Necesitamos
- 2. samm: Iniciando Con Raspberry Pi
- Samm: Conectando Sensores ja Actuadores Al Raspberry Pi
- Samm 4: Ettevalmistatud sõlme-punane En El Raspberry Pi
- 5. samm: programmando El Sistema Cognitivo
- 6. samm: ühendage Watson
- Samm 7: Inteligencia kunstlik
- 8. samm: riistvarakonstrueerimine
- 9. samm: Imprimiendo El Mecanismo De Dispensado
- 10. samm: Cortando En Láser El Case
- 11. samm: riistvara Ensamblando El
Video: Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Kunstlik Con Watson: 11 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
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.
Ta lahendab lahenduse, tunneb end süsteemi tunnetuslikus järjekorras ja kasutab Inteligencia Artificial para que, por medio una cámara haga and processamiento de imagen para reconocer, de cuál animal se trata y dispensar el alimento adecuado.
Lógica del süsteem:
- La mascota se acerca y es detectada por un sensor de distancia
- El süsteem toma una foto del animal
- La protsessi y otsustada qué animal es
- Saluda a la mascota (Con voz humana)
- Dispensa el alimento respectivo
- Envía un correcto al dueño indicando que ya le ha dispensado alimento
1. samm: 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, mudelite 3 soovitused, aga anteriores tambien funcionan!
- 1 Cámara para vaarika pi
- 1 ultraheli andur HC-SR04
- 2 Juhi mootor (Pueden utilizar cualquier otro, yo usé este porque era el que tenía a mano!)
- 2 samm -mootorit
- 1 kõlar (Parlantes)
- 2 toru PVC -d ja puljongikandjaid (Las encuentran en cualquier ferretería por menos de 2000 colones cada una.)
- Unikaalne akrüülkloriid 3 mm ajukoorele, akrüülvärv, akustiline materjal, kasutatud materjali, mis on valmistatud MDF -st.
- Kasutage 3D -kujutist ja Costa Rica korterid, mis on saadaval Costa Ricas, teadlased ja Inventoría LEAD.
2. samm: Iniciando Con Raspberry Pi
Raspberri Pi on mikroprotsessor, mida saab kasutada, kuid see ei ole enam lubatud. Es similar a un Arduino con la diferencia que Raspberry Pi nos permite correctr un Sistema Operativo dentro de la tarjeta de desarrollo.
Kasutage nüüd raspiani que es Linuxi levitamiseks, avatud lähtekoodiga, desarrollada especialmente para grer sobre Raspberry Pi.
-
Primeros pasos con Raspbery Pi
- El primer paso es descargar el raspbian como zip.
-
Ahora debemos quemarlo ja un -micro SD, näiteks: Usuarios MAC / Linux:
- Abrimos la terminal või consola del system, como se muestra en la foto.
-
Usaremos ciertos comando que explicaré para familizarnos y al final daré un ejemplo de uso. diskutil list => Este comando me devuelve la list de 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 lalamaremos "TuDisco". diskutil eraseDisk JHFS+ UntitledUFS <TuDisco> => Luba vormida ja vormistada es disco escido (TuDisco).
diskutil unmountDisk /dev /<TuDisco> => Desmonta el disco para no poder utilizarlo.
sudo dd if = of =/dev/<TuDisco> bs = 1m => Quema el system 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 en las fotos, la sintáxis del ejemplo sería así
diskutili loend
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
Kasutage Windowsi: Preden usar Win32Disk, que es una herramienta sencilla o cualquier otra de su elección
-
Operatsioonisüsteemi süsteem
- Tänu sellele on püksid, HDMI -kaabel, hiir ja teclado.
- Conectalos y enciende la raspberry 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 pidev trabojando como una computadora normal or 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 directcción IP de nuestro raspberry 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 directcció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 raspberry que por default es "vaarikas". Esto nos abrirá la terminal inmediatamente.
Samm: Conectando Sensores ja Actuadores Al Raspberry Pi
Cómo sabemos Raspberry Pi es un una tarjeta de desarrollo que posee pines GPIO que podemos configurar como entradas y salidas para nuestros sensores y actuadores. Nuestros sensores son:
- Kaugusanduri kasutamine ja ultraheli anduri kasutamine. Este sensor funktsionaalsus ultraheli, como un murcielago … Funktsioon emitiend una honda (Trigger pin) que rebotará en un objeto, el sensor la recibirá de vuelta (Echo pin) ja hinnanguline el neilepo que duró en regresar. Pueden ver la imagen adjunta que tomé de Zona Maker donde tienen un uncelente tutorial to Ententer a fondo como funciona este sensor
- Para la visión kunstlik el süsteem usará una cámara.
- Como mootor on kasutusel ja samm -mootor. UKuidas ja samm -mootor?
- Para mover el motor usaremos Juhi mootor. 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 linnapea).* Märkus:* El diagrama adjunto se muestra otro driver (El rojo, es un lihtne juht) distinto a que he utilizado, esto fue para generalizar, ya que la linnapea 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-.
Samm 4: Ettevalmistatud sõlme-punane En El Raspberry Pi
Ahora vamos a comenzar a preparaat todos los paquetes necesarios para hacer que nuestro system functioncion con Node-RED, que es un IDE de programción gráfico muy sencillo de utilizar.
Antes de comenzar a prepar todo es necesario tener nuestro equipo aktualado, para ello ejecutaremos los siguientes comandos en nuestra terminal:
sudo apt-get update
sudo apt-get dist-upgrade update-nodejs-ja-nodered
Estos comandos nos aktualisran nuestro equipo. El último comando, nos permite tener nuestro entorno Node-RED aktualado para poder instalar las dependencias que vamos a necesitar en este step, es svarne saltarse esta aktualiseerimine.
- 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 see on punane või wifi que las vaarika pi.
- Vas a ver una linea que dice algo similar a "Kui sõlme-RED on käivitunud, suunake brauser aadressile https://192.168.1.102:1880" directcción de ustedes será diferente a la mía.
- Entraremos a nuestro navegador web y copiamos la directcció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. Esto nos va loadir de manera gráfica instalar todos los paquetes externos que necesitemos, lo que serían las librerías en código.
-
Ahora vamos ja instalar varios paquetes, esto lo haremos copiando el nombre del paquete que les dejaré abajo y dandole al botón instalar. 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 kõlarid
- node-red-node-watson => Para watson
- node-red-contrib-ibm-watson-iot => Para watson
- node-red-bluemix-nodes => IBMi pilve teenused
- node-red-contrib-python-function => Interpreteeri de Pytho
5. samm: programmando El Sistema Cognitivo
Sõlme-PUNANE permite importar programme medio de copiar u código que les dejo adjunto.
Deben ir a botón de menú arriba a la derecha => import => lõikelaud => pegar el código => import. Esto les debería generar los bloques del program, algunos bloques deben configurarse.
Blokkide konfiguratsioon:
- Parameetrite plokk, que dice "Distancia", le julgemos doble click y nos aseguraremos que los parametros sean los mismos de la fotografía adjunta.
- Parameetri "Take photo python node" (topeltklõps ja igual verificamos) parameetrite reguleerimiseks. *Oluline on "Faili nimi" le hemos puesto "image.jpg"*
- Para Email send, doble click y aquí debemos colocar nuestros datos, en To: sería a qué directcción de correcto quiero enviar el mailUserid: Sería la directcción de correcto de la persona que envía
- El último paso ja Watson que haremos servicios konfiguraator ja pidev en el siguiente paso.
6. samm: ühendage Watson
Watson on üks teenuseid IBM -i teenusepakkujalt, kes kasutab API keskmist funktsiooni.
- En primer paso es crearse una cuenta en el IBM Cloud. (IBM -i äritegevus, 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.
- Una vez que estén dentro, pueden observar que han generado un API, ahora le dan al botón que dice "mostrar" (Ver cuarta foto) y deben copiar las credenciales, donde dice "api_key".
- Kui see on IDE de Node-RED ja klõpsa kaks korda, klõpsa "Watson Visual Recognition", vaadake pegar sus credenciales ja espacio correcto y ajustar los parametros al 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.
- Hemos generado un API nuevamente, ahora le dan al botón que dice "mostrar" (Ver cuarta foto) y deben copiar las credenciales "kasutajanimi" y "password". Vamos de vuelta al IDE de Node-RED ja topeltklõpsake nuppu "Hablar", vaadake pegar sus credenciales ja espacio correcto y ajustar los parametros al igual que la foto. *Esto debe hacerse para los bloques que dicen hablar*
Y listo, así de sencillo ya tienen su system funcionando!:) Võimalik viga:
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 süsteem está configurado para guardar las fotos en la carpeta/home/pi/Pictures,. En caso de que no exista photo 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” ja „Liidesed”. Ahí debemos aseguranos que “Cámara” está en “Habilitada”.
Samm 7: Inteligencia kunstlik
Procesar una imagen no es algo sencillo de hacer, requiere inteligencia kunstlik para poder detektor patrones en essa imagen de los cuales pueda generar una o varias prognoos de objetos que podría ser el que se está mostrando en la imagen. Este tipo de algoritmos pueden hacerse de varias maneras, una de ellas es usando redes neuronales profundas que en la aktualidad requiere un poco de tiempo para poder sentarse a buildir la arquitectura y 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 more se asemeja a las neuronas en la corteza visual humana. Enestos 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 second 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 un poco menos, en este caso, los gatos y perro los reconoce por default.
A Continueción haré un paréntesis donde explicaré como funciona una red neuronal kunstlik, 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 lalama perceptron o lo que equivaldría a una neurona en nuestro cerebro. Arvutus 3 põhimõttel:
- Entradas
- Función de suma (Σ)
- Función de activación
Entradas:
Estas son las representadas en la imagen como x1, x2, x3, x… Serán multiplicadas por un peso w (con un valor random al inicio)
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.
Tegevusfunktsioon:
Funciona como künnis o umbral, 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 imagen, está compuesta de 3 capas principales:
- Capa de entrada
- Capa oculta
- Capa de salida
Capa de entrada:
Aquí es donde recibe todas la entradas, pueden egzistir un número undefinido de neuronas.
Capa oculta:
Recibe la salida de cada neurona que existe en la primer capa, realiza el mismo process 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 ¿Kas soovite realistlikult 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 está creado usando muchos algoritms como el que acabamos de ver, pero con una linnapea profundidad y completejidad por supuesto, ante esto usar el Visual Recognition API, o API de reconocimiento visual, (Que ahora sabemos que se trata de redes neuronales convolucionales y algun otros algoritmos más), resultaat muy sencillo de usar, esto porque cuando configuremos el bloque con nuestra credenciales y hagamos el processamiento de una imagen, Watson nos va devolver un archivo type JSON con un motón de posibilidades de objetos que puedan estar presentes en essa. Otsustage, tehke fotod, Watson hace su análisis y nos devuelve una list of probables objetos que ha detectado en essa foto, así de sencillo es usar Watson!
Luego soolo usamos un script para recorrer todas esas posibles opciones y si en essa list encuentra conciencia con un perro o un gato le avisará al resto del system para que dispense la comida correcta:)
Kui teil on vaja seda teha, siis tehke inteligencia kunstlikult ja esmalt tan komplekt, eriline cuando existen servicios como Watson que hacen el trabajo pesado por nosotros!:)
8. samm: riistvarakonstrueerimine
Este paso lo hemos realizado en la Inventoría LEAD (Ver laboratorio) el cual es un maker space en Costa Rica desarrollado por Fundación Costa Rica para la Innovación.
En el laboratooriumides on impressoras 3D ja cortadora láser entre second montón de herramientas y tecnologías a disposicón de nosotros, la comunidad, para prototipar y desarrollar nuestras ideas and proyectos de la mano con expertos en el área.
9. samm: Imprimiendo El Mecanismo De Dispensado
Como comentábamos en en Inventoría LEAD tenemos a disposición de nosotros impresoras 3D, de las cuales hicimos uso en este proyecto para hacerlo realidad. Seadistajate arhiivide arhiivide nimekirjad, mis on ette nähtud presidendiks, soovituslikud segud 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 mismosien más nos las haga, por ello con este instructable aprenderán a utilizar estas maquinas y poner a imprimir las piezas por ustedes mismos.
10. samm: 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 programs 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.
Materjal: Para este diseño es importante saber que debemos usar material de 3mm, uno linnapea 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 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 pueden utilizar el material que deseen, si buscan realizar algo de bajo costo, pueden hacer uso de MDF de 3mm el cual es un material muy económico y da acabados muy bonitos también.
11. samm: riistvara Ensamblando El
Una vez que tenemos todas piezas completas, la Electronica y software listo, podemos comenzar and ensamblar.
En las fotos adjuntas verán el process!:)
-
Passo 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 other interesantes e intelectuales ante otra persona, podemos decir Cloruro de metileno… Luego 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 realarse con calma y cuidado, ya que una gota en un lugar equivocado puede dañar la estética de nuestro acrílico. Como soovitab isiklikult, siempre que hagan un proyecto realicenlo con mucho oficio y detalle. Cuidar los kaablid on kõik olulised, uniprojektid ja agradatiivne a la vista tiene un impacto linnapea, mis on kaablite desordenados, que se vea desordenado, completejo o sucio.
*Esitatav de la caja 1, la dispensadora (Con los motores)-En este punto debemos tomar el acople de los motores que imprimimos et 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 complete dentro del Tubo de PVC. (Este süsteem es muy utilizado en la industria como maquina de inyección, un ejemplo de aplicación es en 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 completas 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 Electronica.-Colocamos el sensor ultrasónico en los orificios. Con contadoble cara fijamos la cámara a la pared de acrílico. Täielikult, le soovitused algunos retos:
- Ajustar a sus mascotas (por tipo de animal)
- Konstrueerige üks ja teine süsteem, mis sisaldab animales, animales, nagu ka konfiguraator ja süsteem anonüümseks kasutamiseks
- Conectar IBM IoT -le, mis kontrollib süsteemi, mis korraldab des cualquier parte del mundo
- Agua kokkulepe ja dispensador
- Hacerle cualquier cambio que sea oportuno para ti:)
*Esitage juhendatav fue realiseerimine Bernal Rojasilt Cesar Rodriguez Bravo kaasautorina*
Soovitan:
Como Tener Múltiples Cuentas Instagramis: 3 sammu
Como Tener Múltiples Cuentas En Instagram: En este instructable aprender á s como tener m ú ltiples cuentas en instagram para evitar salir de nuestra cuenta y tener que entrar en la otra
Alimentador Automático Bluetooth paraku Mascotas Con Arduino: 8 sammu
Alimentador Automático Bluetoothi maskid Arduino jaoks: Tere! Mi Nombre es Tadeo del canal de Youtube El Taller De TD, en el tutorial de hoy aprenderás a konstruktor ja üks automaatne bluetooth para mascotas with Arduino, para que puedas darle un pequeño premio a tu major amigo cuando quieras y des
Projeto SmartHome - hoidla De Alimento Para Pet + Controle De Iluminação: 7 sammu
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: Este tutorial apresenta uma solução SmartHome simples que permite a reposição automateica de alimento para animais de estimação (pet) e controle automateico de iluminaçãoo evitando visinhos para ace
Conversație Bazat Pe Inteligență Kunstlik: 6 sammu
Sistem De Conversație Bazat Pe Inteligență Tehislik: Autor: Stanut Nicolae-RaduGrupa: 333ABMärkus: 8
IBM Watson, mille lõpp -punkt ESP32: 11 sammu
IBM Watson, mille lõpp -punkt on ESP32: postitan täna siia esimese video seeriast, kuidas ESP32 -ga lõpp -seadet ühendada ja seejärel pilveteenusesse saata. Selles konkreetses episoodis näitan teile, kuidas saata teavet DHT22 andurilt, kasutades MQTT protokolli