Cov txheej txheem:
- Kauj Ruam 1: Cov Ntaub Ntawv Que Necesitamos
- Kauj Ruam 2: Txheeb Raspberry Pi
- Kauj Ruam 3: Conectando Sensores Y Actuadores Al Raspberry Pi
- Kauj Ruam 4: Npaj Ua Ntej-RED En El Raspberry Pi
- Kauj Ruam 5: Programando El Sistema Cognitivo
- Kauj Ruam 6: Txuas rau Watson
- Kauj Ruam 7: Inteligencia Artificial
- Kauj Ruam 8: Tsim Kho Kho Vajtse
- Kauj Ruam 9: Imprimiendo El Mecanismo De Dispensado
- Kauj Ruam 10: Cortando En Láser El Case
- Kauj Ruam 11: Ensamblando El Hardware
Video: Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson: 11 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:26
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, ua txhaum cai, tengo un perro y un gato. Por ende no tengo una forma de saber cuál tsiaj es para dispensar el alimento adecuado.
Nws 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 tsiaj se trata y dispensar el alimento adecuado.
Lógica del system:
- La mascota se acerca y es detectada por un sensor de distancia
- El sistema toma una foto del tsiaj
- La procesa y txiav txim siab qué tsiaj es
- Saluda a la mascota (Con voz humana)
- Dispensa el alimento hwm
- Envía un correo al dueño indicando que ya le ha dispensado alimento
Kauj Ruam 1: Cov Ntaub Ntawv 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, les recomiendo el modelo 3, pero las anteriores tambien funcionan!
- 1 Cámara rau raspberry pi
- 1 sensor ultrasónico HC-SR04
- 2 Tsav lub cev muaj zog (Pueden utilizar cualquier otro, yo usé este porque era el que tenía mano!)
- 2 stepper tsav
- 1 Tus Hais Lus (Parlantes)
- 2 tubos T de PVC de pulgada y media (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 khoom, como MDF.
- Una impresora 3D y cortadora láser que en Costa Rica, suav nrog tus lej Inventoría LEAD.
Kauj Ruam 2: Txheeb Raspberry Pi
Raspberri Pi es tsis yog microprocesador muy poderoso que nos permite desarrollar proyectos que requieran un alto poder computacional. Es zoo ib yam li Arduino con la diferencia que Raspberry Pi nos permite correr un Sistema Operativo dentro de la tarjeta de desarrollo.
Yog li caso koj siv raspbian que es una distribución de linux, Open Source, desarrollada especialmente para correr sobre Raspberry Pi.
-
Primeros pasos nrog Raspbery Pi
- El primer paso es download tau el raspbian como zip.
-
Ahora debemos quemarlo en una micro SD, para ello: Siv 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 la lista 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 llamaremos "TuDisco". diskutil eraseDisk JHFS+ UntitledUFS <TuDisco> => Tso cai borrar y formatear el disco escogido (TuDisco).
diskutil unmountDisk /dev /<TuDisco> => Desmonta el disco para no poder utilizarlo.
sudo dd yog = ntawm =/dev/<TuDisco> bs = 1m => Quema el sistema 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í
daim ntawv teev npe diskutil
diskutil eraseDisk JHFS+ UntitledUFS disk1 diskutil unmountDisk/dev/disk1 sudo dd yog =/Cov neeg siv/bernalrojas/rub tawm/2017-11-29-raspbian-stretch.img ntawm =/dev/disk1 bs = 1m diskutil eject/dev/disk1
Siv Windows: Pueden usar Win32Disk, que es una herramienta sencilla o cualquier otra de su elección
-
Ua raws li kev ua haujlwm
- Kev them nyiaj tshwj xeeb rau ib lub xov tooj, txuas cable HDMI, nas thiab teclado.
- Conectalos y enciende la raspberry pi, verás que al igual que una computadora ib txwm este va iniciar de la misma sencilla manera que cualquier otra (recordemos que es una computadora).
- Ahora puedes txuas ntxiv mus trabajando como una computadora ib txwm los yog pueden accesar remotamente, así que lo haremos de esta ultima forma, tsis muaj kev vam khom de una pantalla rau poder trabajar.
- Vamos a hacer uso de ssh para accesar remotamente, antes de quitar la pantalla abrimos vamos a ir a nuestra davhlau ya nyob twg y escribimos "ifconfig" este comando nos va devolver la dirección IP de nuestro raspberry pi (guardelan porque la necesitaremos en el futuro). Ahora pueden desconectar la pantalla.
- Vamos a ir 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 raspberry que por default es "raspberry". Esto nos abrirá la terminal inmediatamente.
Kauj Ruam 3: Conectando Sensores Y Actuadores Al Raspberry Pi
Cómo sabemos Raspberry Pi es un un tarjeta de desarrollo que posee pines GPIO que podemos configurar como entradas y salidas para nuestros sensores y actuadores. Nuestros sensores tus tub:
- Para el sensor de distancia usaremos thiab sensor ultrasónico. Este sensor funciona por ultrasonidos, como un murcielago… Funciona emitiendo una honda (Trigger pin) que rebotará en un objeto, el sensor la recibirá de vuelta (Echo pin) y Estará 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 artificial el sistema usará una cámara.
- Como motor usaremos un Stepper Motor.¿Qué es un Stepper Motor?
- Para mover el motor usaremos Tsav tsheb. 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 tus kav nroog).* Nota:* El diagrama adjunto se muestra otro driver (El rojo, es un un tus neeg tsav tsheb yooj yim) cuam tshuam rau tus que nws siv, esto fue para generalizar, ya que la mayoría de tsav tsheb 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-.
Kauj Ruam 4: Npaj Ua Ntej-RED En El Raspberry Pi
Ahora vamos a comenzar a preparar todos los paquetes necesarios para hacer que nuestro sistema funcione con Node-RED, que es un IDE de programación gráfico muy sencillo de utilizar.
Antes de comenzar a preparar todo es necesario tener nuestro equipo actualizado, para ello ejecutaremos los siguientes comandos en nuestra davhlau ya nyob twg:
sudo apt-tau hloov tshiab
sudo apt-tau dist-upgrade hloov tshiab-nodejs-thiab-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 liab o wifi que las raspberry pi.
- Vas a ver una linea que dice algo zoo ib yam "Thaum Node-RED tau pib, taw tes rau browser ntawm 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 la la mía.
- Entraremos a nuestro navegador web y 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 => tswj palette => Install. Esto nos va permitir de manera gráfica instalar todos los paquetes externos que necesitemos, lo que serían las 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 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 hais lus
- node-red-node-watson => Para watson
- node-red-contrib-ibm-watson-iot => Para watson
- node-red-bluemix-nodes => Servicios de IBM huab
- node-red-contrib-python-function => Interprete de Pytho
Kauj Ruam 5: Programando El Sistema Cognitivo
Node-RED tso cai importar un programa por medio de copiar u código que les dejo adjunto.
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 configurarse.
Configuración de Bloques:
- Para el primer bloque, que dice "Distancia", le daremos doble nyem y nos aseguraremos que los parametros sean los mismos de la fotografía adjunta.
- Para "thaij duab nab nab", doble nyem y e igual verificamos los parametros al adjunto. *Cov ntaub ntawv tseem ceeb "npe lub npe" le hemos puesto "image.jpg"*
- Para Email xa, doble nyem y aquí debemos colocar nuestros datos, en To: sería a qué dirección de correo quiero enviar el mailUserid: Sería la dirección de correo de la persona que envíaPassword: La clave de esta última dirección de.
- El último paso es configurar los servicios de Watson que haremos a continuación en el siguiente paso.
Kauj Ruam 6: Txuas rau Watson
Watson yog ib qho kev pabcuam ntawm IBM muy sencillo de utilizar que funciona por medio de API.
- Ib qho tseem ceeb tshaj plaws tsis zoo ib yam 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 ombnico 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".
- Van de vuelta al IDE de Node-RED y doble nyem rau ntawm "Watson Visual Recognition", se aseguran de pegar sus credenciales en el 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 "username" y "password". Vamos de vuelta al IDE de Node-RED y doble nyem qhov bloque "Hablar", se aseguran de pegar sus credenciales en el espacio correcto y ajustar los parametros al igual que la foto. *Esto debe hacerse para los bloques que dicen hablar*
Yog li, ua raws li cov lus pom zoo los ntawm kev ua haujlwm funcionando!:) Qhov ua yuam kev:
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/Duab. 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/Duab,. En caso de que tsis muaj cov duab lossis cov duab no tsis yog pueda abrir (0KB), yog qhov ua tau zoo 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” y vamos a “Interfaces”. Ahí debemos aseguranos que “Cámara” está en “Habilitada”.
Kauj Ruam 7: Inteligencia Artificial
Procesar una imagen no es algo sencillo de hacer, requiere inteligencia dag 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 imagen. 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 a construir la arquitectura y programar esta red, el nombre específico para el tipo de red que se es Redes Neuronales Convolucionales, que es el algoritmo que más se asemeja a las neuronas en la corteza pom tib neeg. En estos algoritmos siempre se debe entrenar el sistema, 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 sistema a objetos, en este caso, los gatos y perro los reconoce por default.
Ib qhov txuas mus ntxiv tsis muaj qhov sib txawv donde explicaré como funciona una red neuronal artificial, con nplua meramente didacticos, Tsis muaj necesario para la realización del qhia. (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 liab está compuesta de varios elementos indivuales (la unidad básica) que se llama perceptron o lo que equivaldría una neurona en nuestro cerebro. Está compuesta de 3 partes tus thawj tswj hwm:
- Entradas
- Función de suma (Σ)
- Función de activación
Nkag mus:
Estas tus tub las sawv cev rau hauv cov duab 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.
Cov yam ntxwv ntawm kev ua haujlwm:
Funciona como threshold 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 liab. Como observan en la segunda imagen, está compuesta de 3 capas tus thawj tswj hwm:
- Capa tsib entrada
- Capa hnub qub
- Capa tsib salida
Capa tsib entrada:
Aquí es donde recibe todas la entradas, pueden existir un número indefinido de neuronas.
Kab rov tav:
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.
Tam sim no nws yog liy lindo, tab sis Dab tsi ocurrerererementmente el aprendizaje? Esto ocurre en cada perceptron por person, 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 Cov Ntaub Ntawv)
Watson está creado usando muchos algoritmos como el que acabamos de ver, pero con una tus tswv nroog profundidad y complejidad por supuesto, ante esto usar el Visual Recognition API, o API de reconocimiento visual, (Que ahora sabemos que se trata de redes neuronales convuces otros algoritmos más), resulta muy sencillo de usar, esto porque cuando configuremos el bloque con nuestra credenciales y hagamos el procesamiento de una imagen, Watson nos va devolver un archivo tipo JSON con un motón de posibilidades de objetos fuedr. Es decir, cuando procesamos la foto, Watson hace su análisis y nos devuelve una lista con probability objetos que ha detectado en esa foto, así de sencillo es usar Watson!
Luego solo usamos un script para recorrer todas esas posibles opciones y si en esa lista 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 dag tsis yog algo tan complejo, tshwj xeeb tshaj yog cuando existen servicios como Watson que hacen el trabajo pesado por nosotros!:)
Kauj Ruam 8: Tsim Kho Kho Vajtse
Este paso lo hemos realizado en la Inventoría LEAD (Ver laboratorio) el cual es un txiag chaw en Costa Rica desarrollado por Fundación Costa Rica para la Innovación.
En el laboratorio contamos con impresoras 3D y cortadora láser entre otro montón de herramientas y tecnologías a disposicón de nosotros, la comunidad, para prototipar y desarrollar nuestras tswv yim y proyectos de la mano con expertos en el área.
Kauj Ruam 9: 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. Adjunto encontrarán los archivos listos para imprimir, les recomiendo seguir Este cov lus qhia 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 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.
Kauj Ruam 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, funcion, ua txhaum cai, tsis yog 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.
Cov khoom siv: 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 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.
Kauj Ruam 11: Ensamblando El Hardware
Koj tsuas yog xav kom ua tiav tag nrho, cov khoom siv hluav taws xob thiab cov npe software, podemos comenzar thiab cov kev pabcuam.
En las fotos adjuntas verán el proceso!:)
-
Lub sij hawm xa tuaj:
- 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 e intelectuales ante otra persona, podemos de méréo de meto agradecen el tip;) yog
-
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. Como recomendación tus kheej, siempre que hagan un proyecto realicenlo con mucho oficio y detalle. Cuidar los cables es algo importante, un proyecto limpio y agradable a la vista tiene un impacto tus tswv nroog que uno con cables desordenados, que se vea desordenado, complejo o sucio.
*Ua kom raug 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 tsis muaj importa… fotos.-Ahora insertamos la pieza completa dentro del Tubo de PVC. (Este sistema 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 diagram de como funcionan estas maquinas) -Hacemos la inserción de la las de las 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 loces aces los ntawm kev ua tiav, le sugiero algunos retos:
- Ajustar a sus mascotas (por tipo de animal)
- Tsim ib rooj plaub nrog kev siv lub tshuab hluav taws xob, rau cov tsiaj txhu, xws li kev teeb tsa kev teeb tsa rau kev rov ua dua ntawm cov tsiaj
- Conectar con IBM IoT para controlar el sistema desde cualquier parte del mundo
- Agregar un dispensador de agua
- Hacerle cualquier cambio que hiav txwv oportuno para ti:)
*Este instructable fue realizado por Bernal Rojas con Cesar Rodriguez Bravo como co-autor*
Pom zoo:
Artificial Cloud: 3 Kauj Ruam
Huab Cua Huab Cua: Nyob Zoo Txhua Tus, Hnub no kuv yuav ua zaj sawv xim xim huab
Alimentador Automático Bluetooth Para Mascotas Con Arduino: 8 Kauj Ruam
Alimentador Automático Bluetooth Para Mascotas Con Arduino: Hola! Mi nombre es Tadeo del channel de Youtube El Taller De TD, en el tutorial de hoy aprenderás a construir un alimentador automático bluetooth para mascotas con Arduino, para que puedas darle un pequeño premio a tu mejor amigo cuando quieras y des
Dispensador De Alimentos Para Animales (DAA): 5 Kauj Ruam
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
Board Game Artificial Intelligence: Minimax Algorithm: 8 Kauj Ruam
Board Game Artificial Intelligence: Minimax Algorithm: Puas tau xav tsis thoob tias koj lub khoos phis tawj koj ua si tiv thaiv hauv chess lossis checkers tau ua li cas? Zoo saib tsis muaj ntau tshaj li Cov Lus Qhia rau nws yuav qhia koj yuav ua li cas thiaj yooj yim tab sis siv tswv yim dag (AI) siv Minimax Algorithm! Los ntawm kev siv th
Projeto SmartHome - Repositor De Alimento Para Tsiaj + Controle De Iluminação: 7 Kauj Ruam
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: Este tutorial apresenta uma solução SmartHome simples que permite a reposição automática de alimento para animais de estimateação (pet) e controle automático de iluminação evitando, por motivos de vizinhos rau ace