Sadržaj:

Robot Controlado Con Cualquier Control De Tv: 6 koraka
Robot Controlado Con Cualquier Control De Tv: 6 koraka

Video: Robot Controlado Con Cualquier Control De Tv: 6 koraka

Video: Robot Controlado Con Cualquier Control De Tv: 6 koraka
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Juli
Anonim
Image
Image
Robot Controlado Con Cualquier Control De Tv
Robot Controlado Con Cualquier Control De Tv

Ideja o tome kako se može uputiti je upravljački upravljački robot i el. Kontrola kualquier televizora. Muchas veces creemos que necesitamos materiales complicados para hacer un robot, sin embargo, la realidad es que con materiales sumamente populares, como el control de un televizor, podemos crear grandes cosas. En este proyecto se objašnjava kao como programar un robot para que se pueda controler de manera automatica y manual; ademas, se objašnjava la teoria necesaria de las tecnologias que se uselizaron. Este proyecto es ideal para principiantes o intermedios que se sientan relativamente comodos entendiendo codigo. Lolargo de este instructable se va enseñar como control servo-motores de rotacion continua, aktivira LED diode RGB, koristi senzor infrarojos para dekodifikatora; ales infrarojas y programmar u Arduinu. Todo el codigo necesario va a estar claramente comentado y los invito a hacer cualquier cambio que vean comfortente. Sin mas que decir, aqui les dejo un video de muestra.

Korak 1: Materijali

Materiales
Materiales

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

  1. 1x Arduino UNO
  2. 2 x Servos de rotación continua, pequeños preferiblemente /\ /\ aunque i este proyecto se koristi za korištenje SM-S4303R, preporučljivo za MG90D.
  3. 1 x Infrarrojo tipo diodo receptor (TSOP382)/\/\ a 1.95 $ sr
  4. 1 x LED RGB/\/\ a 1.95 sr
  5. 1 x Contensor de baterías 3xAA/\/\ a 1.5 $ sr
  6. 1 x Adaptador tipo utičnica za bateriju de 9v/\/\ a 2.95 sr
  7. 1 x 9V baterije i 3x AA baterije
  8. ON/OFF prekidač (opcionalno)/\/\ a 0.95 sr
  9. Cable. Es más sencillo con jumpers, aunque habría que cortar uno de los bordes.

Materiales Chasis

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 usporedba s linkom za poučavanje na el. Jeziku 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.

Korak 2: Chasis

Chasis
Chasis
Chasis
Chasis
Chasis
Chasis

Si quieren usar el mismo chasis que yo, estos son los pasos. Koristite fotografije za 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 je moguće une de otro. Además, verifique que los servos estén ajustando la caja de baterías.

4. Con los servos ya amarrados, enrollen with cable delservo alrededor del mismo servo.

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

Korak 3: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

1. RGB LED diode povezane su sa 9, 10 i 11 godina. (Ver foto # 1)

2. Infracrveni prijemnik za infracrveni priključak koji nije spojen na arduino, pin za 5V i digitalni digitalni pin. En este código se use el pin número 6. (Ver 2)

3. Los kablovi sa tierra de los servomotora sa spojenim kablovima sa 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 es 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 all 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)

*** Napomena ***

La caja de batteryas is exclusivamente para los servomotores, ye que consumen mucha bateria.

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

Alternativno, podrian cortar la cabezera de los kabeli servo motora, sin embargo, en mi caso decidi conservarla y conectarle unnos kablovi tal y como se muestra en las fotoaparat.

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

Korak 4: Prijemnik Infra Rojo

Prijemnik Infra Rojo
Prijemnik Infra Rojo
Prijemnik Infra Rojo
Prijemnik Infra Rojo
Prijemnik Infra Rojo
Prijemnik 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 gradonačelnik a la que se encuentra en el espectro vidljiv y end end nepobjediv al ojo humano. Es muy poco común encontrarla de forma natural, por lo que se usecho mucho en aplicaciones electrónicas. El TSOP382 tiene filtros que logran que solo luz de 980 nanometros 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 38,5 kHz, tal y y como los control de TV. (Ver Foto # uno)

¿U redu, y como funciona la comunicación?

El TSOP382 je normalni 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, empieza el protocolo de comunicación. Sa 2,4 ms čekanja da se pošalje povratna poruka (recikliranje LOW u el Arduinu) se cijelo vrijeme čeka da se empezar emituje na komunikaciji. Los ceros se prikazuje con pulsos od 0,6 ms, los unos con pulsos 2,4, y entre cada pulso sijeno 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. Konačno, podemos usar estos unos y ceros para sablja cual botón del control se predsjednički i aktuelno según korespondencije.

Nuestro código funcionale sa ekvivalentom broja u binarnom obliku u decimalnom obliku. La table de la foto numero tres muestra el numero binario y ekvivalentna decimalna vrijednost de los botones de mi control. Važno je da znate kako normalno funkcioniše kontrola, ali morate mismo numerički binario za cada botón, algunos kontroliše različite varijante. Ako imate kontrolu nad kontrolom, jednostavnim kijerenom agregatom i otrovnim botonima, ispravite kodigo de abajo za pronalaženje numeričke decimalne komande koja odgovara određenom botu za kontrolu. En este emploi se imprime en monitor monitor serijski el numero decimalna vrijednost odgovara al botón que presionamos. Recuerden que necesitan la librería IRremote descargada y en la carpeta correcta.

#include

IRrecv senzor (6);

decode_results resultados;

void setup () {

Serial.begin (9600);

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

}

void loop () {{100} {101}

if (unrecv.decode (& results)) {// la función.decode nos devuelve 1 se dešifrira ispravno o 0 si ne.

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

unrecv.resume (); // Pripremi senzor za prijem signala hrabrosti

}

}

Korak 5: ¿Como Usar Servomotores?

¿Como Usar Servomotores?
¿Como Usar Servomotores?

Los servomotores son sumamente fácil de manipular rápidamente y controller con Exactitud por lo que son ideales para este tipo de proyectos. Lo primero que hay que sabre es que existen dos Categorías principales que difieren ampliamente entre los servomotores, los de 180 gradova y los de rotación continua o 360 gradova. Aunque, usan la misma libraría de Arduino i programer je de la misma manera, respoenten different al código.

Primero un ejemplo:

1) #include

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

2) Servo motor1;

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

3) void setup () {

motor1.priključak (9);

}

Con la función attach () označava da ste isključili pin za korištenje sa nuestro servomotorom. Ovaj pin je uvijek spojen na kabel sa senalom servomotora.

4) void loop () {{100} {101}

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

kašnjenje (3000); // que corra por tres segundos

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

kašnjenje (3000); // que corra por tres segundos

// sa 90 gradova koji otkrivaju motor

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

kašnjenje (3000); // esperamos sin mover el motor tres segundos

}

Aquí podemos observar las diferencias entre un servomotor de 180 grados y uno de 360. En servomotor de 180 grados al usar la función write movemos el motor a el grado que pongamos en el parámetro, pero en uno de 360 grados al poner 90 en el senzor parametra za senzor i ulaz u predvorje s 90 metara udaljenosti prema pokretu koji se nalazi u drugom smjeru. Ako ste zaposleni, molimo vas da pokrenete motor s motorom za uvažavanje statusa, a da ne pokrenete podriamos escribir motor1.write (105) ako ne želite da pokrenete ovu stranicu, ali da označite motor1.write (0).

Korak 6: Código

Código
Código

Ya tenemos casi todo listo, solo nos falta pripremio je "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.

Preporučuje se: