Cómo hacer un robot en casa (con imágenes)

Tabla de contenido:

Cómo hacer un robot en casa (con imágenes)
Cómo hacer un robot en casa (con imágenes)

Video: Cómo hacer un robot en casa (con imágenes)

Video: Cómo hacer un robot en casa (con imágenes)
Video: TUTORIAL | ¿Cómo crear mapas en parcelas? - MapArt 2024, Mayo
Anonim

¿Quieres aprender a hacer tu propio robot? Hay muchos tipos diferentes de robots, que puede construir usted mismo. La mayoría de la gente quiere ver a un robot hacer el trabajo fácil de moverse del punto A al B. Puede construir un robot completamente a partir de componentes analógicos o comprar un kit de inicio. Hacer su propio robot es una excelente manera de aprender electrónica y programación de computadoras.

Paso

Parte 1 de 5: Montaje del robot

1123333 1
1123333 1

Paso 1. Ensamble sus componentes

Para construir un robot básico, necesitará algunos componentes simples. Puede encontrar la mayoría o todos estos componentes en su tienda de pasatiempos de electrónica local o en algunos minoristas en línea. Algunos kits incluyen todos estos componentes. Este robot no requiere soldadura:

  • Arduino Uno (u otro microcontrolador)
  • 2 servos 360 grados
  • Servo a juego de 2 ruedas
  • 1 rueda libre
  • 1 placa de prueba (placa de pruebas o placa de proyecto) que no ha sido soldada (busque una placa de prueba que tenga dos filas positivas y negativas en cada lado)
  • 1 sensor de proximidad (con cable conector de cuatro pines)
  • 1 interruptor de botón
  • 1 resistencia 10kΩ
  • 1 cable USB A a B
  • 1 juego de cabezales rompibles
  • 1 soporte para pilas AA de 6 x con toma de corriente de 9 V CC.
  • 1 paquete de 22. cables de puente o un solo cable
  • Aislamiento de ida y vuelta (cinta doble) o pistola de pegamento
1123333 2
1123333 2

Paso 2. Gire el compartimiento de la batería de modo que su parte posterior plana quede hacia arriba

Construirá el cuerpo del robot utilizando el compartimento de la batería como base.

1123333 3
1123333 3

Paso 3. Coloque dos servos en la misma dirección al final del compartimento de la batería

Este extremo es el extremo por donde sale el cable de la batería. Los servos deben tocar la parte inferior y el mecanismo de rotación de cada servo debe mirar hacia afuera desde los lados del compartimiento de la batería. Es importante que estos servos estén dispuestos correctamente para que las ruedas queden rectas. Los cables del servo deben salir por la parte trasera del compartimento de la batería.

1123333 4
1123333 4

Paso 4. Pegue los servos con su aislamiento o pegamento

Asegúrese de que el servo esté firmemente conectado al compartimento de la batería. La parte trasera del servo debe estar alineada con la parte trasera del compartimento de la batería.

Ahora, los servos deberían ocupar la mitad del espacio en la parte posterior del compartimento de la batería

1123333 5
1123333 5

Paso 5. Adhiera la placa de prueba perpendicular al espacio restante en el compartimiento de la batería

Esta placa de prueba colgará ligeramente sobre el frente del compartimento de la batería y se extenderá a ambos lados. Asegúrese de que la placa de prueba esté apretada antes de continuar. La fila "A" debe estar más cerca del servo.

1123333 6
1123333 6

Paso 6. Conecte el microcontrolador Arduino a la parte superior del servo

Si conecta el servo correctamente, debe haber una parte plana de los dos servos tocándose entre sí. Adhiera la placa Arduino a este punto plano para que los conectores de alimentación USB y Arduino queden hacia abajo (lejos de la placa de prueba). La parte frontal del Arduino se superpondrá con la placa de prueba.

1123333 7
1123333 7

Paso 7. Instale las ruedas en los servos

Presione firmemente las ruedas sobre el servo mecanismo giratorio. Esto puede requerir una fuerza considerable ya que las ruedas están diseñadas para tener orificios que coinciden exactamente con la forma de la punta del servo.

1123333 8
1123333 8

Paso 8. Instale la rueda libre en la parte inferior de la placa de prueba

Si pone el robot boca abajo, verá una pequeña placa de prueba colgando del compartimento de la batería. Coloque la rueda libre en esta parte colgante. Use una cuña si es necesario. La rueda libre sirve como rueda delantera que permite que el robot gire en cualquier dirección con facilidad.

Si compró un kit, la rueda libre puede tener algunas cuñas que puede usar para asegurarse de que la rueda esté libre para tocar el suelo

Parte 2 de 5: Cableado del robot

1123333 9
1123333 9

Paso 1. Corte dos cabezales de 3 pines

Utilizará esto para conectar el servo a la placa de prueba. Empuje los pines hacia abajo a través de los encabezados, para que salgan a la misma distancia en ambos lados.

1123333 10
1123333 10

Paso 2. Inserte los dos encabezados en los pines 1-3 y 6-8 en la fila E en la placa de prueba

Asegúrese de que estén insertadas con firmeza o firmeza.

1123333 11
1123333 11

Paso 3. Conecte los cables del servo con el cabezal, con el cable negro en el lado izquierdo (pines 1 y 6)

Esto conectará el servo con la placa de prueba. Asegúrese de que el servo izquierdo esté conectado al encabezado izquierdo y que el servo derecho esté conectado al encabezado derecho.

1123333 12
1123333 12

Paso 4. Conecte el cable puente rojo de los pines C2 y C7 al pin del riel rojo (positivo)

Asegúrese de usar el riel rojo en la parte posterior de la placa de prueba (más cerca del resto del cuerpo del robot).

1123333 13
1123333 13

Paso 5. Conecte el cable puente negro de las clavijas B1 y B6 a la clavija azul del riel (tierra)

Asegúrese de usar el riel azul en la parte posterior de la placa de prueba. No conecte el cable a la clavija roja del riel.

1123333 14
1123333 14

Paso 6. Conecte los cables de puente blancos de los pines 12 y 13 en el Arduino a A3 y A8

Esto permitirá que Arduino controle el servo y gire la rueda.

1123333 15
1123333 15

Paso 7. Conecte el sensor al frente de la placa de prueba

El sensor no está montado en el riel de alimentación externo en la placa de prueba, sino en las dos primeras filas de pines con letras (J). Asegúrese de colocarlo justo en el medio con la misma cantidad de pines vacíos en cada lado.

1123333 16
1123333 16

Paso 8. Conecte el cable de puente negro del pin I14 al primer pin de riel azul a la izquierda del sensor

Esto conectará a tierra el sensor.

1123333 17
1123333 17

Paso 9. Conecte el cable puente rojo del pin I17 al primer pin del riel rojo a la derecha del sensor

Esto proporcionará energía al sensor.

1123333 18
1123333 18

Paso 10. Conecte los cables de puente blancos del pin I15 al pin 9 en Arduino, y del I16 al pin 8

Esto proporcionará información desde el sensor al microcontrolador.

Parte 3 de 5: Instalación del cable de alimentación

1123333 19
1123333 19

Paso 1. Dé la vuelta al robot para que pueda ver el interior del compartimento de la batería

Organice el compartimento de la batería de modo que el cable salga por la parte inferior izquierda.

1123333 20
1123333 20

Paso 2. Conecte el cable rojo con el segundo resorte desde la izquierda en la parte inferior

Asegúrese de que el compartimento de la batería esté correctamente alineado o en la dirección correcta.

1123333 21
1123333 21

Paso 3. Conecte el cable negro con el último resorte en la parte inferior derecha

Estos dos cables ayudarán a proporcionar el voltaje correcto al Arduino.

1123333 22
1123333 22

Paso 4. Conecte los cables rojo y negro a los pines rojo y azul que se encuentran en el lado derecho en la parte posterior de la placa de prueba

El cable negro debe ir al pin del riel azul en el pin 30. El cable rojo debe ir al pin del riel rojo en el pin 30.

1123333 23
1123333 23

Paso 5. Conecte el cable negro del pin GND en el Arduino a la parte posterior del riel azul

Conecte el cable al pin 28 del carril azul.

1123333 24
1123333 24

Paso 6. Conecte el cable negro de la parte posterior del riel azul al frente del riel azul en el pin 29 para ambos rieles

No conecte el riel rojo ya que puede dañar el Arduino.

1123333 25
1123333 25

Paso 7. Conecte el cable rojo desde el frente del riel rojo en el pin 30 al pin de 5V en Arduino

Esto proporcionará energía al Arduino.

1123333 26
1123333 26

Paso 8. Inserte el interruptor de botón en el espacio entre los pines 24-26

Este interruptor le permitirá apagar el robot sin tener que apagarlo.

1123333 27
1123333 27

Paso 9. Conecte el cable rojo de H24 al riel rojo en el siguiente pin vacío a la derecha del sensor

Esto proporcionará energía al botón.

1123333 28
1123333 28

Paso 10. Utilice una resistencia para conectar H26 al riel azul

Conéctelo al pin directamente al lado del cable negro que acaba de conectar en los pasos anteriores.

1123333 29
1123333 29

Paso 11. Conecte el cable blanco de G26 al pin 2 en Arduino

Esto permitirá a Arduino detectar botones.

Parte 4 de 5: Instalación del software Arduino

1123333 30
1123333 30

Paso 1. Descargue y extraiga Arduino IDE

Aquí es donde se desarrolla Arduino y le permite programar instrucciones que luego puede cargar en su microcontrolador Arduino. Puede descargarlo de forma gratuita desde arduino.cc/en/main/software. Descomprima el archivo descargado haciendo doble clic en el archivo y moviendo la carpeta que contiene a una ubicación de fácil acceso. En realidad, no instalará el programa, sino que simplemente lo ejecutará desde una carpeta que se extrajo haciendo doble clic en arduino.exe.

1123333 31
1123333 31

Paso 2. Conecte el compartimento de la batería al Arduino

Inserta el enchufe trasero de la batería en el conector del Arduino para encenderlo.

1123333 32
1123333 32

Paso 3. Inserte Arduino en su computadora a través de USB

Lo más probable es que Windows no reconozca el dispositivo.

1123333 33
1123333 33

Paso 4. Presione

Win + R y escriba devmgmt.msc.

Este comando abrirá el Administrador de dispositivos.

1123333 34
1123333 34

Paso 5. Haga clic con el botón derecho en Dispositivo desconocido en Otros dispositivos y seleccione Actualizar software de controlador

Si no ve esta opción, haga clic en Propiedades, seleccione la pestaña Controlador y luego haga clic en Actualizar controlador.

1123333 35
1123333 35

Paso 6. Seleccione Buscar en mi computadora el software del controlador

Esto le permitirá seleccionar los controladores integrados que vienen con el IDE de Arduino.

1123333 36
1123333 36

Paso 7. Haga clic en Examinar y luego abra la carpeta que extrajo anteriormente

Encontrará la carpeta de controladores en ella.

1123333 37
1123333 37

Paso 8. Seleccione la carpeta de controladores y haga clic en Aceptar

Confirme que desea continuar si se le advierte sobre software desconocido.

Parte 5 de 5: Programación de robots

1123333 38
1123333 38

Paso 1. Abra Arduino IDE haciendo doble clic en el archivo arduino.exe en la carpeta IDE

Serás recibido con un proyecto en blanco.

1123333 39
1123333 39

Paso 2. Pegue o pegue el siguiente código para hacer que su robot avance

El siguiente código mantendrá su Arduino en funcionamiento.

#include // esto agrega la biblioteca “Servo” al programa // el siguiente comando crea dos objetos servo Servo leftMotor; Servo rightMotor; configuración vacía () {leftMotor.attach (12); // si accidentalmente intercambiaste los números de pin de tu servo, puedes intercambiar los números aquí rightMotor.attach (13); } bucle vacío () {leftMotor.write (180); // con una rotación de 360 grados (rotación continua), el número 180 indica al servo que se mueva "hacia adelante" a toda velocidad. rightMotor.write (0); // si ambos valores son 180, el robot girará en un círculo porque el servo está invertido. "0" le dice al robot que se mueva "hacia atrás" a toda velocidad. }

1123333 40
1123333 40

Paso 3. Cree y cargue el programa

Haga clic en el botón de flecha hacia la derecha en la esquina superior izquierda para crear y cargar un programa en el Arduino conectado.

Es posible que desee levantar el robot de la superficie, ya que el robot continuará caminando hacia adelante después de que se cargue el programa

1123333 41
1123333 41

Paso 4. Agregue una función de interruptor de parada (interruptor de apagado)

Agregue el siguiente código a la sección "void loop ()" de su código para agregar una función de interruptor de parada en la parte superior de la función "write ()".

if (digitalRead (2) == HIGH) // este comando se ejecuta cuando se presiona el botón en el pin 2 Arduino {while (1) {leftMotor.write (90); // "90" es la posición neutra del servo, que le dice al servo que deje de girar a la derechaMotor.write (90); }}

1123333 42
1123333 42

Paso 5. Cargue y verifique su código

Con el código del interruptor de parada ya agregado, puede cargar el código y probar el robot. El robot debe continuar hacia adelante hasta que presione el botón del interruptor de parada, lo que hará que el robot se detenga. El código completo se verá así:

#include // el siguiente comando crea dos objetos Servo leftMotor servo; Servo rightMotor; configuración vacía () {leftMotor.attach (12); rightMotor.attach (13); } bucle vacío () {if (digitalRead (2) == HIGH) {while (1) {leftMotor.write (90); rightMotor.write (90); }} leftMotor.write (180); rightMotor.write (0); }

Ejemplo

El siguiente código utilizará sensores instalados en el robot para que gire a la izquierda cada vez que el robot se encuentre con un obstáculo. Mire los comentarios en el código para obtener detalles sobre cómo usar cada parte. El siguiente código es el programa completo.

#include Servo leftMotor; Servo rightMotor; const int serialPeriod = 250; // este código le da al retraso de salida de la consola cada 1/4 de segundo (250 ms) unsigned long timeSerialDelay = 0; const int loopPeriod = 20; // este código establece la frecuencia de lectura del sensor en 20 ms, que es 50 Hz unsigned long timeLoopDelay = 0; // este código asigna las funciones TRIG y ECHO a los pines del Arduino. Ajuste los números aquí si los conecta de forma diferente const int ultrasic2TrigPin = 8; const int ultrasónico2EchoPin = 9; int ultrasonic2Distance; int ultrasonic2Duration; // este código define dos posibles estados del robot: continuar hacia adelante o girar a la izquierda #define DRIVE_FORWARD 0 #define TURN_LEFT 1 int state = DRIVE_FORWARD; // 0 = continuar hacia adelante (PREDETERMINADO), 1 = girar a la izquierda void setup () {Serial.begin (9600); // este sensor determina la configuración de los pines pinMode (ultrasonic2TrigPin, OUTPUT); pinMode (ultrasónico2EchoPin, ENTRADA); // esto asigna el motor a los pines de Arduino leftMotor.attach (12); rightMotor.attach (13); } void loop () {if (digitalRead (2) == HIGH) // este código detecta una '' parada '' {while (1) {leftMotor.write (90); rightMotor.write (90); }} debugOutput (); // este código imprime mensajes de depuración en la consola serie if (millis () - timeLoopDelay> = loopPeriod) {readUltrasonicSensors (); // este código indica al sensor que lea y almacene datos sobre la distancia medida stateMachine (); timeLoopDelay = millis (); }} void stateMachine () {if (state == DRIVE_FORWARD) // si no se detecta ningún obstáculo {if (ultrasic2Distance> 6 || ultrasic2Distance <0) // si no hay nada frente al robot. ultrasonicDistance será negativo para algunos ultrasonidos si no hay obstáculos {// avance rightMotor.write (180); leftMotor.write (0); } else // si hay un objeto frente a nosotros {state = TURN_LEFT; }} else if (state == TURN_LEFT) // si se detecta un obstáculo, gire a la izquierda {unsigned long timeToTurnLeft = 500; // tarda aproximadamente 0,5 segundos en girar 90 grados. Es posible que deba ajustar este valor si sus ruedas difieren en tamaño del tamaño del ejemplo unsigned long turnStartTime = millis (); // mantén la condición cuando el robot comienza a girar while ((millis () - turnStartTime) <timeToTurnLeft) // mantén este ciclo hasta que timeToTurnLeft (500) haya pasado {// gira a la izquierda, recuerda que cuando ambos son "180", el robot girará. rightMotor.write (180); leftMotor.write (180); } estado = DRIVE_FORWARD; }} void readUltrasonicSensors () {// esto es para ultrasónico 2. Es posible que deba cambiar este comando si está usando un sensor diferente. digitalWrite (ultrasónico2TrigPin, ALTO); delayMicroseconds (10); // tira del pin TRIG hacia arriba durante al menos 10 microsegundos digitalWrite (ultrasic2TrigPin, LOW); ultrasonic2Duration = pulseIn (ultrasic2EchoPin, HIGH); ultrasonic2Distance = (ultrasonic2Duration / 2) / 29; } // lo siguiente es para depurar errores en la consola. void debugOutput () {if ((millis () - timeSerialDelay)> serialPeriod) {Serial.print ("ultrasonic2Distance:"); Serial.print (ultrasonic2Distance); Serial.print ("cm"); Serial.println (); timeSerialDelay = millis (); }}

Recomendado: