Sommario:
- Passaggio 1: materiale
- Passaggio 2: telaio
- Passaggio 3: Connessioni
- Passaggio 4: recettore Infra Rojo
- Step 5: ¿Como Usar Servomotori?
- Passaggio 6: codice
Video: Robot Controlado Con Cualquier Control De Tv: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
La idea de este instructable es ensenar a controlar un robot con el control de cualquier televisor. Moltissimi materiali sono necessari per creare un robot, sin embargo, la realtà è che con materiali molto popolari, come controllare un televisore, creare grandi cose. En este proyecto se explica come programar un robot para que se pueda controlar de manera automatica y manual; ademas, se explica la teoria necesaria de las tecnologias que se utilizaron. Questo progetto è ideale per principiante o intermedio che si trova relativamente comodo come entendiendo codice. A lo largo de este instructable se va a enseñar como controlar servo-motores de rotacion continua, activar leds RGB, utilizar sensor 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 que vean conveniente. Sin mas que decir, aqui les dejo un video de muestra.
Passaggio 1: materiale
Además de una computadora con il software de Arduino descargado, vamos a necesitar la librería IRremote (Si no están seguros de come descargar una librería para Arduino vean este tutorial) e questo materiale:
- 1x 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) /\/\ a 1.95$ en
- 1 x LED RGB /\/\ a 1.95 it
- 1 x Contenitore di batterie 3xAA /\/\ a 1.5$ su
- 1 x Adaptador tipo jack a batería de 9v /\/\ a 2.95 en
- 1 x batteria da 9v e 3 x batterie AA
- Interruttore ON/OFF (opzionale) /\/\ a 0.95 it
- Cavo. Es más sencillo con jumpers, aunque habría que cortar uno de los bordes.
Materiali Telaio
Esto puede quedar a la creatividad de ustedes e il tipo di 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 interactable 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.
Passaggio 2: telaio
Si quieren usar el mismo chasis que yo, estos son los pasos. Utilizza le foto per la guida.
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 loservos. Asegurence 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. Con i servi si amarrados, registrare il cavo del servo alrededor del mismo servo.
5. Peguen un pedazo de velcro debajo del arduino y, utilizzando il velcro, peguen el arduino al chasis.
Passaggio 3: Connessioni
1. Il led RGB va connesso a los pines 9, 10 e 11. Il pin común va connesso al pin de 5v del arduino. (Ver foto n. 1)
2. Il recettore degli infrarossi va collegato a un terreno dell'arduino, il pin di 5v e il pin digitale. En este código se utiliza el pin número 6. (Ver foto 2)
3. I cavi di collegamento dei servomotori di collegamento al cavo di collegamento della catena di batterie. 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 motors van conectados a los pines 3 e 4 del Arduino.
5. Opzionalmente si può aggiungere un switch 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. (Ver foto 3)
***Note***
La caja de baterias è esclusiva per i servomotori, ya que consumen mucha bateria.
Que tanto duren las baterias va a depender del tipo de motores que usen.
Alternativamente podrian cortar la cabezera de los cable del servo motor, sin embargo, en mi caso decidi conservarla y conectarle unos cable tal y como se muestra en las fotoa.
È raccomandato que solden las conexiones. Aquí un excelente tutorial que pueden utilizar si no estan seguros de como hacerlo.
Passaggio 4: recettore Infra Rojo
Primero que todo Qué es Infra Rojo?
Infra-Rojo /debajo del Rojo/
Fondamentalmente, la luz infrarroja es una luz con una longitud de onda mayor 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 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)
OK, y como funciona la comunicación?
El TSOP382 è normalmente abierto, è diseñado de esta forma para que cada vez que reciba alguna señal se corte el pulso que mandamos al microprocessor. 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 ricevendo un pulso (recibiendo LOW en el Arduino) se enentiende 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. Finalmente, podemos usar estos unos y ceros para saber cual botón del control se presiono y actuar según corrispondenti.
Nuestro código funciona con l'equivalente del numero binario en decimal. La table de la foto numero tres muestra el numero binario y el equivalente decimal de los botones de mi control. Es importante 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 corrispondenti a determinado botón de su control. En este ejemplo se imprime en el monitor serial el numero decimal che corrisponde al botón que presionamos. Recuerden que necesitan la librería IRremote descargada y en la carpeta Correcta.
#includere
sensore IRrecv(6);
decode_results risultati;
void setup() {
Serial.begin(9600);
sensor.enableIRIn(); //habilitamos "sensor" para recibir
}
ciclo vuoto() {
if (irrecv.decode(&results)) { // la funzione.decode nos devuelve 1 si se decodificó Correctamente o 0 si no.
Serial.println(risultati); //NOS DA EL NUMERO QUE NECESITAMOS
irrecv.resume(); // Prepara il sensore per il valore aggiunto
}
}
Step 5: ¿Como Usar Servomotori?
I servomotori sono sommamente facili da manipolare rapidamente e controllabili con esattezza per quanto sono ideali per questo tipo di progetti. Il primo è che hay que saber esiste dalle categorie principali che si differenziano per ampliare i servomotori, 180 gradi e la rotazione continua o 360 gradi. Aunque, usan la misma libraría de Arduino y se programan de la misma manera, responden distinto al código.
Primo un esempio:
1) #include
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) Servomotore1;
Creamos un objeto que vamos a usar para controlar el motor.
3) configurazione nulla() {
motore1.attach(9);
}
Con la funzione attach() assegna un pin per l'uso con il nuovo servomotore. Un este pin es al que debemos conectar el cable de señal del servomotore.
4) ciclo vuoto() {
motore1.scrittura(180); //un lado velocidad maxima
ritardo (3000); //que corra por tres segundos
motore1.write(0); //altro lado velocidad maxima
ritardo (3000); //que corra por tres segundos
//con 90 gradi di regolazione del motore
motore1.scrittura(90); //si no se tenere hay que calibrarlo girando el tornillo ubicado a un costado del servomotor
ritardo (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 más rápido nos movemos hacia uno u otra dirección. Per esempio, si desidera spostare il motore in questo modo in modo che si possa scrivere a motore1.write(105) e si può facilmente scrivere a motore1.write(0).
Passaggio 6: codice
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. Per 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.
Consigliato:
Romeo: Una Placa De Control Arduino Para Robótica Con Driver Incluidos - Robot Seguidor De Luz: 26 Steps (con immagini)
Romeo: Una Placa De Control Arduino Para Robótica Con Driver Incluidos - Robot Seguidor De Luz: Que tal amigos, siguiendo con la revisiones de placas y sensores, con l'aporte de la empresa DFRobot, hoy veremos una placa con prestaciones muy interesante, y es ideal para il desarrollo di prototipi robotici e il controllo di motori e servi, d
Telecomando wireless con modulo NRF24L01 da 2,4 Ghz con Arduino - Nrf24l01 Ricevitore trasmettitore 4 canali / 6 canali per quadricottero - Elicottero Rc - Aereo RC con Arduino: 5 passaggi (con immagini)
Telecomando wireless con modulo NRF24L01 da 2,4 Ghz con Arduino | Nrf24l01 Ricevitore trasmettitore 4 canali / 6 canali per quadricottero | Elicottero Rc | Aereo radiocomandato con Arduino: per far funzionare un'auto radiocomandata | Quadricottero | Drone | Aereo RC | Barca RC, abbiamo sempre bisogno di un ricevitore e trasmettitore, supponiamo che per RC QUADCOPTER abbiamo bisogno di un trasmettitore e ricevitore a 6 canali e quel tipo di TX e RX è troppo costoso, quindi ne faremo uno sul nostro
Como Crear Un Programa De Python Que Grafique Cualquier Función Y Saque Un Área Especifica Debajo De Ella: 6 Steps
Como Crear Un Programa De Python Que Grafique Cualquier Función Y Saque Un Área Especifica Debajo De Ella: Este programa permite al usuario introducir cualquier función, graficarla y determinar un area especifica debajo de la misma
[Robot Arduino] Come realizzare un robot per la cattura del movimento - Pollici Robot - Servomotore - Codice sorgente: 26 passaggi (con immagini)
[Robot Arduino] Come realizzare un robot per la cattura del movimento | Pollici Robot | Servomotore | Codice sorgente: Thumb Robot. Usato un potenziometro del servomotore MG90S. È molto divertente e facile! Il codice è molto semplice. Sono solo circa 30 linee. Sembra una cattura del movimento. Si prega di lasciare qualsiasi domanda o feedback! [Istruzioni] Codice sorgente https://github.c
Costruisci un robot molto piccolo: crea il robot a ruote più piccolo del mondo con una pinza.: 9 passaggi (con immagini)
Costruisci un robot molto piccolo: crea il robot a ruote più piccolo del mondo con una pinza: costruisci un robot da 1/20 di pollice cubo con una pinza che può raccogliere e spostare piccoli oggetti. È controllato da un microcontrollore Picaxe. A questo punto, credo che questo potrebbe essere il robot su ruote più piccolo al mondo con una pinza. Questo senza dubbio ch