สารบัญ:

Robot Controlado Con Cualquier Control De Tv: 6 ขั้นตอน
Robot Controlado Con Cualquier Control De Tv: 6 ขั้นตอน

วีดีโอ: Robot Controlado Con Cualquier Control De Tv: 6 ขั้นตอน

วีดีโอ: Robot Controlado Con Cualquier Control De Tv: 6 ขั้นตอน
วีดีโอ: Мигель Николелис: Обезьяна управляет роботом силой мысли. На самом деле. 2024, กรกฎาคม
Anonim
Image
Image
Robot Controlado Con Cualquier Control De Tv
Robot Controlado Con Cualquier Control De Tv

La idea de este สอนได้ es ensenar a controlar un robot con el control de cualquier 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 En este proyecto se explica como programar un robot para que se pueda controlar de manera automatica คู่มือ; ademas, คำอธิบายที่ชัดเจน la teoria necesaria de las tecnologias que se utilizaron Este proyecto เป็นอุดมคติสำหรับหลักการหรือ intermedios que se sientan relativamente comodos entendiendo codigo. ข้อมูลทั่วไปที่สอนได้สำหรับการควบคุมเซอร์โวมอเตอร์แบบต่อเนื่อง, activar leds RGB, ใช้เซ็นเซอร์อินฟราโรโฮสำหรับถอดรหัส se; ใช้งานโปรแกรมและ Arduino สิ่งที่ต้องทำ el codigo necesario va a estar claramente comentado y los invito a hacer cualquier cambio que vean conveniente. บาป mas que decir, aqui les dejo un video de muestra.

ขั้นตอนที่ 1: วัสดุ

วัสดุ
วัสดุ

ซอฟต์แวร์ที่ใช้งานร่วมกันได้กับซอฟต์แวร์ของ 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) และ estos materiales:

  1. 1x Arduino UNO
  2. 2 x เซอร์โวเดอโรตาซิออนคอนติเนนตา, ความต้องการพิเศษ /\/\ aunque en este proyecto se utilizaron los SM-S4303R, yo recomendaría los MG90D.
  3. 1 x ตัวรับ infrarrojo tipo diodo (TSOP382) /\/\ a 1.95$ en
  4. 1 x LED RGB /\/\ a 1.95 en
  5. 1 x แบตเตอรี 3xAA /\/\ a 1.5$ en
  6. 1 x Adaptador tipo jack a batería de 9v /\/\ a 2.95 en
  7. 1 x แบตเตอรี่ 9v และ 3x แบตเตอรี่AA
  8. สวิตช์เปิด/ปิด (opcional) /\/\ a 0.95 en
  9. เคเบิ้ล. Es más sencillo con จัมเปอร์, aunque habría que cortar uno de los bordes

วัสดุ Chasis

Esto puede quedar a la creatividad de ustedes y el tipo de robot que quieran hacer. การโฆษณา รูปแบบที่เหมาะสม, 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 Instrucable 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: Chasis

Chasis
Chasis
Chasis
Chasis
Chasis
Chasis

Si quieren usar el mismo chasis que yo, เอสโตส ซัน ลอส ปาซอส ใช้รูปภาพสำหรับ 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 สูญเสียเซอร์โวส Asegurence que estén orientados hacia el mismo lado y estén lo más paralelo posible uno de otro. Además ตรวจสอบแล้ว que los servos estén ajustando la caja de baterías

4. Con los servos ya amarrados, ลงทะเบียนสายเคเบิล delservo alrededor del mismo servo

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

ขั้นตอนที่ 3: Conexiones

Conexiones
Conexiones
Conexiones
Conexiones
Conexiones
Conexiones

1. El led RGB va conectado และ los pines 9, 10 y 11. El pin común va conectado al pin de 5v del arduino (รูปภาพเวอร์ชั่น # 1)

2. El receptor de infrarrojos va conectado a un ground del arduino, el pin de 5v y cualquier pin ดิจิตอล En este código se utiliza el pin número 6. (รูปภาพรูปภาพ 2)

3. Los dos cables 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 พิน กราวด์ เดล อาร์ดิโน De la misma manera, los cables de corriente de los servomotores van conectados al cable de corriente de la caja เด baterías. Esta corriente ไม่มี es necesaria conectarla al arduino

4. En este proyecto los cables de señal de los motores van conectados a los pines 3 และ 4 del Arduino

5. Opcionalmente pueden agregar un switch al สายเคเบิล de la batería de 9v. Para hacerlo solo tienen que cortar el cable de tierra de este สายเคเบิลและ conectarlo por medio del switch (ภาพที่ 3)

***โนทัส***

La caja de baterias es exclusivamente para los servomotores, ya que บริโภค mucha bateria

Que tanto duren las baterias va a Depender del tipo de motores que ใช้

ทางเลือกอื่นของสายเคเบิลสำหรับสายเคเบิลของเซอร์โวมอเตอร์, การคว่ำบาตรในบาป, สายเคเบิลที่เชื่อมต่อผ่านสายเคเบิลและสายเคเบิลอื่นๆ

Es recomendable que ขาย las conexiones Aquí un excelente กวดวิชา que pueden utilizar si no estan seguros de como hacerlo.

ขั้นตอนที่ 4: ตัวรับ Infra Rojo

ผู้รับ Infra Rojo
ผู้รับ Infra Rojo
ผู้รับ Infra Rojo
ผู้รับ Infra Rojo
ผู้รับ Infra Rojo
ผู้รับ Infra Rojo

Primero que todo Qué es Infra Rojo?

อินฟรา-โรโฮ /debajo del Rojo/

Básicamente, la luz infrarroja es una luz con una longitud de ondaนายกเทศมนตรี a la que se encuentra en el espectro visible y por ende invincible 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 นาโนเมตร 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, ควบคุมและควบคุมโทรทัศน์ (รูปภาพเวอร์ชั่น # uno)

ตกลง y como funciona la comunicación?

El TSOP382 เป็นสภาวะปกติของ 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, se empieza el protocolo de การสื่อสาร การควบคุม 2.4 ms de que el este recibiendo un pulso (recibiendo LOW en el Arduino) en entiente que se quiere empezar una comunicación. Los ceros se เป็นตัวแทนของ con pulsos ที่มี 0.6 ms, los unos con pulsos 2.4, และ entre cada pulso hay 0.6 ms de descanso (รูปภาพเวอร์ชัน # 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สอดคล้อง.

Nuestro código funciona กับสิ่งเทียบเท่า del numero binario en decimal ตารางรูปภาพ ตัวเลข tres muestra el numero binario y el เทียบเท่า decimal de los botones de mi control สิ่งที่สำคัญคือ 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 decimal que ติดต่อ a determinado botón de su control. en este ejemplo se imprime en el monitor อนุกรม el numero decimal que สอดคล้องกัน al botón que presionamos Recuerden que necesitan la librería IRremote descargada y en la carpeta Correcta. รายการที่ต้องทำ

#รวม

เซ็นเซอร์ IRrecv(6);

decode_results resultados;

การตั้งค่าเป็นโมฆะ () {

Serial.begin(9600);

เซ็นเซอร์เปิดใช้งาน IRIn(); // habilitamos "เซ็นเซอร์" สำหรับ recibir

}

วงเป็นโมฆะ () {

if (irrecv.decode (&results)) { // la función.decode nos devuelve 1 si se decodificó แก้ไข o 0 si no.

Serial.println(ผลลัพธ์); //NOS DA EL NUMERO QUE NECESITAMOS

irrecv.resume(); // Preparamos el sensor สำหรับ recibir el siguiente valor

}

}

ขั้นตอนที่ 5: ¿Como Usar Servomotores?

¿Como Usar เซอร์โวมอเตอร์?
¿Como Usar เซอร์โวมอเตอร์?

Los servomotores son sumamente fácil de manipular rápidamente y controlar con exitud por lo que son ideales para este tipo de proyectos. Lo primero que hay que saber es que มีอยู่ dos categorías principales que difieren entre los servomotores, los de 180 grados y los de rotación continua o 360 grados. Aunque, usan la misma libraría de Arduino y se programan de la misma manera, ตอบกลับโดยทั่วถึง al código

Primero เป็นตัวอย่าง:

1) #รวม

ไลบรารี่และการติดตั้ง descargamos el IDE de Arduino, por lo cual solo tenemos que incluirla al código para poder usarla.

2) เซอร์โวมอเตอร์1;

Creamos un objeto que vamos a usar สำหรับ controlar el motor.

3) การตั้งค่าเป็นโมฆะ () {

motor1.attach(9);

}

Con la función attach() กำหนดตำแหน่ง un pin สำหรับ usar con nuestro servomotor A este pin es al que debemos conectar el cable de señal del เซอร์โวมอเตอร์

4) วงเป็นโมฆะ () {

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

ล่าช้า (3000); //que corra por tres segundos

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

ล่าช้า (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 ยกเลิก costado del servomotor

ล่าช้า (3000); // esperamos sin ผู้เสนอญัตติ 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 parametro, pero en uno de 360 grados al poner พารามิเตอร์ การตรวจสอบ el เซ็นเซอร์ และ ทางเข้า มากกว่า 90 ช่วงเวลา ตัวอย่าง, si quisiéramos ผู้เสนอญัตติ 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 dirección opuestaque habría.write motor(0)

ขั้นตอนที่ 6: Código

คอร์ดิโก
คอร์ดิโก

Ya tenemos casi todo listo, solo nos falta preparar el "cerebro" de nuestro หุ่นยนต์ 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 Inttar explicar todo de la mejor manera y el código en si está escrito บัสแคนโด claridad principalmente Cual duda o sugerencia ไม่มี duden en dejar un comentario

แนะนำ: