Taula de continguts:
- Pas 1: materials
- Pas 2: Chasis
- Pas 3: Connexions
- Pas 4: Receptor Infra Rojo
- Pas 5: Com Usar Servomotores?
- Pas 6: Codi
Vídeo: Robot Controlado Con Cualquier Control De Tv: 6 Steps
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
La idea d’aquest instructable és ensenar a controlar un robot amb el control de qualsevol 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 aquest projecte s’explica com programar un robot per a què es pugui controlar de manera automàtica i manual; ademas, se explica la teoria necesaria de las tecnologías que se utilizaron. Aquest projecte és ideal per a principiants o intermedis que se sent relativament comodos entendiendo codigo. A lo largo de este instructable se va a enseñar como controlar servo-motores de rotacion continua, activar leds RGB, utilitzar sensores infrarojos per descodificar-se; ales infrarojas i programar en Arduino. Tot el codigo necessari va a estar clarament comentat i el convido a fer qualsevol canvi que vingui convenient. Sin mas que decir, aqui les dejo un video de mostra.
Pas 1: materials
A més d’una computadora amb el programari d’Arduino descarregat, vamos a necessitar la biblioteca IRremote (Si no hi ha segurs de com descarregar una biblioteca per a Arduino vean aquest tutorial) i aquests materials:
- 1x Arduino UNO
- 2 x Servos de rotació continua, petits preferiblement / / / / 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 a
- 1 x Contenedor de bateries 3xAA / / / / a 1.5 $ en
- 1 x Adaptador tipus jack a bateria de 9v / / / / a 2.95 en
- 1 x bateria de 9v i 3x bateries AA
- Interruptor ON / OFF (opcional) / / / / 0.95 en
- Cable. És més senzill amb jumpers, encara que hauria de cortar un dels fronteres.
Material Chasis
Això pot quedar a la creativitat d’usos i el tipus de robot que volen fer. De qualsevol forma, el chasis que use per aquest projecte va ser dissenyat per a un altre projecte pel Dr. Tomas de Camino Beck i no tinc cap relació amb el disseny. Aquí els compartim un enllaç al instructable en el qual apareixen els arxius del xassís que usa aquest projecte i aquí estan els fitxers en format stl. Si voleu utilitzar el mateix chasis que a més necessitaran amarres de plàstic com les que es fan servir per tancar les maletes.
Pas 2: Chasis
Si voleu utilitzar el mateix xassís que jo, aquests son els passos. Utilitza les fotos per guiarse.
1. Una vegada amb les peces dissenyades per rl Dr. Tomàs de Camí en mà, podem pegar el velcro en la part de dalt.
2. Abajo de donde pegaron el vecro, amarren la caixa de bateries i la bateria de 9v al xassís utilitzant les amarres de plàstic.
3. Ahora sigue amarrrar losservos. Asseguretat que estigui orientats cap al mateix costat i estigui el més paral·lel possible un altre. A més, verificar que els serveis estiguin ajustant la caixa de bateries.
4. Amb els servicis ja amarrats, es va inscriure el cable dels serveis al voltant del mateix servo.
5. Peguen un pedazo de velcro debajo del arduino y, utilitzant el velcro, peguen el arduino al chasis.
Pas 3: Connexions
1. El led RGB va connectat als pins 9, 10 i 11. El pin comú va connectat al pin de 5v del arduino. (Veure foto # 1)
2. El receptor d’infrarrojos va connectat a un terra de l’arduino, el pin de 5v i qualsevol pin digital. En aquest codi s’utilitza el número 6. (Veure foto 2)
3. Los dos cables de tierra de los servomotores van conectados al cable de tierra de la caja de baterías. A més, aquest cable de terra té que estigui connectat a algun pin ground del arduino. De la mateixa manera, els cables de corrent dels servomotors van connectats al cable de corrent de la caixa de bateries. Aquesta corrent no és necessària connectar-la al arduino.
4. En aquest projecte els cables de senyal dels motors van connectats als pins 3 i 4 del Arduino.
5. Opcionalment poden agregar un commutador al cable de la bateria de 9v. Per fer-ho només tenen que tallar el cable de terra d’aquest cable i connectar-lo per mitjà del commutador. (Veure foto 3)
*** Notas ***
La caixa de bateries és exclusivament per als servomotors, ja que es consumeixen moltes bateries.
Que tant duren les bateries va a dependre del tipus de motors 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 muestran en la foto.
Es recomana que soldin les connexions. Aquí un excel·lent tutorial que pot utilitzar si no hi ha segurs de com fer-ho.
Pas 4: Receptor Infra Rojo
Primer que tot Què és Infra Rojo?
Infra-Rojo / debajo del Rojo /
Bàsicament, la llum infrarroja és una llum amb una longitud d’onda major a la que es troba en l’espectre visible i per ende invencible al jo humà. És molt poc comú trobar de forma natural, per lo que utilitza molt en aplicacions electròniques. El TSOP382 té filtres que logran que solament lleugerament passin 980 nanòmetres, per lo qual un ambient amb molta llum no afecti en res. A més, el nostre codi està dissenyat per prendre solament en compte llarg que aquest parpadeando a 38,5 kHz, tal i com els controls de televisió. (Veure Foto # uno)
OK, i com funciona la comunicació?
El TSOP382 és normalment obert, està dissenyat d’aquesta forma per a que cada vegada que rebi alguna senyal que es talli el pols que mana al microprocessador. En nuestro código, una vez que el pulso se corta, se empieza el protocolo de comunicación. Amb 2,4 ms de que aquest estigui rebent un pols (rebent LOW en el Arduino) es comprèn que es vulgui començar una comunicació. Els ceros es representen amb polsos de 0,6 ms, els uns amb polsos 2.4, i entre cada pols hi ha 0,6 ms de descans. (Veure Foto # dos)
Lo que estamos consiguiendo es una cadena de números binaria única para cada botún que presionamos. Finalment, podem utilitzar aquests uns i ceros per saber quin botó de control es presioni i actuar segons correspongui.
El nostre codi funciona amb l’equivalent del número binari en decimal. La taula de la foto número tres mostra el número binari i l’equivalent decimal dels botons del meu control. És important notar que tot i que normalment tots els controls envien el mateix número binari per a cada botó, alguns controls varien. Si aquest és el cas amb el seu control, o simplement volen agregar altres botons, poden corregir el codi d’abajo per obtenir el número decimal que correspon a un botó determinat del seu control. En aquest exemple es imprimeix en el monitor serial el número decimal que correspon al botó que presionem. Recuerden que necessitan la librería IRremote descargada y en la carpeta correcta.
#incloure
Sensor IRrecv (6);
decode_results resultats;
configuració nul·la () {
Serial.begin (9600);
sensor.enableIRIn (); // habilitamos "sensor" per rebre
}
bucle buit () {
if (irrecv.decode (& results)) {// la funció.decode nos devuelve 1 si es decodifica correctament o 0 si no.
Serial.println (resultats); // NOS DA EL NUMERO QUE NECESITAMOS
irrecv.resume (); // Preparem el sensor per rebre el següent valor
}
}
Pas 5: Com Usar Servomotores?
Els servomotors són sumament fàcils de manipular ràpidament i controlen amb exactitud pel que son ideals per a aquest tipus de projectes. 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 continuen o 360 grados. Aunque, usan la mateixa llibreria d'Arduino i es programa de la mateixa manera, responen al codi.
Primer exemple:
1) #include
Aquesta llibreria ja ve instal·lada quan descarregem l’IDE d’Arduino, per allò que només tenim que inclourà al codi per poder utilitzar-la.
2) Servomotor1;
Creamos un objecte que vamos a usar para controlar el motor.
3) configuració nul·la () {
motor1.attach (9);
}
Amb la funció attach () assignem un pin per utilitzar amb el nostre servomotor. A aquest pin es al que debem connectar el cable de senyal del servomotor.
4) bucle buit () {
motor1.write (180); // un costat velocitat màxima
retard (3000); // que corra per tres segons
motor1.write (0); // otro lado velocidad maxima
retard (3000); // que corra per tres segons
// amb 90 graus detenem el motor
motor1.write (90); // si no se detiene hay que calibrarlo girando el tornillo ubicado a un costado del servomotor
retard (3000); // esperamos sin mover el motor tres segundos
}
Aquí podem observar les diferències entre un servomotor de 180 graus i un de 360. En un servomotor de 180 graus a utilitzar la funció escriure movem el motor al grau que pongem en el paràmetre, però en un de 360 graus al poner 90 en el paràmetre detenmos el sensor i entre més no deixem del 90 més ràpid que movem cap a una i una altra direcció. Per exemple, si quisiéramos mover el motor d’aquest codi lentament cap a un costat podríem escriure motor1.write (105) i si quisiéramos moverlo el més ràpidament possible a la direcció opuesta habría que escribir motor1.write (0).
Pas 6: Codi
Ja tenim quasi tot a punt, només ens falta preparar el "cervell" del nostre robot. La millor forma d’entendre el cdigo és viendo cada detall en el codigo. Per això, aquí els adjunt el codi que va escriure. Cada part està sumament comentat per intentar explicar tot de la millor manera i el codi en si està escrit buscant claredat principalment. Cual duda o sugerencia, no duden en deixar un comentari.
Recomanat:
Romeo: Una Placa De Control Arduino Para Robótica Con Driver Incluidos - Robot Seguidor De Luz: 26 Steps (with Pictures)
Romeo: Una Placa De Control Arduino Para Robótica Con Driver Incluidos - Robot Seguidor De Luz: Que tal amics, sigui amb les revisions de plaques i sensors, amb l’aportació de l’empresa DFRobot, avui veiem una placa amb prestacions molt interessants, i és ideal per al desenvolupament de prototips robòtics i el control de motors i serveis, d
Braço Robô Controlado Por Giroscópio Via Celular: 3 Steps
Braço Robô Controlado Por Giroscópio Via Celular: Este projeto ira te auxiliar na criação de um braço robótico controlado pelo giroscópio de um celular, irei separa em x parts: Lista de materialsEsquema eletrônicoMovendo o BraçoCapturando as informações do giroscópioIntegrando celular e ardu
Braço Robô Controlado Por Giroscópio: 4 Steps
Braço Robô Controlado Por Giroscópio: DescripcióEste projecto ira te auxiliar na criação de um braço robótico controlado pelo giroscópio de um celular, irei separa em x parts: Lista de materials Esquema eletrônico Movendo o Braço Capturando as informações do giroscópio Integrando celular
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: Aquest programa permet a l’usuari introduir qualsevol tipus de funci ó n, graficarla i determinar un àrea específica debat de la mateixa
Control de control de control de càmera [Arduino Nano]: 4 passos
Control de control de control de càmera [Arduino Nano]: necessiteu un control de control de càmera per obtenir fotografies d'acció realment interessants en què construïu alguna cosa, un producte o fins i tot el que heu creat? Servocity ofereix un bon kit de control de control, però no té cap - Assemblea de controls fets per a això. En aquest post es descriurà com