Cuprins:

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

Video: Robot Controlado Con Cualquier Control De Tv: 6 Etape

Video: Robot Controlado Con Cualquier Control De Tv: 6 Etape
Video: Controla tu TV con tu celular #shorts 2024, Noiembrie
Anonim
Image
Image
Robot Controlado Con Cualquier Control De Tv
Robot Controlado Con Cualquier Control De Tv

La idea de este instructable es ensenar a controla un robot cu controlul oricărui televizor. Muchas veces creemos que necesitamos materiales complicados para hacer un robot, sin embargo, la realidad es que con materiales sumamente populares, ca și controlul unui televizor, putem crea mari lucruri. În acest proiect se explică cum se programează un robot pentru care se poate controla de mod automat și manual; ademas, se explică teoria necesară a tehnologiilor care se utilizează. Este proiectul este ideal pentru principii sau intermediari care se simt relativ relativ comodoși înțelegând codigo. A lo largo de este instructable se va a enseñar como control servo-motores de rotacion continuo, activar leds RGB, utiliza senzor infrarojos pentru decodificare se; ales infrarojas și programar în Arduino. Totul codigo necesar va fi clar clar comentat și invită să fac orice schimbare care să fie convenabilă. Sin mas que decir, aqui les dejo un video de muestra.

Pasul 1: Materiale

Materiale
Materiale

În plus de o calculatoare cu software-ul de Arduino descărcat, vamos la necesitatea bibliotecii IRremote (Dacă nu sunt sigure de cum să descarci o bibliotecă pentru Arduino vean este tutorial) și aceste materiale:

  1. 1x Arduino UNO
  2. 2 x Servos de rotație continuă, mici preferabil / / / / în acest proiect se utilizează SM-S4303R, se recomandă MG90D.
  3. 1 x Receptor de infraroșu tip diod (TSOP382) / / / / a 1.95 $ en
  4. 1 x LED RGB / / / / a 1.95 în
  5. 1 x Contenedor de baterías 3xAA / / / / a 1.5 $ en
  6. 1 x Adaptator tip jack pentru baterie de 9v / / / / 2.95 în
  7. 1 x baterie de 9v și 3x baterii AA
  8. Comutator ON / OFF (opțional) / / / / 0.95 în
  9. Cablu. Es más sencillo with jumpers, aunque habría that cortar uno de los bordes.

Materiales Chasis

Acest lucru poate rămâne la creativitatea ustedes și tipul de robot care vrea să facă. De orice formă, el chasis pe care îl folosesc pentru acest proiect a fost proiectat pentru alt proiect pentru Dr. Tomas de Camino Beck și yo nu tuve nici o relație cu designul. Aquí les comparto un link al instructable en el cual aparecen the files of chasis that usa this project y here are the files in format stl. Dacă vrei să folosești același chasis pe care să-l mai necesit amărăciunile de plastic ca să le folosim pentru a închide maletele.

Pasul 2: Chasis

Chasis
Chasis
Chasis
Chasis
Chasis
Chasis

Dacă vrei să-l folosești pe același cap, pe care să-l faci, vor fi acești pași. Utilizați fotografiile pentru guiarse.

1. O dată cu piețele proiectate pentru rl Dr. Tomas de Camino en mano, podemos pegar el velcro en la parte de sus.

2. Abajo de donde pegaron el vecro, amarren la caja de baterías y la batería de 9v al chasis folosind amarras de plástico.

3. Ahora sigue amarrrar losservos. Asegurence that estén orientados hacia el mismo lado y estén lo más paralelo possible uno de otro. În plus, verificarea faptului că serviciile sunt ajustate la cutia de baterii.

4. Con servos ya amarrados, registeren the cable delservo around del mismo servo.

5. Peguen un pedazo de velcro debajo del arduino y, folosind el velcro, peguen el arduino al chasis.

Pasul 3: Conexiuni

Conexiuni
Conexiuni
Conexiuni
Conexiuni
Conexiuni
Conexiuni

1. El led RGB va conectat la pinii 9, 10 și 11. El pin comun va conectat la pinul de 5v del arduino. (Vedeți foto # 1)

2. El receptor de infrarrojos va conectat la un ground del arduino, el pin de 5v și orice pin digital. În acest cod se folosește numărul 6. (Vedeți foto 2)

3. Los dos cables de tierra de los servomotores van conectados al cable de tierra de la caja de baterías. În plus, acest cablu de țară are că este conectat la un anumit pin ground del arduino. De la aceeași manieră, cablurile de curent ale servomotorelor conectate la cablul de curent al cutiei de baterii. Esta corriente no es necesaria conectarla al arduino.

4. În acest proiect sunt cablurile de semnal al motoarelor conectate la pinii 3 și 4 din Arduino.

5. Opționalmente pot adăuga un comutator la cablul bateriei de 9v. Para hacerlo solo tienen que cortar el cable de tierra de este cable y conectarlo por medio del switch. (Vedeți foto 3)

*** Notas ***

La cutie de baterii este exclusiv pentru servomotoare, care consumă multe baterii.

Que tanto duren las baterias va a depender del tipo de motores que usen.

Alternativ podrian cortar la cabezera de los cables del servo motor, sin embargo, en mi caso decidi conservarla și conectează unii cabluri ca și cum să se afișeze în fotografii.

Este recomandabil să soldați conexiunile. Aici un excelent tutorial care pot folosi și nu sunt siguri de cum să faci.

Pasul 4: Receptor Infra Rojo

Receptor Infra Rojo
Receptor Infra Rojo
Receptor Infra Rojo
Receptor Infra Rojo
Receptor Infra Rojo
Receptor Infra Rojo

Primero que todo Qué es Infra Rojo?

Infra-Rojo / debajo del Rojo /

Básicamente, la luz infrarroja es una luz con una longitudine de onda mayor a la care se găsește în spectrul vizibil și por înde invincibil al omului uman. Este foarte puțin comun găsind forma naturală, prin care se utilizează mult în aplicații electronice. 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. În plus, codul nostru este proiectat pentru a lua singur în cont de lumină care este parpadeando la 38,5 kHz, așa cum se controlează televiziunea. (Ver Foto # uno)

OK, cum funcționează comunicarea?

El TSOP382 este normal deschis, este proiectat de această formă pentru care de fiecare dată, care a primit o semnalizare, se va curge el, care trebuie să ne adresăm microprocesorului. En nuestro código, una vez que el pulso se corta, se empieza protocolul de comunicare. Cu 2.4 ms de ce el este primind un pulso (primind LOW în el Arduino) se înțelege că se începe o comunicare. 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 numere binare unice pentru fiecare botun care prezionăm. În cele din urmă, putem folosi acești câțiva și câțiva sabori pentru care buton de control se prezintă și să acționeze după corespondență.

Nuestro cod funcționează cu echivalentul numărului binar în decimal. La table de la foto number three sample el number binario y el equivalentival decimal of the botones de mi control. Este important să notăm că, deși în mod normal, toți controlează au fost același număr binar pentru fiecare buton, unele controlează varianta. Dacă este cazul în care se controlează, o simplă nevoie de alte botoane, pot corecta codul de mai jos pentru a obține numărul zecimal care corespunde unui buton determinat de control. În acest exemplu se imprime în el monitor serial el number decimal that corresponde to button that presionamos. Recuerden that need the librería IRremote descargada y en la carpeta correcta.

#include

Senzor IRrecv (6);

decode_results rezultate;

configurare nulă () {

Serial.begin (9600);

sensor.enableIRIn (); // habilitamos "sensor" para recibir

}

bucla nulă () {

if (irrecv.decode (& results)) {// la funcția.decode nos devuelve 1 dacă se decodifică corect o 0 și nu.

Serial.println (rezultate); // NOS DA EL NUMERO QUE NECESITAMOS

irrecv.resume (); // Pregătim senzorul pentru a primi următoarea valoare

}

}

Pasul 5: ¿Como Usar Servomotores?

¿Como Usar Servomotores?
¿Como Usar Servomotores?

Los servomotores son sumamente fácil de manipular rápidamente y controla con exactitude 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 continuă o 360 grados. Aunque, usan the same libraría de Arduino and se programan de la same way, responden distinto to code.

Primero un ejemplo:

1) #include

Această bibliotecă deja vine instalată când descargăm IDE de Arduino, pentru ceea ce solo avem că vom include codul pentru puterea utilizării.

2) Servomotor1;

Creamos un obiect care vamos a folosi pentru a controla motorul.

3) configurare nulă () {

motor1.attach (9);

}

Con the function attach () assignamos un pin for use with our servomotor. A este pin es al care debemos conectar el cable de señal del servomotor.

4) bucla void () {

motor1.write (180); // un lado velocidad maxima

întârziere (3000); // que corra por tres segundos

motor1.write (0); // otro lado velocidad maxima

întârziere (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

întârziere (3000); // speramos sin mover el motor tres segundos

}

Aici putem observa diferențele între un servomotor de 180 de grade și unul de 360. În un servomotor de 180 de grade la folosirea funcției scrieți motorul la motorul la nivelul cărui pongamos în parametrul, dar într-unul de 360 grade la poner 90 în parámetro detenmos el sensor and entre more nos alejemos del 90 mai rapid ne mutăm către unul și altă direcție. De exemplu, dacă se mută motorul acesta este codul lent spre un lățime, se poate scrie motor1.write (105) și dacă se mută cel mai rapid posibil la direcția opusă habría pe care scrie motor1.write (0).

Pasul 6: Cod

Cod
Cod

Ya tenemos casi todo listo, solo nos falta preparar el "cerebro" de nuestro robot. La mai bună formă de a înțelege cdigo este viendo fiecare detalle în el codigo. Por eso, aquí les adjunto el código que escribí. Fiecare parte este sumar comentată pentru intenția de a explica tot de cea mai bună manieră și codul în dacă este scris căutând claritate în principal. Cual duda o sugerencia, no duden en dejar un comentario.

Recomandat: