Cov txheej txheem:
- Kauj Ruam 1: Cov ntaub ntawv
- Kauj ruam 2: Chasis
- Kauj ruam 3: Conexiones
- Kauj Ruam 4: Tau Txais Infra Rojo
- Kauj Ruam 5: ¿Como Usar Servomotores?
- Kauj ruam 6: Qhib
Video: Neeg Hlau Controlado Con Cualquier Control De Tv: 6 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:25
La idea de este instructable 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 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 y phau ntawv; ademas, se explica la teoria necesaria de las tecnologias que se utilizaron. Este proyecto es zoo tagnrho rau cov thawj coj lossis 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, activar leds RGB, siv lub ntsej muag zoo infrarojos para decodificar se; ales infrarojas y programar en Arduino. Todo el codigo necesario va estar claramente comentado y los invito a hacer cualquier cambio que vean conveniente. Sin mas que decir, aqui les dejo un video de muestra.
Kauj Ruam 1: Cov ntaub ntawv
Además de una computadora con el software de 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) y estos materiales:
- 1 x Arduino UNO
- 2 x Servos de rotación continua, pequeños preferiblemente /\ /\ aunque en este proyecto se utilizaron los SM-S4303R, yo recomendaría los MG90D.
- 1 x Receptor de infrarrojo tipo diodo (TSOP382)/\/\ 1.95 $ en
- 1 x LED RGB/\/\ 1.95 en
- 1 x Contenedor de baterías 3xAA/\/\ 1.5 $ en
- 1 x Adaptador tipo jack a batería de 9v/\/\ a 2.95 en
- 1 x Batería de 9v y 3x baterías AA
- ON/OFF hloov (xaiv)///0.95 en
- 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 neeg hlau que quieran hacer. De cualquier forma, el chasis que siv 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 kev qhia paub en el cual aparecen los archivos del chasis que usa este proyecto y aquí están los archivos en formato stl. Si quieren siv el mismo chasis que yo además necesitarán amarras de plástico como las que se usan para cerrar las maletas.
Kauj ruam 2: Chasis
Si quieren usar el mismo chasis que yo, estos son los pasos. Siv cov fotos rau 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, kev txheeb xyuas 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.
Kauj ruam 3: Conexiones
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. (Daim duab # 1)
2. El receptor de infrarrojos va conectado un un av 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 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 algún pin av del arduino. De la misma manera, los cables 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 cables de señal de los motores van conectados a los pines 3 y 4 del Arduino.
5. Opcionalmente pueden pom zoo un hloov al 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. (Daim duab 3)
*** Nco ***
La caja de baterias es tsis yog tshwj xeeb rau los ntawm servomotores, ya que noj mucha bateria.
Que tanto duren las baterias va a dependnder del tipo de motores que usen.
Alternativamente podrian cortar la cabezera de los cables del servo motor, sin embargo, en mi caso decidi conservarla y conectarle unos cables tal y como se muestra en las fotoa.
Es recomendable que solden las conexiones. Aquí un excelente tutorial que pueden utilizar si no estan seguros de como hacerlo.
Kauj Ruam 4: Tau Txais 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 tus tswv nroog a la que se encuentra en el espectro pom 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 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 TV. (Ver Foto # ib)
¿OK, koj puas kam koom nrog hauv kev sib tham?
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 microprocesador. 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 sawv cev ntawm 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. Thaum kawg, podemos siv estos unos y ceros para saber cual botón del control se presiono y actuar según corresponda.
Nuestro código funciona con el equivalente del numero binario en decimal. La table de la foto numero tres muestra el numero binario y el sib npaug decimal de los botones de mi tswj. Es tseem ceeb 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 tswj, o simplemente quieren pom zoo otros botones, pueden correr el código de abajo para obtener el numero decimal que sib tham txiav txim siab botón de su tswj. En este ejemplo se imprime en el monitor serial el numero decimal que corresponde al botón que presionamos. Recuerden que necesitan la librería IRremote descargada y en la carpeta correcta.
#suav nrog
IRrecv sensor (6);
decode_res ผลลัพธ์ resultados;
void teeb tsa () {
Serial.begin (9600);
sensor.enableIRIn (); // habilitamos "sensor" rau recibir
}
void voj () {
yog (irrecv.decode (& cov txiaj ntsig)) {// la función.decode nos devuelve 1 si se decodificó correctamente o 0 si no.
Serial.println (cov txiaj ntsig); // NOS DA EL NUMERO QUE NECESITAMOS
irrecv.resume (); // Preparamos el sensor rau recibir el siguiente valor
}
}
Kauj Ruam 5: ¿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. Lo primero que hay que saber es que existen dos categorías principales que difieren ampliamente entre los servomotores, los de 180 grados y los de rotación continua o 360 grados. Aunque, siv la misma libraría de Arduino y se programan de la misma manera, teb distinto al código.
Thawj qhov ua piv txwv:
1) #suav nrog
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) Servo motor1;
Creamos un objeto que vamos a usar para controlar el motor.
3) tsis muaj teeb meem teeb tsa () {
lub cev muaj zog1.attach (9);
}
Con la función txuas () asignamos un pin para usar con nuestro servomotor. Tus este pin es al que debemos conectar el cable de señal del servomotor.
4) tsis muaj dab tsi voj () {
motor1.write (180); // ib lub tsev kawm ntawv qib siab tshaj plaws
ncua (3000); // que corra por tres segundos
motor1.write (0); // otro lado velocidad maxima
ncua (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
ncua (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 sau 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 más 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 dirección opuesta habría que escribir motor1.write (0).
Kauj ruam 6: Qhib
Ya tenemos casi todo listo, solo nos falta preparar el "cerebro" de nuestro neeg hlau. La mejor forma de entender el cdigo es viendo cada detalle en el codigo. Los ntawm no, 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, tsis muaj leej twg nyob hauv dej los yog comentario.
Pom zoo:
DIY Neeg Hlau - Kev Kawm 6 Axis Neeg Hlau Caj Npab: 6 Kauj Ruam (nrog Duab)
DIY Neeg Hlau | Kev Kawm 6 Axis Neeg Hlau Caj Npab: DIY-Robotics kev kawm ntawm tes yog lub platform uas suav nrog 6-axis neeg hlau sab caj npab, hluav taws xob tswj hluav taws xob thiab software software. Lub platform no yog qhia txog lub ntiaj teb kev lag luam neeg hlau. Los ntawm txoj haujlwm no, DIY-Robotics xav tau
RC Tswj Neeg Hlau ntawm XLR8! Kev Kawm Neeg Hlau: 5 Kauj Ruam
RC Tswj Neeg Hlau ntawm XLR8! Kev Kawm Neeg Hlau: Nyob zoo, hauv kab lus no, yuav qhia koj yuav tsim lub hauv paus neeg hlau li cas. Lo lus "Neeg Hlau" txhais tau tias yog "Qhev" los yog "Laborer". Ua tsaug rau kev nce qib hauv Kev Txawj Ntse, neeg hlau tsis yog ib feem ntawm Issac Asimov's Sci-Fi
Neeg Hlau Neeg Hlau Gripper: 9 Kauj Ruam
Cov Neeg Siv Khoom Siv Hluav Taws Xob: Cov teb ntawm cov neeg hlau mos (cov neeg hlau ua los ntawm cov ntaub ntawv mos xws li silicons thiab rubbers) tau loj hlob sai heev nyob rau xyoo tas los no. Cov neeg hlau muag muag tuaj yeem muaj txiaj ntsig zoo hauv kev sib piv rau lawv cov neeg sib zog vim tias lawv yoog raws
Ntsuas Neeg Hlau / 3 Log Neeg Hlau / STEM Neeg Hlau: 8 Kauj Ruam
Ntsuas Cov Neeg Hlau / 3 Log Neeg Hlau / STEM Neeg Hlau: Peb tau tsim ua ke sib npaug thiab 3 lub log neeg hlau rau kev kawm siv hauv tsev kawm ntawv thiab tom qab kawm ntawv cov haujlwm. Tus neeg hlau yog ua raws Arduino Uno, tus tiv thaiv kev tiv thaiv (txhua qhov kev tsim kho cov ntsiab lus muab), Li -Ion roj teeb pob (txhua qhov tsim tawm
Ib txoj hauv kev yooj yim dua los Siv Cov Hlau Hlau Hlau Hlau rau SMD LEDs: 5 Kauj Ruam
Ib txoj hauv kev yooj yim dua los Siv Cov Hlau Hlau Hlau Hlau rau SMD LEDs: Cov lus qhia no piav qhia txoj hauv kev yooj yim dua ntawm kev txuas cov hlau nplaum hlau zoo rau saum npoo LEDs. Nws yog nyob rau hauv cov lus teb rau lub Rag ntawm Fireflies qhia uas qhia pom siv "pab txhais tes" clip los ua txoj haujlwm no. Kuv xav tias kuv txoj kev yooj yim dua