جدول المحتويات:
- الخطوة 1: Materiales Que Necesitamos
- الخطوة 2: Iniciando Con Raspberry Pi
- الخطوة 3: Conectando Sensores Y Actuadores Al Raspberry Pi
- الخطوة 4: Preparando Node-RED En El Raspberry Pi
- الخطوة الخامسة: Programando El Sistema Cognitivo
- الخطوة 6: كونيكتاندو واتسون
- الخطوة 7: انتليجنسيا الاصطناعي
- الخطوة 8: Construyendo Un Hardware
- الخطوة 9: Imprimiendo El Mecanismo De Dispensado
- الخطوة 10: Cortando En Láser El Case
- الخطوة 11: Ensamblando El Hardware
فيديو: ديسبنسادور دي أليمنتو بارا ميلتيبليس ماسكوتا Usando Inteligencia Artificial Con Watson: 11 Steps
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
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 blockgo، tengo un perro y un gato. Por ende no tengo una forma de sabre cuál animal es para dispensar el alimento adecuado.
إنه 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 recocer، de cuál animal se trata y dispensar alimento adecuado.
لوجيكا ديل سيستيما:
- لا مسكوتا حد ذاتها واكتشافات من خلال جهاز استشعار المسافة
- El sistema toma una foto del animal
- La procesa y يقرر qué animal es
- سالودا لا ماسكوتا (Con voz humana)
- ديسبينسا الغذاء الاحترام
- Envía un correo al dueño indicando que ya le ha dispensado alimento
الخطوة 1: Materiales Que Necesitamos
Este proyecto lo vamos a realizar en conjunto، así que es momento de vayas a consar، 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 كامارا بارا توت العليق بي
- 1 حساس ultrasonico HC-SR04
- 2 محرك سائق (Pueden utilizar cualquier otro، yo usé este porque period el que tenía a mano!)
- 2 محركات السائر
- 1 مكبر صوت (بارلانتس)
- 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 useicé acrílico، ustedes pueden usar cualquier otro material، como MDF.
- Una Impresora 3D y cortadora láser que en Costa Rica، pueden encontrar en Inventoría LEAD.
الخطوة 2: Iniciando Con Raspberry Pi
Raspberri Pi es un microprocesador muy poderoso que nos permite desarrollar proyectos que Requieran to alto poder computacional. كما هو الحال في 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 Distribución de linux، Open Source، desarrollada especialmente para correr sobre Raspberry Pi.
-
Primeros pasos con Raspbery Pi
- El Primer paso es descargar el raspbian como zip.
-
Ahora debemos quemarlo en una micro SD ، الفقرة ello: Usuarios MAC / Linux:
- Abrimos la terminal o consola del sistema، como se muestra en la foto.
-
Usaremos ciertos comando que explicaré parailiarizarnos 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> => السماح بتنسيق borrar y عند 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 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 advunto en las fotos، la sintáxis del ejemplo sería así
قائمة diskutil
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
Usuarios Windows: Pueden usar Win32Disk، que es una herramienta sencilla o cualquier otra de su elección
-
Ver sistema operativo
- Debes conseguir una pantalla، un cable HDMI، mouse y 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 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 raspberry pi (guardelan porque el la necesuremos). 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 an front، 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 contseña del equipo y una más de la raspberry que por default es "Raspberry". Esto nos abrirá la terminal inmediatamente.
الخطوة 3: Conectando Sensores Y Actuadores Al Raspberry Pi
Cómo Sabemos Raspberry Pi es una Tarjeta de desarrollo que posee pines GPIO que podemos configurar como entradas y salidas para nuestros sensores y actuadores. Nuestros sensores son:
- يستخدم جهاز استشعار المسافة فوق الصوتية لاستشعار الموجات فوق الصوتية. 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 Estimará el tiempo que duró en regresar. Pueden ver la Imagen Adunta que Tomé de Zona Maker donde tienen un excelente البرنامج التعليمي الفقرة 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؟
- إلى جانب المحرك المحرك usaremos سائق المحرك. 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 allowen manejar una corriente mayor). سائق سهل) بعيدًا عن كونه يستخدم ، 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-.
الخطوة 4: Preparando Node-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 activeizado، para ello ejecutaremos los siguientes comandos en nuestra terminal:
sudo apt-get update
sudo apt-get dist-Upgrade-nodejs-and-nodered.usdo
Estos comandos nos realizaran nuestro equipo. El último comando، nos permite tener nuestro entorno Node-RED الفعلي على poder instalar las relencias que vamos a necesitar en este step، es importanteno saltarse esta الفعلي.
- 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 raspberry pi.
- نفس الشيء يشبه الأمر "بمجرد بدء Node-RED ، قم بتوجيه المتصفح إلى 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 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 => إدارة لوحة => تثبيت. 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 => مستشعر فائق الصوت
- node-red-contrib-speakerpi => مكبرات الصوت
- node-red-node-watson => بارا واتسون
- node-red-Contrib-ibm-watson-iot => بارا واتسون
- node-red-bluemix-nodes => Servicios de IBM cloud
- node-red-Contrib-python-function => Interprete de Pytho
الخطوة الخامسة: Programando El Sistema Cognitivo
Node-RED يسمح باستيراد البرامج من خلال وسائل النسخ والنسخ.
Deben ir a botón de menú arriba a la derecha => import => الحافظة => pegar el código => import. Esto les debería generar los bloques del programa، algunos bloques deben configurarse.
تكوين بلوك:
- الفقرة التمهيدي bloque ، que dice "Distancia" ، انقر نقرًا مزدوجًا فوق y nos aseguraremos que los parametros sean los mismos de la fotografía advunta.
- الفقرة "التقاط صورة بيثون عقدة" ، انقر نقرًا مزدوجًا للتحقق من وجود معلمات أخرى. * استيراد asegurarse de que "اسم الملف" le hemos puesto "image.jpg" *
- Para Email send، doble click y aquí debemos colocar nuestros datos، en to: sería a qué dirección de correo quiero enviar el mail المستخدم: Sería la dirección de correo de la persona que envía
- El último paso es configurar los servicios de Watson que haremos a Continación en el siguiente paso.
الخطوة 6: كونيكتاندو واتسون
Watson es un servicio de IBM muy sencillo de useizar que funciona by medio de API.
- تمهيدي تمهيدي بشكل أساسي في سحابة IBM. (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 => التعرف المرئي => Pondremos un nombre único y le damos a crear. Como se muestra en las fotografías adduntas.
- 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 creditenciales، donde dice "api_key".
- Van de vuelta al IDE de Node-RED y doble انقر فوق كل لون "Watson Visual Recognition" ، كما هو موضح في الشكل الصحيح لتصحيح الصورة.
- Esto mismo debe hacerse para el text ، Watson => Texto a voz => Pondremos un nombre único y le damos a crear. Como se muestra en las fotografías adduntas.
- Hemos Genado 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 انقر فوق الكل بلوك "Hablar" ، على سبيل المثال ، يمكنك النقر على الرابط الصحيح لتصحيح الصورة. * Esto debe hacerse para los bloques que dicen hablar *
Y listo ، así de sencillo ya tienen su sistema funcionando!:) خطأ ممكن:
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 للحصول على صور للحماية في la carpeta / home / pi / Pictures ،. En caso de que no enjoya foto o la foto no se pueda abrir (0KB)، es posible que la cámara este mal conectada o que no esté habilitada. الفقرة 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”.
الخطوة 7: انتليجنسيا الاصطناعي
Procesar una imagen no es algo sencillo de hacer، Requiere inteligencia Artificial para poder detrones 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 realidad Requiere un poco de tiempo para poder sentarse a Construir la arquitectura y programar esta red، el nombre utilis par se el tipo redes 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 sistema، con un conjunto de datos certeros y uno falso، es decir muchas fotos con el objeto que queremos recosser y otro montón de fotos agrupadas، sin el objeto que queremos recocer.
Una de las ventajas de usar de Watson، es que hace este trabajo pesado por nosotros incluyendo que el algoritmo esté entrenado para recocer objetos universales، por supuesto dispone de una herramienta o "campo de entrenamiento" para entrenar noestro com ، en este caso، los gatos y perro los recoce por default.
استمرارية ، لا علاقة لها بالتطبيق العملي. (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 equdría a una neurona en nuestro cerebro. Está compuesta de 3 partes Principales:
- انتراداس
- فونسيون دي سوما (Σ)
- Función de Activación
انتراداس:
Estas son lasesentadas en la imagen como x1، x2، x3، x … Serán Multlicadas por un peso w (con un valor random al inicio)
Función de suma ():
En este punto ocurre una suma de todas las entradas multlicadas por su peso w respectivo، al finalizar la operación، envía el resultado a la función de activación.
Función de Activación:
عتبة Funciona como 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:
- كابا دي انترادا
- كابا أوكولتا
- كابا دي ساليدا
كابا دي انترادا:
Aquí es donde recibe todas la entradas ، pueden موجودون número indefinido de neuronas.
كابا أوكولتا:
Recibe la salida de cada neurona que الموجودة في la primer capa ، realiza el mismo proceso en cada percetrón y su salida se la entrega a la capa de salida.
كابا دي ساليدا:
Esta es la capa de clasificación، aquí موجود النميرو دي الخلايا العصبية 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 single، el algoritmo resulta que en calcular fixamente y ajustar los pesos w (Que inicialmente tenían un valor random). Esto puede hacerse mediante 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 algoritmos como el que acabamos de ver، pero con una mayor profundidad y complejidad por supuesto، ante esto usar el Visual Recognition API، o API de Recocimiento visual، (Que ahora sabemos que se trata de redes nuronales ygolucion otros algoritmos más)، resulta muy sencillo de usar، esto porque cuando configuremos el bloque con nuestra creditenciales y hagamos el procesamiento de una imagen، Watson nos va devolver un archivo tipo JSON con un motón de posibilid de paogén. Es decir، cuando procesamos la foto، Watson hace su análisis y nos devuelve una lista con lista objetos que ha detective 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 comidarecta:)
هذا هو السبب وراء كونه مجرد وسيلة للاستخبارات الاصطناعية لا توجد مجموعة من الخدمات ، ولا سيما الخدمات الموجودة في Watson que hacen el trabajo pesado por nosotros!:)
الخطوة 8: Construyendo Un Hardware
Este paso lo hemos realizado en la Inventoría LEAD (Ver labatorio) el cual es un maker space en Costa Rica desarrollado por Fundación Costa Rica para la Innovación.
في المختبر الملوثات المصممة للتصميمات ثلاثية الأبعاد والمراحل المتقدمة للتكنولوجيا ، وهي طريقة للتخلص من المعلومات ، والأفكار الأولية والأفكار الجديدة التي تم إنشاؤها من قبل خبراء في المنطقة.
الخطوة 9: Imprimiendo El Mecanismo De Dispensado
Como comentábamos 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 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 aprendasism a hacer más nos las haga، por ello con este in our usezar estas maquinas y poner a Imprimir las piezas por ustedes mismos.
الخطوة 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. ، حظر الخطيئة، este gcode debe ser Genado por un software، en este caso generamos un archivo.
El material: Para este diseño es importante saber que debemos usar material de 3mm، uno mayor puede hacer que las piezas no calcen adecuadamente. 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 useizar 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: Ensamblando El Hardware
Una vez que tenemos todas piezas completeas، la electónica y software listo، podemos comenzar a ensamblar.
En las fotos advuntas verán el proceso!:)
-
باسوس بارا أرمادو:
- 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 oturos persona 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. توصيات كومو الشخصية ، siempre que hagan un proyecto realicenlo con mucho oficio y detalle. كوابل Cuidar los هي أمور مهمة ، un proyecto limpio y agradable a la vista tiene un Impacto mayor que uno con cables desordenados، que se vea desordenado، complejo o socio.
* Ensable de la caja 1، la dispensadora (Con los motores) -En este punto debemos tomar el acople de los motores que Imprimos 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 complete 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، advunto econtrarán un diagrama de como funcionan estas maquinas) - de modo que nos quede un acople fixo 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 electónica.-Colocamos el sensor ultrasónico en los orificios. Con contadoble cara fijamos la cámara a la pared de acrílico.-Acomodamos la electónica، esto lo hice como se muestra en la foto، pero ustedes pueden acomodarlo a su gusto. من خلال عمليات إعادة التسجيل الكاملة ،
- Ajustar a sus mascotas (por tipo de Animal)
- Construir un case con más sistemas de dispensado، para más animales، así como configurar el sistema para recocer más animales
- Conectar مع IBM IoT para controlar el sistema desde cualquier parte del mundo
- Agregar un dispensador de agua
- Hacerle cualquier cambio que sea oportuno para ti:)
* Este Instructable fue realizado by Bernal Rojas con Cesar Rodriguez Bravo como co-autor *
موصى به:
ديسبنسادور دي جل: 5 خطوات
ديسبينسادور دي جل: ماتيريستركتورا- بليجو دي كارتونسيلو- دوس رولوس دي بابيل جراند- سيليكون- بوت كون تاباديرا سيجورا- جل- أيروسول دي دوس كولورز- سينتا دي أيسلار- ميديو مترو دي مانجويرا- سيركويتو- أردوينو ميجا- مستشعر فوق صوتي- نشيط طنان
Medidor De Humedad ، تمبراتورا واي لوز بارا بلانتاس: 3 خطوات
Medidor De Humedad، Temperatura Y Luz Para Plantas: Este Instructable tiene como intenci & oacute؛ n crear un medidor para el monitoreo de plantas y sus necesidades. الفقرة ميدير لا هوميداد ، تيمبراتورا إي لوز ألريدور دي أونا بلانتا
ديسبنسادور دي أليمينتوس بارا أنيمالز (DAA): 5 خطوات
Dispensador De Alimentos Para Animales (DAA): FundamentaciónEn la ciudad de Caacupé موجود 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 formivir de sobrevir. Dado que los ciudadanos generalmente no pueden
قم بتشغيل LED مع محادثة Watson: 6 خطوات
قم بتشغيل LED مع محادثة Watson: ما ستحتاج إليه: Zagros Artificial Intelligence Raspberry Pi Kit
Kit Ciencia Y Arte: Algoritmo Genético (Vida Artificial): 6 خطوات
Kit Ciencia Y Arte: Algoritmo Genético (Vida Artificial): Los algoritmos gen & eacute ؛ ticos son probablemente una de las cosas m & aacute؛ s interesantes de la computaci & oacute؛ n (en mi opini & oacute؛ n). B & aacute؛ sicamente se toma la idea de evoluci & oacute؛ n de la biolog & iacute؛ a، y se aplica a un algoritmo en u