Índice:

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

Vídeo: Robot Controlado Con Cualquier Control De Tv: 6 etapas

Vídeo: Robot Controlado Con Cualquier Control De Tv: 6 etapas
Vídeo: Controla tu TV con tu celular #shorts 2024, Novembro
Anonim
Image
Image
Robot Controlado Con Cualquier Control De Tv
Robot Controlado Con Cualquier Control De Tv

A idéia deste instrutível é controlar um robô com o controle de qualquier televisor. 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 televisor, podemos crear grandes cosas. Este projeto se explica como programar um robô para que se possa controlar de manera automatica e manual; ademas, se explica a teoria necessária das tecnologias que se utilizam. Este projeto es ideal para principiantes o 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, ativar leds RGB, utilizando 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 that vean conveniente. Sin mas que decir, here les dejo un video de muestra.

Etapa 1: materiais

Materiales
Materiales

Además de um computador com o software de Arduino descargado, vamos a necesitar la librería IRremote (Si no están safe de como descargar una librería for Arduino vean este tutorial) y estos materiales:

  1. 1x Arduino UNO
  2. 2 x Servos de rotação contínua, pequeños preferiblemente / / / / aunque en este projeto se utilizar o SM-S4303R, yo recomendaría los MG90D.
  3. 1 x Receptor de infravermelho 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 Adaptador tipo jack a batería de 9v / / / / a 2.95 en
  7. 1 x bateria de 9v e 3x baterias AA
  8. Chave ON / OFF (opcional) / / / / a 0.95 en
  9. Cabo. 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 that quieran hacer. De cualquier forma, el chasis that use to este proyecto fue diseñado para otro proyecto pelo 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 projeto 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.

Etapa 2: Chasis

Chasis
Chasis
Chasis
Chasis
Chasis
Chasis

Si quieren usar el mismo chasis que yo, estos son los pasos. Utilize las fotos para guiarse.

1. Uma vez com as peças apresentadas por rl Dr. Tomas de Camino em mãos, podemos pegar o velcro na parte de trás.

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. Assegurence 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. Com os servos e amarrados, registre o cabo delservo alrededor do mismo servo.

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

Etapa 3: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

1. O LED RGB está conectado aos pinos 9, 10 e 11. O pino conectado a 5v do arduino. (Ver foto # 1)

2. O receptor de infravermelho está conectado a um aterramento do arduino, o pino de 5v e o pino digital de qualidade. Este código utiliza o pin número 6. (Ver foto 2)

3. Los dos cabos de terra de los servomotores de conectados ao cabo de terra de la caja de baterias. Además, este cabo de terra que está conectado a um pino algún aterrado do arduino. De la misma manera, los cabos 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. Este projeto los cabos do señal de los motores van conectado a los pines 3 y 4 del Arduino.

5. Opcionalmente pueden agregar um interruptor ao cabo da bateria de 9v. Para hacerlo solo tienen que cortar el cabo de tierra de este cabo e conectarlo por meio do switch. (Ver foto 3)

*** Notas ***

A bateria de baterias é exclusivamente para os servomotores, você que consome bateria.

Que tanto duren las baterias va um dependente do tipo de motores que usen.

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

É recomendável que solden las conexiones. Este é um excelente tutorial que pode ser usado para usar se não há seguros de como Hacerlo.

Etapa 4: Receptor Infra Rojo

Receptor Infra Rojo
Receptor Infra Rojo
Receptor Infra Rojo
Receptor Infra Rojo
Receptor Infra Rojo
Receptor Infra Rojo

Primero que todo Qué es Infra Rojo?

Infra-Rojo / debajo del Rojo /

Basicamente, a luz infrarroja é uma luz com uma longitude de onda maior, como se encuentra no espectro visível e invencível por todo o ser humano. Es muy poco común encontrarla de forma natural, por lo que se utiliza mucho en aplicaciones electrónicas. El TSOP382 tiene filtros que logran que solo luz de 980 nanómetros pase, por lo cual un ambiente com mucha luz sem nos afetar en nada. Además, nuestro code this diseñado for solo to take en cuenta light that this parpadeando at 38.5 kHz, Tal y como los controles de television. (Ver Foto # uno)

¿OK, y como funciona la comunicación?

El TSOP382 é normalmente aberto, está diseñado desta forma para que cada vez que reciba alguna señal se corte el pulso que mandamos al microprocesador. En nuestro código, uma vez que o pulso se corta, se empie o protocolo de comunicação. Com 2,4 ms de que este recibiendo um pulso (recibindo LOW no Arduino) se entiende que se quiere empezar una comunicación. Los ceros representa com pulsos de 0,6 ms, los unos con pulsos 2.4, y entre cada pulso de feno 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 saber cual botón del control se presiono y actuar según corresponda.

Nuestro código funciona com o equivalente do número binário em decimal. A tabela de la foto numero tres muestra el numero binario y o equivalente decimal de los botones de mi control. É importante notar que aunque normalmente todos los controles envían el mismo numero binario para cada botón, algunos controles varian. Se este é o caso com o controle, o simplemente quieren agregar otros botones, pueden correr o código de abajo para obtener o número decimal que corresponde a determinado botón de seu controle. Este ejemplo se imprime no monitor serial o número decimal que corresponde ao botón que presionamos. Recorde que necesitan la librería IRremote descargada y en la carpeta correta.

#incluir

Sensor IRrecv (6);

decode_results resultados;

void setup () {

Serial.begin (9600);

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

}

void loop () {

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

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

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

}

}

Etapa 5: ¿Como usar Servomotores?

¿Como Usar Servomotores?
¿Como Usar Servomotores?

Los servomotores son sumamente fácil de manipular rapidamente y controlar con exatitud por lo son ideales para este tipo de projeto. Lo primero que hay que saber es que existe dos categorías principales que difieren ampliamente entre os servomotores, los de 180 grados e los de rotación continua o 360 grados. Aunque, usa a misma biblioteca de Arduino e se programa da misma manual, responde distinto ao código.

Primero un ejemplo:

1) #include

Esta biblioteca que você viu instalado cuando descargamos o IDE de Arduino, por lo cual solo tenemos que incluirla al código para poder usarla.

2) Servo motor1;

Criamos um objeto que vamos usar para controlar o motor.

3) configuração vazia () {

motor1.attach (9);

}

Com a função attach () asignamos un pin para usar com nosso servomotor. A este pino es al que debemos conectar o cabo de señal del servomotor.

4) loop vazio () {

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

atraso (3000); // que corra por tres segundos

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

atraso (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

atraso (3000); // esperamos sin mover el motor tres segundos

}

Aquí podemos observar as diferenças entre um servomotor de 180 grados e um de 360. Em um servomotor de 180 grados al usar a função, escreva os movimentos do motor no gráfico que pongamos no parâmetro, pero em um de 360 grados no ponto 90 no 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. Por ejemplo, si quisiéramos mover o motor de este código lentamente hacia um lado podriamos escribir motor1.write (105) e si quisiéramos mover o mais rápido possível na direção opuesta habría que escribir motor1.write (0).

Etapa 6: Código

Código
Código

Ya tenemos casi todo listo, solo nos falta preparar el "cerebro" de nuestro robot. A melhor forma de entender o cdigo é a visualização de cada detalhe no código. 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.

Recomendado: