¿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
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
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.
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.
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
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.
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.
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.
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
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.
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.
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.
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).
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
Paso 3. Inserte Arduino en su computadora a través de USB
Lo más probable es que Windows no reconozca el dispositivo.
Paso 4. Presione
Win + R y escriba devmgmt.msc.
Este comando abrirá el Administrador de dispositivos.
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.
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.
Paso 7. Haga clic en Examinar y luego abra la carpeta que extrajo anteriormente
Encontrará la carpeta de controladores en ella.
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
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.
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. }
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
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); }}
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 (); }}