Inhaltsverzeichnis:

Robot Controlado Con Cualquier Control De TV - Gunook
Robot Controlado Con Cualquier Control De TV - Gunook

Video: Robot Controlado Con Cualquier Control De TV - Gunook

Video: Robot Controlado Con Cualquier Control De TV - Gunook
Video: Robot Controlado por Cualquier Control de TV 2024, Juli
Anonim
Image
Image
Robot Controlado Con Cualquier Control De Tv
Robot Controlado Con Cualquier Control De Tv

La Idea de este instructable es ensenar ein controlar un robot con el control de cualquier televisor. Muchas veces creemos que necesitamos materiales complicados para hacer a robot, Sündenembargo, realidads que con materiales sumamente populares, como el control de un televisor, Podemos crear grandes cosas. En este proyecto se explica como programar un robot para que se pueda controlar de manera automatica y Manual; ademas, se explica la teoria necesaria de las tecnologias que se utilizaron. Este proyecto es ideal para principiantes o intermedios que se sientan relativamente comodos entendiendo codigo. Ein großer Teil der instructable se va a enseñar como controlar Servo-Motoren de Rotacion Continua, aktive 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 praktische. Sin mas que decir, aqui les dejo un video de muestra.

Schritt 1: Materialien

Materialien
Materialien

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

  1. 1x Arduino UNO
  2. 2 x Servos de Rotación Continua, bevorzugt /\/\ aunque en este proyecto se utilizaron von SM-S4303R, yo recomendaría los MG90D.
  3. 1 x Receptor de infrarrojo tipo diodo (TSOP382) /\/\ a 1.95$ de
  4. 1 x LED RGB /\/\ a 1,95 de
  5. 1 x Contenedor de baterías 3xAA /\/\ a 1.5$ de
  6. 1 x Adaptador tipo jack a batería de 9v /\/\ a 2,95 en
  7. 1 x Batería de 9v y 3x Baterías AA
  8. EIN/AUS-Schalter (optional) /\/\ a 0.95 de
  9. Kabel. Es más sencillo con jumpers, aunque habría que cortar uno de los bordes.

Materiales Chassis

Esto puede quedar a la creatividad de ustedes und 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 format 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.

Schritt 2: Gehäuse

Fahrgestell
Fahrgestell
Fahrgestell
Fahrgestell
Fahrgestell
Fahrgestell

Si quieren usar el mismo chasis que yo, estos son los pasos. Verwenden Sie die Fotos für Guiarse.

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 ajusto la caja de baterías.

4. Con los servos ya amarrados, enrollen el kabel delservo alrededor del mismo servo.

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

Schritt 3: Konexionen

Konexionen
Konexionen
Konexionen
Konexionen
Konexionen
Konexionen

1. El led RGB va conectado a los pines 9, 10 y 11. El pin común va conectado al pin de 5v del arduino. (Ver-Foto # 1)

2. Der Infrarot-Empfänger ist mit einem Arduino-Boden verbunden, der 5V- und der Digitalstift-Pin. En este código se utiliza el pin número 6. (Ver foto 2)

3. Lose kabel 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 Loss Cables de los Motors of 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. (Verfoto 3)

***Nicht so wie***

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

Que tanto duren las baterias va a Depender del tipo de motores que used.

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

Es ist empfehlenswert que solden las conexiones. Aquí un excelente tutorial que pueden utilizar si no estan seguros de como hacerlo.

Schritt 4: Rezeptor Infra Rojo

Rezeptor Infra Rojo
Rezeptor Infra Rojo
Rezeptor Infra Rojo
Rezeptor Infra Rojo
Rezeptor Infra Rojo
Rezeptor Infra Rojo

Primero que todo Qué es Infra Rojo?

Infra-Rojo /debajo del Rojo/

Básicamente, la luz infrarroja es una luz con una longitud de onda mayor a la que se encuentra en el espectro sichtbar und por ende unbesiegbar al ojo humano. Es muy poco común encontrarla de forma natural, por lo que se utiliza mucho en aplicaciones electronicas. El TSOP382 filtros que logran que solo luz de 980 nanómetros pase, por lo cual un ambiente con mucha luz no nos afectara en nada. Además, nuestro código esta diseñado para solo tomar en cuenta luz que este parpadeando a 38,5 kHz, tal y como los controles de Television. (Ver Foto # uno)

¿OK, como funciona la comunicación?

El TSOP382 ist normalmente abierto, está diseñado de esta forma que cada vez que reciba alguna señal secorte el pulso que mandamos al microprocessor. En nuestro código, una vez que el pulso se corta, se empieza el protocolo de comunicación. Con 2.4 ms de que el este recibiendo un pulso (recibiendo LOW en el Arduino) se que se quiere empezar una comunicación. Los ceros se repräsentan con pulsos de 0.6 ms, los unos con pulsos 2.4, y 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. Finalmente, podemos usar estos unos y ceros para sabre cual botón del control se presiono y ctuar según korresponda.

Nuestro código funciona con el äquivalente del numero binario en decimal. La table de la foto numero tres muestra el numero binario y el äquivalente dezimal de los botones de mi control. Es ist wichtig, dass es keine normalen Kontrollen gibt, die algunos varian algunos kontrollieren. 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 dezimal que korrespondiert a determinado botón de su control. En este ejemplo se imprime en el monitor serial el numero dezimal que Corresponde al botón que presionamos. Recuerden que necesitan la librería IRremote descargada y en la carpeta correcta.

#enthalten

IRrecv-Sensor(6);

decode_results resultados;

Leere Einrichtung () {

Serial.begin (9600);

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

}

Leere Schleife () {

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

Serial.println (Ergebnisse); //NOS DA EL NUMERO QUE NECESITAMOS

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

}

}

Schritt 5: ¿Como Usar Servomotoren?

¿Como Usar Servomotoren?
¿Como Usar Servomotoren?

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 primeo que hay que saber es que existen dos catagorí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 libraria de Arduino und se programan de la misma manera, antwortet auf jeden Fall.

Primero un ejemplo:

1) #einschließen

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

2) Servomotor1;

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

3) Void-Setup () {

motor1.attach(9);

}

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

4) Leere Schleife () {

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

Verzögerung (3000); //que corra port tres segundos

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

Verzögerung (3000); //que corra port 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

Verzögerung (3000); // esperamos sin Mover el motor tres segundos

}

Aquí podemos observar las diferencias entre un servomotor de 180 grados y uno de 360. En uno servomotor de 180 grados al usar la función schreiben movemos el motor a el grado que pongamos en el parámetro, pero en uno de 360 grados al el poner 90 de parametro detenmos el sensor und entre más nos alejemos del 90 más rápido nos movemos hacia uno u otra dirección. Von ejemplo, si quisiéramos mover el motor de este código lentamente hacia un lado podriamos escribir motor1.write(105) und si quisiéramos moverlo lo más rápido möglich a la dirección opuesta habría que escribir motor1.

Schritt 6: Código

Código
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 intentar explicar todo de la mejor manera y el código en si está escrito buscando claridad principalmente. Cual duda o sugerencia, no duden en dejar un comentario.

Empfohlen: