Índice:
- Etapa 1: materiais
- Etapa 2: Chasis
- Etapa 3: Conexiones
- Etapa 4: Receptor Infra Rojo
- Etapa 5: ¿Como usar Servomotores?
- Etapa 6: Código
Vídeo: Robot Controlado Con Cualquier Control De Tv: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
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
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:
- 1x Arduino UNO
- 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.
- 1 x Receptor de infravermelho tipo diodo (TSOP382) / / / / a 1,95 $ en
- 1 x LED RGB / / / / a 1.95 en
- 1 x Contenedor de baterías 3xAA / / / / a 1.5 $ en
- 1 x Adaptador tipo jack a batería de 9v / / / / a 2.95 en
- 1 x bateria de 9v e 3x baterias AA
- Chave ON / OFF (opcional) / / / / a 0.95 en
- 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
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
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
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?
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
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:
Como Crear Un Programa De Python Que Grafique Cualquier Función Y Saque Un Área Específica Debajo De Ella: 6 Steps
Como Crear Un Program De Python Que Grafique Cualquier Función Y Saque Un Area Especifica Debajo De Ella: Este programa permite al usuario introducir cualquier funci ó n, graficarla y determinar un area especifica debajo de la misma
Robot Raptor controlado por voz: 5 etapas
Robot Raptor controlado por voz: Este instrutível mostra como usar o reconhecimento de voz IFTTT do assistente do Google disponível em telefones celulares e tablets para passar dados de controle para um canal AdafruitIO. Este controle é então buscado por WiFi por um módulo ESP12F baseado em Arduino e em um simples
Rolling Robot with ESP32 Thing e TB6612FNG Driver, Controlado pelo Android sobre BLE: 11 etapas
Rolling Robot With ESP32 Thing e driver TB6612FNG, controlado pelo Android sobre BLE: Olá a todos, este é o meu primeiro instrutível. Um robô rolante (apelidado de Raidho - da runa que está associada ao movimento) baseado em ESP32 Thing, TB6612 FNG e BLE. Uma parte que pode parecer peculiar é que as fotos não são do processo de confecção
Criando um robô Arduino com auto-balanceamento controlado remotamente: B-robot EVO: 8 etapas
Criando um robô Arduino com autoequilíbrio controlado remotamente: B-robot EVO: ------------------------------------ -------------- ATUALIZAÇÃO: há uma versão nova e melhorada deste robô aqui: O B-robot EVO, com novos recursos! ------------ -------------------------------------- Como funciona? B-ROBOT EVO é um remotamente ao controle
Robot Con Sistema De Control: 7 etapas (com imagens)
Robot Con System De Control: En este Instructable aprendemos dos cosas: Construir um robô sencilloIncroporarle um sistema de controle para que se mueva entre paredesPara o sistema de controle, utilizando uma versão e oacute; n simplificado de controle PID e se utiliza algo de impressão e oa