Taula de continguts:

Robot Controlado Con Cualquier Control De Tv: 6 Steps
Robot Controlado Con Cualquier Control De Tv: 6 Steps

Vídeo: Robot Controlado Con Cualquier Control De Tv: 6 Steps

Vídeo: Robot Controlado Con Cualquier Control De Tv: 6 Steps
Vídeo: Controla tu TV con tu celular #shorts 2024, Desembre
Anonim
Image
Image
Robot Controlado Con Cualquier Control De Tv
Robot Controlado Con Cualquier Control De Tv

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

Materials
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:

  1. 1x Arduino UNO
  2. 2 x Servos de rotació continua, petits preferiblement / / / / aunque en este proyecto se utilizaron los SM-S4303R, yo recomendaría los MG90D.
  3. 1 x Receptor de infrarrojo tipo diodo (TSOP382) / / / / a 1.95 $ en
  4. 1 x LED RGB / / / / a 1,95 a
  5. 1 x Contenedor de bateries 3xAA / / / / a 1.5 $ en
  6. 1 x Adaptador tipus jack a bateria de 9v / / / / a 2.95 en
  7. 1 x bateria de 9v i 3x bateries AA
  8. Interruptor ON / OFF (opcional) / / / / 0.95 en
  9. 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

Chasis
Chasis
Chasis
Chasis
Chasis
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

Connexions
Connexions
Connexions
Connexions
Connexions
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

Receptor Infra Rojo
Receptor Infra Rojo
Receptor Infra Rojo
Receptor Infra Rojo
Receptor Infra Rojo
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?

Com Usar Servomotores?
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

Codi
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: