תוכן עניינים:

Robot Controlado Con Cualquier Control De Tv: 6 שלבים
Robot Controlado Con Cualquier Control De Tv: 6 שלבים

וִידֵאוֹ: Robot Controlado Con Cualquier Control De Tv: 6 שלבים

וִידֵאוֹ: Robot Controlado Con Cualquier Control De Tv: 6 שלבים
וִידֵאוֹ: AUTO A CONTROL REMOTO CON SENSOR 2024, יולי
Anonim
Image
Image
Robot Controlado Con Cualquier Control De Tv
Robot Controlado Con Cualquier Control De Tv

הרעיון להעריך את זה יכול לשלוט בבקרה וברובוט עם טלוויזיית בקרה. Muchas veces creemos que necesitamos materiales complicados for a hacer un robot, sin embargo, la realidad es que con materiales sumamente populares, como el control de un televisor, podemos crear grandes cosas. En este proyecto se explica como programme and un robot for a se pueda controlar de manera automatica y manual; ademas, se explica la teoria necesaria de las tecnologias que se utilizaron. Este proyecto es ideal fora principiantes o intermedios que se sientan relativamente comodos entendiendo codigo. A lo largo de este instructable se va a enseñar como controler servo-motores de rotacion continua, activs leds RGB, utilizar sensore infrarojos para decodificar se; ales infrarojas y programar en Arduino. Todo el codigo necesario va a estar claramente comentado y los invito a hacer cualquier cambio que vean נוח. Sin mas que decir, aqui les dejo un video de muestra.

שלב 1: חומרים

חומרים
חומרים

Además de una computadora con el software de Arduino descargado, vamos and necesitar la librería IRremote (Si no están seguros de como descargar una librería for Arduino vean este tutorial) and estos materiales:

  1. 1x ארדואינו UNO
  2. 2 x Servos de rotación continua, pequeños preferiblemente /\ /\ aunque en este proyecto se utilizaron los SM-S4303R, yo recomendaría los MG90D.
  3. 1 x Receptor de infrarrojo tipo diodo (TSOP382)/\/\ a 1.95 $ en
  4. 1 x LED RGB/\/\ a 1.95 en
  5. 1 x Contenedor de baterías 3xAA/\/\ a $ 1.5 en
  6. 1 x שקע מתאם למכשיר 9v/\/\ a 2.95 en
  7. 1 x Batería de 9v ו- 3x baterías AA
  8. מתג הפעלה/כיבוי (אופציונלי)/\/\ a 0.95 en
  9. כֶּבֶל. Es más sencillo con jumpers, aunque habría que cortar uno de los bordes.

חומרי חומס

Esto puede quedar a la creatividad de ustedes y el tipo de robot que quieran hacer. De cualquier forma, el chasis que use para este proyecto fue diseñado para otro proyecto por el Dr. Tomas de Camino Beck y yo no tuve ninguna relación con el diseño. Aquí les comparto un link al instructable en el cual aparecen los archivos del chasis que usa este proyecto y aquí están los archivos en formato stl. Si quieren usar el mismo chasis que yo además necesitarán amarras de plástico como las que se usan para cerrar las maletas.

שלב 2: צ'אזיס

צ'אסיס
צ'אסיס
צ'אסיס
צ'אסיס
צ'אסיס
צ'אסיס

Si quieren usar el mismo chasis que yo, estos son los pasos. משתמש בלז תמונות על פי גיאארס.

1. Una vez con las piezas diseñadas por rl Dr. Tomas de Camino en mano, podemos pegar el velcro en la parte de arriba.

2. Abajo de donde pegaron el vecro, amarren la caja de baterías y la batería de 9v al chasis utilizando las amarras de plástico.

3. Ahora sigue amarrrar losservos. Asegurence que estén orientados hacia el mismo lado y estén lo más paralelo posible uno de otro. Además, verifiquen que los servos estén ajustando la caja de baterías.

4. Con los servos ya amarrados, הרשמה אל הכבל delservo alrededor del mismo servo.

5. Peguen un pedazo de velcro debajo del arduino y, utilizando el velcro, peguen el arduino al chasis.

שלב 3: קונקסיונים

קונקסיונים
קונקסיונים
קונקסיונים
קונקסיונים
קונקסיונים
קונקסיונים

1. RGB הוביל את הקונצפטו לוס פינס 9, 10 y 11. El pin común va conectado al pin de 5v del arduino. (Ver foto # 1)

2. הקולטן של אינפרארוג'וס יכול לחבר את הארדואינו לקרקע, פין דיגיטלי של פין 5 ו פין. En este código se utiliza el pin número 6. (Ver foto 2)

3. Los dos cable de tierra de los servomotores van conectados al cable de tierra de la caja de baterías. Además, este cable de tierra tiene que ir conectado a algún pin ground del arduino. De la misma manera, los cable de corriente de los servomotores van conectados al cable de corriente de la caja de baterías. Esta corriente no es necesaria conectarla al arduino.

4. En este proyecto los cable de señal de los motores van conectados a los pines 3 y 4 del Arduino.

5. Opcionalmente pueden agregar un switch al cable de la batería de 9v. Para hacerlo solo tienen que cortar el cable de tierra de este cable y conectarlo por medio del switch. (Ver foto 3)

*** Notas ***

La caja de baterias es exclusivamente para los servomotores, ya que consumen mucha bateria.

Que tanto duren las baterias va a depender del tipo de motores que usen.

Alternativamente podrian cortar la cabezera de los cable del servo motor, sin embargo, en mi caso decidi conservarla y conectarle unos kabels tal y como se muestra en las fotoa.

ניתן להמליץ על כך שאסור להזמין. שיעורי הדרכה מצוינים יכולים להועיל ולהשתמש בהם.

שלב 4: רסיפטור אינפרה רוג'ו

קולטנית אינפרה רוג'ו
קולטנית אינפרה רוג'ו
קולטנית אינפרא רוג'ו
קולטנית אינפרא רוג'ו
קולטנית אינפרה רוג'ו
קולטנית אינפרה רוג'ו

Primero que todo Qué es Infra Rojo?

אינפרא-רוג'ו /דבג'ו דל רוג'ו /

Básicamente, la luz infrarroja es una luz con una longitud de onda ראש העיר a la que se encuentra en el espectro נראה y por ende invincible al ojo humano. Es muy poco común encontrarla de forma natural, por lo que se utiliza mucho en aplicaciones electrónicas. אל TSOP382 מסנני השהייה מתקדמים עם יחידות של 980 יחידות, ואחר כך איננו יכולים להתמודד עם זה. Además, nuestro código esta diseñado for solo solo and cuenta luz que este parpadeando a 38.5 kHz, tal y como los controles de television. (Ver Foto # uno)

¿בסדר, האם אתה מתכוון להופעה?

El TSOP382 es normalmente abierto, está diseñado de esta forma para que cada vez que reciba alguna señal se corte el pulso que mandamos al microprocesador. En nuestro código, una vez que el pulso se corta, se empieza el protocolo de comunicación. עם 2.4 ms que que el este recibiendo un pulso (recibiendo LOW en el Arduino) se entiende que se quiere empezar una comunicación. Los ceros se representan con pulsos de 0.6 ms, los unos con pulsos 2.4, and entre cada pulso hay 0.6 ms de descanso. (Ver Foto # dos)

Lo que estamos consiguiendo es una cadena de números binaria única para cada botún que presionamos. לסיום, ניתן להשתמש בפעולות הבסיס ליצירה ולשימוש בפעולות הבקרה.

Nuestro código funciona con el equivalente del numero binario decimals. La table de la foto numero tres muestra el numero binario y el equivalente decimal de los botones de mi control. זה חשוב שהמשתמשים יוכלו לבצע שליטה מלאה בשליטה ובחירה באפשרויות שונות. Si este es el caso con su control, o simplemente quieren agregar otros botones, pueden correr el código de abajo para obtener el numero decimal que correspondonde a determinado botón de su control. En este ejemplo se imprime en el monitor serial al numero decimal que correspondonde al botón que presionamos. Recuerden que necesitan la librería IR Remote descargada y en la carpeta correcta.

#לִכלוֹל

חיישן IRrecv (6);

decode_results resultados;

הגדרת בטל () {

Serial.begin (9600);

sensor.enableIRIn (); // habilitamos "sensor" para recibir

}

לולאת חלל () {

if (irrecv.decode (& תוצאות)) {// la función.decode nos devuelve 1 si se decodificó correctamente o 0 si no.

Serial.println (תוצאות); // NOS DA EL NUMERO QUE NECESITAMOS

irrecv.resume (); // Preparamos el sensor para recibir el siguiente valor

}

}

שלב 5: האם אתה משתמש ב- Servomotores?

¿מהו סרומרוטורס?
¿מהו סרומרוטורס?

Los servomotores son sumamente fácil de manipular rápidamente y controlar con exactitud por lo que son ideales para este tipo de proyectos. Lo primero que hay que saber es que existen dos categorías principales que difieren ampliamente entre los servomotores, los de 180 grados y los de rotación continua o 360 grados. Aunque, usan la misma libraría de Arduino y se programan de la misma manera, responden distinto al código.

פריטום ללא דוגמא:

1) #כלול

Esta librería ya viene instalada cuando descargamos el IDE de Arduino, por lo cual solo tenemos que incluirla al código para poder usarla.

2) מנוע סרוו 1;

Creamos un objeto que vamos a usar for a controlar el motor.

3) הגדרת בטל () {

motor1.attach (9);

}

Con la función attach () asignamos un pin para usar con nuestro servomotor. A este pin es al que debemos conectar el cable de señal del servomotor.

4) לולאת חלל () {

motor1.write (180); // un lado velocidad maxima

עיכוב (3000); // que corra por tres segundos

motor1.write (0); // otro lado velocidad maxima

עיכוב (3000); // que corra por tres segundos

// con 90 grados detenemos el motor

motor1.write (90); // si no se detiene hay que calibrarlo girando el tornillo ubicado a un costado del servomotor

עיכוב (3000); // esperamos sin mover el motor tres segundos

}

ניתן לצפות במערכות שונות של 180 מעלות ו 360 מעלות. parámetro detenmos el sensor y entre más nos alejemos del 90 más rápido nos movemos hacia uno u otra dirección. לדוגמה, אם אתה יכול להעביר את המנוע שלך לאפשר לי את זה, אפשר לכתוב motor1.write (105) וגם אם אתה יכול להעביר את זה לאפשר לך להשתמש במנוע 1.write (0).

שלב 6: Código

קודיגו
קודיגו

Ya tenemos casi todo listo, solo nos falta preparar el "cerebro" de nuestro robot. La mejor forma de entender el cdigo es viendo cada detalle en el codigo. Por eso, aquí les adjunto el código que escribí. Cada parte está sumamente comentada para intentionar explicar todo de la mejor manera y el código en si está escrito buscando claridad principmente. Cual duda o sugerencia, no duden en dejar un comentario.

מוּמלָץ: