فهرست مطالب:
- مرحله 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
- مرحله 5: Programando El Sistema Cognitivo
- مرحله 6: Conectando a Watson
- مرحله 7: Inteligencia Artificial
- مرحله 8: سخت افزار Construyendo Un
- مرحله 9: Imprimiendo El Mecanismo De Dispensado
- مرحله 10: Cortando En Láser El Case
- مرحله 11: سخت افزار Ensamblando El
تصویری: Dispensador De Alimento Para Múltiples Mascotas Usando Inteligencia Artificial Con Watson: 11 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
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.
He 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 processamiento de imagen para reconocer، de cuál animal se trata y dispensar el alimento adecuado.
Lógica del sistema:
- La mascota se acerca y es deteada por un sensor de distancia
- El sistema toma una foto del animal
- فرآیند تصمیم گیری در مورد حیوانات
- 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
مرحله 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، les recomiendo el modelo 3، pero las anteriores tambien funcionan!
- 1 Cámara para raspberry pi
- 1 سنسور ultrasónico HC-SR04
- 2 موتور راننده (Pueden utilizar cualquier otro، yo usé este porque era el que tenía a mano!)
- 2 موتور پله ای
- 1 بلندگو (Parlantes)
- 2 لوله T PVC de pulgada y media (Las encuentran en cualquier ferretería poros menos de 2000 colones cada una.)
- برای ضخامت 3 میلی متر برای موج ، برای استفاده از اکریلیک ، از مواد اولیه cualquier otro ، MDF استفاده کنید.
- برای نمایش 3D و cortadora láser que در کاستاریکا ، پیاده سازی شده توسط Inventoría LEAD.
مرحله 2: Iniciando Con Raspberry Pi
Raspberri Pi un microprocesador muy poderoso nos permite desarrollar proyectos که نیاز به محاسبه آلتو پودر دارد. Is similar a un Arduino con la diferencia que Raspberry Pi no permite correr un Sistema Operativo dentro de la tarjeta de desarrollo.
از این رو می توانید از سیستم های لینوکس ، منبع باز ، منبع ویژه ، برای رزرو رزبری پای استفاده کنید.
-
Primeros pasos con Raspbery Pi
- El primer paso es descargar el raspbian como zip.
-
Ahora debemos quemarlo en una micro SD ، برای نام: 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 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> => 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 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í
لیست بحث
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 un una herramienta sencilla o cualquier otra de su elección است
-
Ver sistema operativo
- Debes conseguir una pantalla ، un cable HDMI ، mouse و 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 Continuar trabajando como una computadora normal o pueden accesar remotamente ، así que lo haremos de esta ultima forma ، for 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 and escribimos "ifconfig" este comando nos va devolver la dirección IP de nuestro raspberry pi (guardelan porque la necesitaremos en el futur) 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 raspberry que que default بصورت پیش فرض "تمشک" است. Esto nos abrirá la terminal inmediatamente.
مرحله 3: Conectando Sensores Y Actuadores Al Raspberry Pi
Cómo sabemos Raspberry Pi is un una tarjeta de desarrollo que posee pines GPIO que podemos configurar como entradas y salidas para nuestros sensores y actuadores. Nuestros sensores son:
- Para el sensor de distancia usaremos un sensor ultrasónico. این سنسور را می توان برای اولتراسونید ، و بیشتر در نظر گرفت … عملکرد ما را از طریق honda (Trigger pin) که از طریق دستورالعمل های دیگر ، با حسگر بازخوانی در vuelta (Echo pin) و تخمین زده می شود ، ارزیابی می کنیم. Pueden ver la imagen adjunta que tomé de Zona Maker donde tienen un excelente tutorial para entend a fondo como funciona este sensor
- Para la visión مصنوعی el sistema usará una cámara.
- Como motor usaremos un Stepper Motor.¿Qué un un Stepper Motor؟
- Para mover el 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 شهردار).* توجه:* El diagrama adjunto se muestra otro driver (El rojo، es un راننده آسان) به یک استفاده از سیستم ، به طور کلی ، به عنوان یک راننده و رانندگان در یک مرحله (جهت یك گام) اشاره كنید. 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 ، که به عنوان برنامه های کاربردی برای برنامه های کاربردی استفاده می کند.
Antes de comenzar a preparar todo es necesario tener nuestro equipo actualizado، para ello ejecutaremos los siguientes comandos en nuestra terminal:
sudo apt-get update
sudo apt-get dist-upgrade update-nodejs-and-nodered
Estos comandos nos actualizaran nuestro equipo. Elútimo comando، nos pererite tener nuestro entorno Node-RED به منظور نصب و راه اندازی دستگاه های وابسته به نیاز شما در این مرحله لازم است ، به عنوان یک راه حل مهم ، به طور واقعی مورد نیاز است.
- Node-RED viene precargado en raspbian پیش فرض به عنوان پیش فرض ، به عنوان راه حل انحصاری این برنامه ، می توانید از طریق ترمینال و ترمینال و توصیف "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 نشان دهید" به این ترتیب می توانید از خدمات خود استفاده کنید ، 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 => management palette => Install. Esto nos va allowir 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 => بلندگوهای پارا
- node-red-node-watson => پار واتسون
- node-red-contrib-ibm-watson-iot => پار واتسون
- node-red-bluemix-nodes => سرویس ابری IBM
- node-red-contrib-python-function => Interprete de Pytho
مرحله 5: Programando El Sistema Cognitivo
Node-RED اجازه می دهد تا برنامه ای را برای رسانه های کپی و برنامه های مربوط به اتصال اضافی وارد کند.
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.
پیکربندی bloques:
- Para el primer bloque، que dice "Distancia"، le daremos doble click y nos aseguraremos que los parametros sean los mismos de la fotografía adjunta.
- برای "گرفتن گره پایتون عکس" ، دوبار روی گزینه verigamos los parametros al adjunto کلیک کنید. *Important asegurarse de que "نام فایل" le hemos puesto "image.jpg"*
- برای ارسال ایمیل ، دوبار کلیک کنید بر روی کلمات کلیدی: به آدرس: 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 correo.
- El imoltimo paso es configurar los servicios de Watson que haremos a berdewamación en el siguiente paso.
مرحله 6: Conectando a Watson
Watson is un servicio de IBM muy sencillo de utilisar que funciona de medio de API.
- برای اولین بار می توانید از 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.
- 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 را کلیک کنید "blooms" Watson Visual Recognition "، و در صورت تمایل به اعتبار آنها در تنظیم پارامترهای موجود در عکس مراجعه کنید.
- Esto mismo debe hacerse para el to 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) و رمزهای اعتبار "نام کاربری" و "رمز عبور" را باز می کند. Vamos de vuelta al IDE de Node-RED y doble click al bloque "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/تصاویر. 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 ،. در صورت عدم وجود یک عکس یا عکس بدون هیچ ابعادی (0 کیلوبایت) ، ممکن است که به عنوان یک وسیله ارتباطی یا بدون هیچ اقدامی مورد استفاده قرار گیرد. 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”.
مرحله 7: Inteligencia Artificial
برنامه های کاربردی بدون نیاز به استفاده از اطلاعات اولیه ، نیاز به اطلاعات و اطلاعات مصنوعی دارند که می توانند از طریق برنامه های مختلف در زمینه پیش بینی و پیش بینی خدمات اولیه ایجاد شوند. Este tipo de algoritmos pueden hacerse de varias maneras، una de ellas es usando redes neuronales profundas que en la actualidad Requirere 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 use 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 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 for nosotros incluyendo que el algoritmo esté entrenado para reconocer objetos universales، supuesto dispone de una herramienta o "campo de entrenamiento" para entrenar nuestro comema a objetos. ، en este caso، los gatos y perro los reconoce 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 equivaldría a una neurona en nuestro cerebro. Está compuesta de 3 partes principales:
- آنترداس
- Función de suma (Σ)
- کارکرد فعال سازی
Entradas:
Estas son las përfaqësadas 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 (Σ):
در این صورت شما می توانید از راههای ورود به سیستم چند برابر استفاده کنید و در صورت تمایل به انجام عملیات ، در نتیجه فعالیت خود به نتیجه برسید.
کارکرد فعال سازی:
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 red. Como observvan 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 existir un número indefinido de neuronas.
Capa oculta:
Recibe la salida de cada neurona que existe en la primer capa، realiza el mismo processo 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 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 algoritmos como el que acabamos de ver، pero con una şaredar profundidad y plotjidad por supuesto، ante esto usar el Visual Recognition API، o API de reconocimiento visual، (Que ahora sabemos que se trata de redes neuronales 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 objetía en objetía p pa به به عنوان مثال ، می توانید از فرایند عکس استفاده کنید ، Watson hac su su análisis y nos devuelve una lista con prob احتياج می کند که از طریق واتسون عکس های خود را بفهمید ، پس از آن می توانید از 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:)
لازم است بدانید که چگونه می توانید اطلاعاتی مصنوعی بدون نیاز به تکمیل ، به ویژه خدمات موجود در خدمات Watson que hacen el trabajo pesado por nosotros!:)
مرحله 8: سخت افزار Construyendo Un
Este paso lo hemos realizado en la Inventoría LEAD (Ver laboratorio) el cual es un un maker space en Costa Rica desarrollado por Fundación کاستاریکا برای la Innovación.
En el laboratorio contamos con impresoras 3D y cortadora lreser entre otro montón de herramientas y tecnologías a dispicón de nosotros ، la comunidad ، para prototipar و desarrollar nuestras ideas y proyectos de la mano con expertos en el área.
مرحله 9: Imprimiendo El Mecanismo De Dispensado
Como comentábamos en en Inventoría راهنمای استفاده از دستگاه های طراحی سه بعدی ، و همچنین استفاده از آنها برای استفاده واقعی از برنامه های پیشین شما می باشد. Adjunto encontrarán los archivos listos para imprimir، les recomiendo seguir Este learnable 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 porism más nos las haga، por ello con este instruction aprenderán a useisar estas maquinas y poner a imprimir las piezas for 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 Disiseo gráfico que no permite generators vectors. ، gunga 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 material: 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 përbëré 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 utilisar el material que desined، 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
Una vez que tenemos todas piezas completeas، la elektrónica y software listo، podemos comenzar a ensamblar.
En las fotos adjuntas verán el processo!:)
-
Pasos para armado:
- Armar las dos cajas y pegarlas con cinta (esto porque pueden desarmarse)، como comentabamos usamos acrílico، para peger este material es necesario usar pegamento de acrílico o، para pacer más interesantes e intelectuales ante otra de persona clodoos، podemueir agradecen el tip؛) جاجا
-
Aplicar el cloruro de metileno: -Este pegamento es un ácido que es muy peligroso، se recommendie aplicarlo con una jeringa y guantes.
-El proceso debe realizarse con calma y cuidado، ya que una gota en un lugar equocado puede dañar la estética de nuestro acrílico. توصیه شخصی ، siempre que hagan un proyecto realicenlo con mucho oficio y detalle. Cuidar los cables is algo important، un proyecto limpio y agradable a la vista tiene un ndiko شهردار un uno con cables desordenados، que se vea desordenado، plotjo o sucio.
*En las de la caja 1، la dispensadora (Con los motores) -An 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 utilisar 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.. 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 yue suce que lo ajusten por completeo، le sugiero algunos retos:
- 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 reconocer más animales
- Conectar con IBM IoT for controlar el sistema desde cualquier parte del mundo
- Agregar un dispensador de agua
- Hacerle cualquier cambio que sea oportuno para ti:)
*Este learnable fue realizado por Bernal Rojas con Cesar Rodriguez Bravo como co-autor*
توصیه شده:
Como Tener Múltiples Cuentas En Instagram: 3 مرحله
Como Tener Múltiples Cuentas در اینستاگرام: این برنامه به شما امکان می دهد تا از من استفاده کنید & ltiples cuentas en instagram para evitar salir de nuestra cuenta y tener que entrar en la otra
Alimentador Automático Bluetooth Para Mascotas Con Arduino: 8 مرحله
Alimentador Automático Bluetooth Para Mascotas Con Arduino: Hola! Mi nombre es Tadeo del canal de Youtube El Taller De TD، el 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 مرحله
Dispensador De Alimentos Para Animales (DAA): FundamentaciónEn ci ciadad 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
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 مرحله
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: Este tutorial apresenta uma solução SmartHome simples que do permite a reposição automática de alimento para animais de estimação (pet) e controle automático de iluminação evito، incosando، incosedo، incosedo vizinhos para ace
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