¿Cómo construir un robot arduino 4wd para principiantes
coches de control remoto son divertidos, seguro, pero auto-conducción vehículos robóticos son aún más divertido. En este tutorial, vamos a construir un robot de cuatro ruedas que puede conducir alrededor y evitar obstáculos. He comprado este kit 4WD completa de aliexpress, pero aquí se puede comprar la mayor parte de estos componentes de una tienda de electrónica y lo puso junto a ti mismo.
Recomiendo la lectura a través de todas las instrucciones antes de empezar, ya que hará que algunas cosas en claro que podría ser confuso en el primer tiempo a través. Además, esto puede parecer un proyecto muy largo, avanzado debido a la longitud de las instrucciones, pero en realidad es bastante simple. No hay necesidad de ser intimidado - este es un proyecto de nivel inicial que se puede obtener algunos resultados satisfactorios con, a continuación, construir sobre medida que aprende más. ¿No te gusta este estilo de robot? Aquí hay algo más robots Arduino fácilmente se podría construir en su lugar.8 Arduino Los robots se puede construir por menos inferior a $ 1258 Arduino Los robots se puede construir por menos inferior a $ 125Lee mas
Esto es lo que tenemos, después de tomar todo del embalaje:
Para empezar, vamos a adjuntamos los motores y el puente H (la tarjeta que suministra energía a los motores) a la parte inferior del chasis. En primer lugar, coloque los cuatro soportes de metal (que están rectangular, bloques metálicos perforados) para cada motor utilizando dos tornillos largos y dos tuercas.
Tendrá que asegurarse de que están conectados correctamente, así que echa un vistazo a la imagen de abajo para asegurarse de que el lado del bloque con dos agujeros perforados se enfrentará a la baja. Tenga en cuenta que los cables en cada motor están apuntando hacia el centro del chasis.
Ahora, cada motor puede estar unido al chasis por medio de dos tornillos cortos en la parte inferior de cada soporte de metal. Aquí está una vista de la parte inferior del chasis para que pueda ver dónde están los tornillos tienen que ser:
El siguiente paso es asegurar el puente H (que es la junta de color rojo, en mi kit) al chasis. Es posible que desee esperar hasta que todos los cables están unidos al puente H antes de hacer esto, pero eso depende de ti (me pareció que era más fácil). Una nota rápida: mi kit faltaba una serie de elementos de sujeción, por lo que utiliza cinta aislante para fijar el puente. Sin embargo, se puede ver aquí, donde los pernos y tuercas habrían ido:
Ahora que el puente H ha sido fijado, puede iniciar el cableado de la fuente de alimentación. Debido a que el soporte de la batería de seis AA viene con un adaptador DC, tendrá que o bien cortar el extremo (lo cual) o cables de puente dirigidos a las propias baterías.
No importa cómo se decide hacerlo, se encontrará con el cable positivo al puerto llamado “VMS” y el cable negativo a la de la etiqueta “GND” en el puente. Atornillar los elementos de fijación y asegurarse de que son seguros. A continuación, podrás conectar los cables del motor. A ambos lados, hay un conjunto de dos uno Ports- se etiqueta “MOTORA” y el otro “MOTORB.” Ambos cables rojo en cada lado irán en el puerto verde más central, y los dos cables negros entrarán en la más externa. Esta imagen debe hacerlo más claro:
Me di cuenta que tenía que quitar algunas de las viviendas fuera de los cables del motor a conseguir que esto funcione. Ahora que tiene los motores y la fuente de alimentación de todo cableado, deslice las ruedas sobre los ejes de accionamiento del motor, y se unen los cuatro ejes de cobre en los lugares muestran en la imagen siguiente (cada eje de cobre necesita un pequeño perno). Este robot está empezando a tomar forma!
Ahora, establecer que una parte del chasis de un lado y agarrar la otra que se sentará en la parte superior. El siguiente paso consiste en conectar el Arduino-otra vez, tuve que usar cinta aislante, pero usted debería ser capaz de asegurar mejor la suya con algunos pernos y tuercas.
El siguiente paso requiere que el servo micro, la pieza transversal negro, el titular de servo (que consta de tres piezas de plástico negro), y algunos tornillos pequeños. Utilice uno de los tornillos afilados más grandes en el kit para fijar el travesaño negro al servo micro:
Luego, abre el servo boca abajo en el anillo de plástico negro del soporte. Asegúrese de que los cables que salen del servo se enfrentan en la misma dirección que la parte más larga del titular (de nuevo, ver la imagen de abajo), y el uso de cuatro tornillos pequeños para fijar el travesaño (hay cuatro agujeros en el soporte que alinearse con los orificios de la travesaño).
Esto es lo que parece que después de que se adjunta:
Vídeo: Carro Robot Arduino armado del kit Robot 4x4 banggood.com
Por último, tome las otras dos piezas del soporte de servo y que se ajusten a la servo (hay ranuras en las piezas laterales que coinciden con la pestaña de la parte servo).
Ahora que el titular del servo se ha completado, se puede montar en el chasis.
Aquí es donde van los tornillos:
Es el momento de dar a nuestro robot algunos ojos. Una el sensor de ultrasonidos para el soporte de servo utilizando dos bandas de sujeción.
Si está trabajando desde el mismo kit que a mí, se le han recibido una pantalla del sensor de Arduino. Nosotros no vamos a usar en esta versión, pero que puede hacer estallar en la parte superior de la ONU ahora si quieres (como lo he hecho en la imagen de abajo). Sólo alinear los pines en la parte inferior del escudo con los puertos de E / S en el Arduino y presione hacia abajo para conectarlos. Usted no lo necesita en este momento, pero escudos puede ser útil.El Top 4 Arduino escudos para superpotencia sus proyectosEl Top 4 Arduino escudos para superpotencia sus proyectosUsted ha comprado un kit de iniciación Arduino, usted ha seguido todas las guías básicas, pero ahora usted ha golpeado una piedra de tropiezo - usted necesita más partes y detalles para realizar su sueño de la electrónica. Por suerte, si usted tiene ...Lee mas
Si se conecta un sensor de escudo o no, ahora tendrá cuatro cables para conectar el sensor de ultrasonidos para el Arduino. Hay cuatro pines en el sensor, VCC, GND, trig, y ECHO. Conectar VCC al pin 5V en el Arduino, GND a GND, y TRIG y ECHO a pines I / O 12 y 13.
Ahora toma la parte inferior del chasis y conecte seis cables de puente a los pines de E / S del puente H (que están marcados ENA, IN1, IN2, IN3, IN4, y ENB). Tomar nota de los cuales los cables de color están conectados a los puertos que, ya que necesitará conocer más adelante.
Ahora es el momento de empezar a poner esta cosa juntos. Coge la parte superior del chasis y la puso en la parte superior de los ejes de cobre conectados a la parte inferior, y tire de los cables conectados al puente H a través del agujero en el centro del chasis. Conectar los seis alambres a los puertos de E / S como sigue:
- ENA a puerto I / O 11
- ENB a puerto I / O 10
- A1 a puerto I / O 5
- A2 a puerto I / O 6
- B1 al puerto de E / S 4
- B2 al puerto de E / S 3
Ahora, utilice cuatro tornillos cortos para unir la parte superior del chasis para los ejes de cobre. Ajuste el soporte de la batería de seis AA en la parte superior del chasis (tornillo hacia abajo si es posible), coloque el soporte de 9V para el Arduino, y este robot está listo para el rock!
Bueno, casi listo para el rock. No tiene suficiente personalidad todavía.
Aquí vamos. Ahora para darle un cerebro. Hagamos un poco de programación.
Lo primero que haremos es prueba para asegurarse de que el puente y los motores están conectados correctamente. Aquí está un boceto rápido que le dirá que el robot para impulsar por medio segundo, conduce al revés durante medio segundo, a continuación, girar a la izquierda y la derecha:
// pins Motor A (enableA = permiten motor, Pina1 = hacia adelante, pinA2 = hacia atrás) |
int enableA = 11- |
int Pina1 = 6- |
int pinA2 = 5- |
//pins Motor B (enabledB = permiten motor, pinB2 = hacia adelante, pinB2 = hacia atrás) |
int enableB = 10- |
int pinB1 = 4- |
int pinB2 = 3- |
//Esto le permite ejecutar el bucle de una sola vez para la prueba |
run boolean = cierto- |
vacío preparar() { |
pinMode(EnableA, OUTPUT) - |
pinMode(Pina1, OUTPUT) - |
pinMode(PinA2, OUTPUT) - |
pinMode(EnableB, OUTPUT) - |
pinMode(PinB1, OUTPUT) - |
pinMode(PinB2, OUTPUT) - |
} |
vacío lazo() { |
Si (correr) { |
retrasar(2000) - |
enableMotors() - |
//Avanzar |
adelante(200) - |
//Retroceder |
hacia atrás(200) - |
//Girar a la izquierda |
girar a la izquierda(400) - |
costa(200) - |
//Dobla a la derecha |
dobla a la derecha(400) - |
costa(200) - |
//Esto detiene el bucle |
ejecutar = falso- |
} |
} |
//Definir comandos H-puente de alto nivel |
vacío enableMotors() |
{ |
motorAOn() - |
motorBOn() - |
} |
vacío disableMotors() |
{ |
motorAOff() - |
motorBOff() - |
} |
vacío adelante(int hora) |
{ |
motorAForward() - |
motorBForward() - |
retrasar(hora) - |
} |
vacío hacia atrás(int hora) |
{ |
motorABackward() - |
motorBBackward() - |
retrasar(hora) - |
} |
vacío girar a la izquierda(int hora) |
{ |
motorABackward() - |
motorBForward() - |
retrasar(hora) - |
} |
vacío dobla a la derecha(int hora) |
{ |
motorAForward() - |
motorBBackward() - |
retrasar(hora) - |
} |
vacío costa(int hora) |
{ |
motorACoast() - |
motorBCoast() - |
retrasar(hora) - |
} |
vacío freno(int hora) |
{ |
motorABrake() - |
motorBBrake() - |
retrasar(hora) - |
} |
//Definir comandos H-puente de bajo nivel |
//permitir a los motores |
vacío motorAOn() |
{ |
digitalWrite(EnableA, ALTO) - |
} |
vacío motorBOn() |
{ |
digitalWrite(EnableB, ALTO) - |
} |
//desactivar los motores |
vacío motorAOff() |
{ |
digitalWrite(EnableB, LOW) - |
} |
vacío motorBOff() |
{ |
digitalWrite(EnableA, LOW) - |
} |
//controles de motor A |
vacío motorAForward() |
{ |
digitalWrite(Pina1, ALTO) - |
digitalWrite(PinA2, LOW) - |
} |
vacío motorABackward() |
{ |
digitalWrite(Pina1, LOW) - |
digitalWrite(PinA2, ALTO) - |
} |
//controles de motor B |
vacío motorBForward() |
{ |
digitalWrite(PinB1, ALTO) - |
digitalWrite(PinB2, LOW) - |
} |
vacío motorBBackward() |
{ |
digitalWrite(PinB1, LOW) - |
digitalWrite(PinB2, ALTO) - |
} |
//cabotaje y frenado |
vacío motorACoast() |
{ |
digitalWrite(Pina1, LOW) - |
digitalWrite(PinA2, LOW) - |
} |
vacío motorABrake() |
{ |
digitalWrite(Pina1, ALTO) - |
digitalWrite(PinA2, ALTO) - |
} |
vacío motorBCoast() |
{ |
digitalWrite(PinB1, LOW) - |
digitalWrite(PinB2, LOW) - |
} |
vacío motorBBrake() |
{ |
digitalWrite(PinB1, ALTO) - |
digitalWrite(PinB2, ALTO) - |
} |
Asegúrese de que se ve la instrucción de inclusión en la parte superior de su bosquejos si no, pulsa Bosquejo gt; incluir Biblioteca gt; NewPing. Una vez que hayas hecho esto, cargue el siguiente esquema:
#incluir lt;NewPing.hgt; |
//Decir la Arduino, donde el sensor está conectado |
NewPing sonar(12, 13) - |
largo pulgadas- |
vacío preparar() { |
//Activar el monitor de puerto serie para que pueda ver la salida del sensor |
De serie.empezar(9600) - |
} |
vacío lazo() { |
retrasar(50) - |
//Ping el sensor para determinar la distancia en pulgadas |
pulgadas = sonar.ping_in() - |
//Imprimir la distancia en pulgadas para el monitor serie |
De serie.impresión(pulgadas)- |
De serie.impresión(" en.") - |
De serie.impresión("norte") - |
} |
Sube el boceto, y abrir el monitor serie utilizando Herramientas gt; serial monitor. Debería ver una secuencia rápida actualización de los números. Ponga su mano frente al sensor y ver si ese número cambia. Mueva la mano dentro y fuera, y usted debe obtener una medida de lo lejos que su mano es desde el sensor.
Vídeo: Como Hacer un Robot Casero a Control Remoto (Muy fácil de hacer )
Si todo funcionó correctamente, es el momento de poner todo junto y dejar que esta cosa funciona! Aquí está el código para el robot ahora. Como usted puede decir probablemente, esto es, básicamente, los dos bocetos de prueba que junto con un añadido if para controlar el comportamiento del robot. Nos hemos dado una forma muy sencilla el comportamiento de evitación de obstáculos: si detecta algo menos de cuatro pulgadas de distancia, se copia de seguridad, girar a la izquierda, y empezar a moverse de nuevo. He aquí un video del robot en acción.
Dé a su robot un poco de vida
Una vez que haya recibido este comportamiento de funcionar correctamente, puede agregar más complejo comportamiento: hacer que el robot se alternan entre el giro a la izquierda y derecha, o elegir aleatoriamente que suene un zumbador si se pone cerca de algo- sólo a su vez, en lugar de respaldo que UP- `re realmente sólo limitado por su imaginación. Se podría utilizar casi cualquier cosa en su starter kit Arduino añadir más funcionalidad. Se dará cuenta también de que no hemos codificado nada por el servo sin embargo: en realidad se puede hace “ojos” de su robot se mueven hacia adelante y hacia atrás. tal vez de usarlos para buscar un camino en lugar de sólo una copia de seguridad cada vez que encuentra un obstáculo directamente en frente.Qué hay en tu Arduino Starter Kit? [Arduino principiantes]Qué hay en tu Arduino Starter Kit? [Arduino principiantes]Frente a una caja llena de componentes electrónicos, es fácil sentirse abrumado. He aquí una guía para exactamente lo que encontrará en su kit.Lee mas
Háganos saber si usted decide construir este robot u otro, y nos dicen cómo decida personalizar su comportamiento o la apariencia. Si usted tiene alguna pregunta acerca de este robot, publicarlos en los comentarios de abajo, y voy a ver si puedo ayudar!