» Electrónica » Arduino »Robot en Arduino!

Robot en Arduino!


Buen dia a todos! ¡Este artículo estará dedicado a los amantes de la electrónica, la robótica, así como a las personas con una visión no estándar de los alrededores!

Así que ahora trataré de describir el proceso de creación, ensamblaje lo más claramente posible el robot con e relleno, a saber, en Arduino! Vamos!

Lo que necesitamos
Lazo de tres hilos (3 piezas) Es recomendable tomar más auténtico.

Cables ordinarios

Potenciómetros

Resistencias (220 ohmios)

Botón

Compartimento de la batería

Tablero de pan

Bueno, por supuesto, yo mismo. Arduinka

Y también una placa de expansión, algo así como MultiservoShieldpara controlar una gran cantidad de servos

Y más constructor, que será la base de nuestro robot, por lo que es recomendable elegir "fuerte"

De las herramientas que necesitará:
Un juego de destornilladores, llaves, etc.

Además de un soldador, soldadura y fundente


Bueno, empecemos!
Paso 1. Fabricación del bastidor principal.
Para comenzar, recoja las "dos letras H" Se ve así:

Luego alguna construcción en la que nuestro el robot se mantendrá. No es del todo necesario como en la imagen, a su discreción ... Resultó así:

Instalamos nuestra "N" en el soporte

Desde abajo apretamos los tornillos

En la otra "H" arreglamos el primer servo, que es el responsable de llamar la atención de nuestro futuro robot.






Resulta algo como lo siguiente:

¡Casi el marco está listo! ¡Queda por sujetar estas dos estructuras con placas de metal y darle altura al robot!





Paso # 2: Hacer un marco para futuras orejas de robot
Para hacer esto, necesitamos ensamblar dos estructuras similares y fijar los servos en ellas, como se muestra en la figura:



Luego, usando pernos y tuercas, conéctese al marco principal. Resultará lo siguiente:




Vista superior:


Bueno, ¡cierto prototipo del robot está casi listo! Adelante ..
Paso 3. ¡Haciendo ojos y toda la cabeza de nuestro robot!
Para esto, usé el viejo teléfono del intercomunicador. ¡Personalmente, ella me recuerda una cara! Ver más ..

Hacemos dos agujeros y sujetamos el balancín para el servo al tubo.


Inmediatamente pegamos los LED en los lados y soldamos los cables a ellos


Usé los delgados:

Eso es lo que pasó!

Paso # 4 haciendo orejas
Usaremos tapas ordinarias de cajas pequeñas
También sujete las mecedoras para serv




Ahora arreglamos audazmente las partes del cuerpo del robot en los servidores
Así:


Vista superior:



Espalda:


En principio, puedes disfrutar del robot ahora, pero complicaremos la tarea. Volveremos los ojos y oídos del robot usando potenciómetros y nuestro arduinka
Paso # 5 Electrónica
Combinando el arduino con el escudo multiservicio, insertamos un bucle de tres cables desde cada servo a los pines 9, 10, 11 (Oído izquierdo, Oído derecho, Cent, si coloca el robot frente a nosotros)
Luego, en la placa de prueba, instalamos un potenciómetro, un botón, resistencias ... Se verá así, feo, por supuesto, pero lo principal funciona)







Mas detalles!
Cómo instalar el botón:


Donde el cable blanco es energía, el rojo es la entrada digital del microcontrolador No. 6, y la resistencia se pone a tierra (cable amarillo)

Cómo instalar un potenciómetro:


Cable rojo - alimentación, amarillo - tierra, blanco - entrada analógica del microcontrolador n. ° 0 (conectamos otro potenciómetro de la misma manera, solo entrada analógica del controlador n. ° 1)

También instalamos resistencias para LED en el tablero:

La corriente se suministrará desde 3 y 5 pines del arduino, y pasará a través de los cables amarillo y negro y a través de las resistencias irá a tierra (GND del controlador)

Bueno, básicamente todo, ¡hemos terminado con la electrónica! Solo queda descargar el siguiente bosquejo y juega con el robot !!

#include
#include
Multiservo myservo1;
Multiservo myservo2;
Multiservo myservo3;
int b, k1, p1, p2;
int A = 0;
int i = 0;
sin signo largo m2 = 0;
sin signo largo m1 = 0;
int r1 = 70;
int r2 = 110;
int r3 = 70;
 int h1 = 0;
 int h = 0;
configuración nula ()
{
  myservo1.attach (9); // oreja izquierda
  myservo2.attach (10); // oreja derecha
  myservo3.attach (11); // ojos
      pinMode (6, ENTRADA); // botón
      pinMode (3, SALIDA); // luces de ojos PWM
      pinMode (5, SALIDA);
}
 bucle vacío ()
{
   
    while (A == 0) // bucle de control manual del robot
    {
        b = digitalRead (6);
        si (! b) k1 = 1;
        si (b == 1 && k1 == 1)
        {
              retraso (10);
              b = digitalRead (6);
              si (b == 1 && k1 == 1)
                {
                 A es 1;
                 k1 = 0;
                }
        }
      p1 = int (analogRead (A0) / 6);
      p2 = int (analogRead (A1) / 6);
      myservo1.write (p1);
      myservo2.write (p1);
      myservo3.write (p2);
      analogWrite (3, i);
      analogWrite (5, i);
      if (millis ()> = m1 + 70 && h1 == 0)
      {
        i = i + 4;
        m1 = millis ();
        si (i> 250) h1 = 1;
      }
     
        if (millis ()> = m1 + 70 && h1 == 1)
      {
        i = i-4;
        m1 = millis ();
        si (i == 0) h1 = 0;
      }
    }
  while (A == 1) // ciclo de trabajo autónomo del robot
   {
       digitalWrite (13.0);
       b = digitalRead (6);
        si (! b) k1 = 1;
        si (b == 1 && k1 == 1)
        {
            retraso (10);
            b = digitalRead (6);
            si (b == 1 && k1 == 1)
            {
                A es 0;
                k1 = 0;
            }
        }
      analogWrite (3, i);
      analogWrite (5, i);
      if (millis ()> = m1 + 70 && h1 == 0)
      {
        i = i + 4;
        m1 = millis ();
        si (i> 250) h1 = 1;
      }
      if (millis ()> = m1 + 70 && h1 == 1)
      {
        i = i-4;
        m1 = millis ();
        si (i == 0) h1 = 0;
      }
   if (millis ()> = m2 + 15 && h == 0)
   {
    myservo1.write (r1);
    myservo2.write (r2);
    myservo3.write (r3);
    r1 = r1 + 1;
    r2 = r2-1;
    r3 = r3 + 1;
    si (r1 == 110) h = 1;
    m2 = millis ();
   }
   if (millis ()> = m2 + 15 && h == 1)
   {
    myservo1.write (r1); // 110
    myservo2.write (r2); // 70
    myservo3.write (r3); // 110
    r1 = r1-1;
    r2 = r2 + 1;
    r3 = r3-1;
    si (r1 == 70) h = 0;
    m2 = millis ();
   }
   }
}


El código es bastante grande, pero créeme, ¡vale la pena!
Brevemente, ¿qué hace este programa?
Tenemos un botón responsable de 2 estados del sistema: controlamos el robot manualmente o realiza los movimientos ya registrados de antemano. Cuando se presiona un botón, los estados cambian para nosotros, y en el código, 2 ciclos cambian entre sí, en los que se registran los comandos correspondientes. Los ojos de nuestro robot se iluminan gradualmente, se vuelven más y más brillantes, y luego se desvanecen. Es por eso que hemos doblado los LED a los pines que admiten PWM - modulación de ancho de pulso.

Fotos del robot:




Pequeño grabación de video, cómo y qué está girando al final:

En conclusión, quiero decir que, por supuesto, este robot se puede recordar por mucho tiempo, pero este es el gusto de cada persona. Hazlo! Inventar! Evolucionar! ¡Buena suerte a todos!
7
6.7
5.7

Agrega un comentario

    • sonriesonrisasxaxaokno sabesyahoonea
      jeferascarsetontosisi-siagresivosecreto
      lo sientobailardance2dance3perdónayudabebidas
      pararamigosbuenobuenosilbatodesmayarselengua
      fumaraplaudirllorardeclararburlóndon-t_mentiondescargar
      calorfuriosorisa1mdareuniónMoskingnegativo
      not_ipalomitas de maizcastigarleerasustarasustabuscar
      burlagraciasestoto_clueumnikagudode acuerdo
      malbeeeojo negroblum3ruborpresumiraburrimiento
      censuradocortesíasecreto2amenazarvictoriaYusun_bespectacled
      shokrespektjajajaPrevedbienvenidokrutoyya_za
      ya_dobryiayudantene_huliganne_othodigolpearprohibircerrar

Le recomendamos que lea:

Pásalo por el teléfono inteligente ...