Daftar Isi:

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

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

Video: Robot Controlado Con Cualquier Control De Tv: 6 Langkah
Video: Controla tu TV con tu celular #shorts 2024, November
Anonim
Image
Image
Robot Controlado Con Cualquier Control De Tv
Robot Controlado Con Cualquier Control De Tv

La idea de este instrucable es ensenar a controlar un robot con el control de cualquier televisor. Banyak hal yang harus dilakukan dengan bahan yang rumit untuk 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 programar un robot para que se pueda kontrol otomatis 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. Lebih banyak yang dapat diinstruksikan se va a enseñar como controlar servo-motores de rotacion continua, activar leds RGB, gunakan sensor infrarojos untuk decodificar se;ales infrarojas y program di Arduino. Lakukan el codigo necesario va a estar claramente comentado y los invito a hacer cualquier cambio que vean comfortablee. Sin mas que decir, aqui les dejo un video de muestra.

Langkah 1: Materi

bahan
bahan

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

  1. 1x Arduino 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 Reseptor infrarrojo tipo diodo (TSOP382) /\/\ a 1,95$ en
  4. 1 x LED RGB /\/\ a 1,95 di
  5. 1 x Penawar baterai 3xAA /\/\ $ 1,5 di
  6. 1 x Adaptador tipo jack a batería de 9v /\/\ a 2.95 di
  7. 1 x Baterai 9v dan 3x baterai AA
  8. Sakelar ON/OFF (opsional) /\/\ a 0,95 di
  9. Kabel. Es más sencillo con jumper, aunque habría que cortar uno de los bordes.

Bahan Chasis

Esto puede quedar a la creatividad de ustedes y el tipo de robot que quieran hacer. Format yang lebih akurat, el chasis que use para este proyecto fue diseñado para otro proyecto por el Dr. Tomas de Camino Beck y yo tidak tuve ninguna relación con el diseño. Aquí les comparto un link al instrucable 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.

Langkah 2: Sasis

sasis
sasis
sasis
sasis
sasis
sasis

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

4. Con los servos ya amarrados, daftarkan 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.

Langkah 3: Conexiones

conexione
conexione
conexione
conexione
conexione
conexione

1. El led RGB untuk koneksi los pines 9, 10 y 11. El pin común va conectado pin de 5v del arduino. (Ver foto #1)

2. El receptor de infrarrojos va conectado 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. Kabel-kabel Los dos 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 kabel de corriente de los servomotores van conectados al kabel de corriente de la caja de baterías. Esta corriente no es necesaria conectarla al arduino.

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

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

***Nota***

La caja de baterias es exclusivamente para los servomotores, ya que mengkonsumsi banyak bateria.

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

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

Sangat direkomendasikan que solder las conexiones. Aquí un excelente tutorial que pueden utilizar si no estan seguros de como hacerlo.

Langkah 4: Reseptor Infra Rojo

Reseptor Infra Rojo
Reseptor Infra Rojo
Reseptor Infra Rojo
Reseptor Infra Rojo
Reseptor Infra Rojo
Reseptor Infra Rojo

Primero que todo Que es Infra Rojo?

Infra-Rojo /debajo del Rojo/

Dasar, la luz infrarroja es una luz con una longitud de onda walikota a la que se encuentra en el espectro terlihat y por ende tak terkalahkan al ojo 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 nanometro pase, por lo cual un ambiente con mucha luz no nos afectara en nada. Además, nuestro código esta diseñado untuk solo tomar en cuenta luz que este parpadeando a 38.5 kHz, tal y como los controles de televisi. (Ver Foto # uno)

OK, Anda dapat menjalankan fungsi komunikasi?

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 mikroprosesor. 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 representan 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. Akhir, podemos usar estos unos y ceros para saber cual botón del control se presiono y actuar según korespondensi.

Nuestro código funciona con el equivalene del numero binario en desimal. La table de la foto numero tres muestra el numero biner y el ekivalen desimal de los botones de mi control. Penting notar que aunque normalmente todos los controles envían el mismo numero binario para cada botón, algunos controles varian. 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 desimal que sesuai dengan determinado botón de su kontrol. En este ejemplo se imprime en el monitor serial el numero desimal que korespondensi al botón que presionamos. Recuerden que necesitan la libreria IRremote descargada y en la carpeta correcta.

#termasuk

Sensor IRrecv(6);

hasil decode_results;

batalkan pengaturan() {

Serial.begin(9600);

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

}

lingkaran kosong() {

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

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

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

}

}

Langkah 5: Como Usar Servomotores?

Como Usar Servomotores?
Como Usar 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. Pelajari lebih lanjut tentang apa yang harus dilakukan untuk mengetahui apa yang harus dilakukan kategori prinsip-prinsip yang berbeda dan amplitudo yang masuk ke servomotores, kehilangan 180 derajat dan kehilangan putaran terus-menerus hingga 360 derajat. Aunque, usan la misma libraría de Arduino y se programan de la misma manera, responden distinto al código.

Primero tanpa contoh:

1) #termasuk

Perbarui daftar Anda untuk menginstalnya dan dapatkan deskripsi dari IDE Arduino, untuk melakukannya sendiri dengan menyertakan semua opsi untuk digunakan.

2) Motor servo1;

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

3) batalkan pengaturan() {

motor1.attach (9);

}

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

4) lingkaran kosong() {

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

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

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

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

//con 90 grados detenemos el motor

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

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

}

Aquí podemos observar las diferencias entre un servomotor de 180 grado y uno de 360. En un servomotor de 180 grado al usar la función tulis movemos el motor a el grado que pongamos en el parámetro, pero en uno de 360 grado al poner 90 en el 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. Oleh 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 diarahkan opuesta habría que escribir motor1.write(0).

Langkah 6: Codigo

Codigo
Codigo

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.

Direkomendasikan: