Satura rādītājs:

Robots Controlado Con Cualquier Control TV: 6 soļi
Robots Controlado Con Cualquier Control TV: 6 soļi

Video: Robots Controlado Con Cualquier Control TV: 6 soļi

Video: Robots Controlado Con Cualquier Control TV: 6 soļi
Video: Мигель Николелис: Обезьяна управляет роботом силой мысли. На самом деле. 2024, Jūlijs
Anonim
Image
Image
Robots Controlado Con Cualquier Control De Tv
Robots Controlado Con Cualquier Control De Tv

Šī ideja ir pamācāma, lai kontrolētu robotu un kontrolētu telekonsulāru. Muchas veces creemos que necesitamos materiales compados para 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 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 vai intermedios que se sientan relativamente comodos entendiendo codigo. A lo largo de este instructable se va a enseñar como controlar servo-motores de rotacion Continua, Actar leds RGB, utilizar sensore infrarojos para decodificar se; ales infrarojas y programar en Arduino. Todo el codigo, kas ir nepieciešams, un tas ir skaidrs komentārs un uzaicina hacer cualquier cambio que vean conveniente. Sin mas que decir, aqui les dejo un video de muestra.

1. darbība: materiāli

Materiāli
Materiāli

Arduino descargado datorprogrammas, kā arī nepieciešamās brīvās programmas IRremote (Si no están seguros de como descargar una librería para Arduino vean este tutorial) un šī materiāla informācija:

  1. 1x Arduino UNO
  2. 2 x Servo 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 $ lv
  4. 1 x LED RGB/\/\ a 1.95 lv
  5. 1 x akumulators ar 3xAA/\/\ a 1.5 $ lv
  6. 1 x adaptera tipa ligzda ar 9v bateriju/\/\ a 2.95 lv
  7. 1 x 9V baterija un 3x AA baterijas
  8. IESLĒGŠANAS/IZSLĒGŠANAS slēdzis (izvēles)/\/\ a 0.95 lv
  9. Kabelis. Es vēl sencillo con džemperi, aunque habría que cortar uno de los bordes.

Materiāla iedzīšana

Esto puede quedar a la creatividad de ustedes y el tipa 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. darbība

Šasija
Šasija
Šasija
Šasija
Šasija
Šasija

Si quieren usar el mismo chasis que yo, estos son los pasos. Izmantot las fotos para 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, verificquen que los servos estén ajustando la caja de baterías.

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

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

3. darbība: Koneksiones

Koneksiones
Koneksiones
Koneksiones
Koneksiones
Koneksiones
Koneksiones

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. El receptor de infrarrojos va conectado a un ground del arduino, el pin de 5v y cualquier pin digital. En este código se utiliza el pin número 6. (Ver foto 2)

3. Los dos kabeļi 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. Opcionalized 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 and conectarlo por medio del switch. (3. foto)

*** Notas ***

Akumulatora baterijas ir ekskluzīvas, kas paredzētas servomotoram, un tās patērē akumulatora baterijas.

Tas nozīmē, ka akumulators ir atkarīgs no moto de motores que usen.

Alternatīva iespēja podrian cortar la cabezera de los cable del servo motor, sin embargo, en mi caso decidi conservarla y conectarle unos kabeļi tal y como se muestra en las fotoa.

Es recomendable que solden las conexiones. Ūdens un izcila apmācība que pueden utilizar si no estan seguros de como hacerlo.

4. solis: Recepetor Infra Rojo

Receptors Infra Rojo
Receptors Infra Rojo
Receptors Infra Rojo
Receptors Infra Rojo
Receptors Infra Rojo
Receptors 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 mērs a la que se encuentra en el espectro redzams y por ende neuzvarams al ojo humano. Es muy poco común encontrarla de forma natural, por lo que se utiliza mucho en aplicaciones Electronicas. El TSOP382 tiene 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)

¿Labi, vai tu vari komunicēt?

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 mikroprocesors. 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 entiende que se quiere empezar una comunicación. Los ceros se reprezentē pulsus 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. Visbeidzot, podemos usar estos unos y ceros para saber cual botón del control se presiono y actuar segmentún.

Nuestro código funciona con el equivalente del numero binario en decimal. La table de la foto number tres muestra el numero binario y el equivalente decimal de los botones de mi control. Ja ir svarīgs notārs, tas ir normāli, tas ir, kontrole, envían el mismo, binario para cada botón, algunos controles varian. Si este es el caso con su control, or simplemente quieren agregar otros botones, pueden korer el código de abajo para obtener el number decimal que atbilst a determinado botón de su control. En este ejemplo se imprime en el monitors serial el number decimal que vastab al botón que presionamos. Recuerden que necesitan la librería IRremote descargada y en la carpeta correcta.

#iekļaut

IRrecv sensors (6);

decode_results resultados;

void setup () {

Sērijas sākums (9600);

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

}

void loop () {

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

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

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

}

}

5. solis: ¿Como Usar Servomotores?

¿Como Usar Servomotores?
¿Como Usar Servomotores?

Los servomotores son sumamente fácil de manipular rápidamente y controlar con precizitud por lo que son ideales para este tipo de proyectos. Lo primero que hay que saber es que existen dos kategorijas Aunque, usan la misma Libraría de Arduino y se programme de la misma manera, responden distinto al código.

Primero un ejemplo:

1) #iekļaut

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) Servomotors1;

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

3) spēkā neesoša iestatīšana () {

motors1.pielikums (9);

}

Con la función attach () asignamos un pin para usar con nuestro servomotor. Tas ir viens no galvenajiem debemosiem, kas aprīkots ar servomotoru.

4) void loop () {

motors1.rakstīt (180); // un lado velocidad maxima

kavēšanās (3000); // que corra por tres segundos

motors1.rakstīt (0); // otro lado velocidad maxima

kavēšanās (3000); // que corra por tres segundos

// con 90 grados detenemos el motor

motors1.rakstīt (90); // si no se detiene hay que calibrarlo girando el tornillo ubicado a un costado del servomotor

kavēšanās (3000); // esperamos sin mover el motor tres segundos

}

Aquí podemos observar las diferencias entre un servomotor de 180 grados y uno de 360. En un 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 parámetro detenmos el sensor y entre más nos alejemos del 90 more rápido nos movemos hacia uno u otra Dirección. Por ejemplo, si quisiéramos mover el motor de este código lentamente hacia un lado podriamos escribir motor1.write (105) y si quisiéramos moverlo lo más rápido posible a la directcción opuesta habría que escribir motor1.write (0).

6. darbība: Código

Kódigo
Kódigo

Ya tenemos casi todo listo, solo nos falta prepar 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 aimar explicar todo de la mejor manera y el código en si está escrito buscando claridad principa. Cual duda o sugerencia, no duden en dejar un comentario.

Ieteicams: