Obstáculos que evitan el robot con servomotor
Componentes y suministros
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Herramientas y máquinas necesarias
|
Aplicaciones y servicios en línea
|
Acerca de este proyecto
Todo sobre el proyecto
Soy un estudiante de Diseño de Artes de Medios que estudio en la Universidad Multimedia, Cyberjaya Malaysia. Este es mi año Gamma de estudio de arte multimedia, el diseño de interacción es el tema que enseñará a los estudiantes cómo usar los componentes de Arduino y cómo funciona. Entonces, en mi tarea final, elegí Obstacles Avoiding Robot como mi propio proyecto y aprendí cómo funcionan todos los componentes.
Paso 1:
Prepara y construye tu chasis de Robot. Dentro del paquete tiene algunos componentes, chasis, dos motores, dos ruedas, una rueda delantera, un portapilas, algunos tornillos, interruptores y cables de puente. Foto de abajo:
Paso 2:
Antes de soldar los cables de puente en ambos motores, recomendaría probar todos los componentes para asegurarse de que todos funcionen bien, por ejemplo:ambos motores de CC, placa Arduino, protector de motor, servomotor y sensor ultrasónico. Luego, comenzaremos a soldar el cable rojo y negro en ambos motores, imagen de ejemplo a continuación:
Paso 3:
Ven a nuestro chasis de batería y cambia de pieza. Solo necesitamos cortar la mitad del cable negro del chasis de la batería y soldar 1 lado del cable en 1 orificio, otro cable negro se soldará en otro orificio. ¡Nuestro interruptor está listo!
Paso 4:
Necesitaremos apilar la placa Arduino y la placa Motor Shield, Motor Shield se apilará en la placa Arduino. Ejemplo a continuación:
Paso 5:
Pasaremos al tablero Motor Shield. Este escudo proporciona energía a los motores y al servomotor, los motores necesitan mucha corriente y este escudo puede proporcionar hasta 600 mA de corriente a cada motor. Necesitamos soldar / arreglar los cables de los motores de CC en la placa de protección del motor. Si los cables de su motor de CC son lo suficientemente largos para alcanzar el protector del motor, será excelente, de lo contrario, es posible que deba usar cables de puente externos (no importa si es un cable de puente macho / hembra), corte la cabeza del cable de puente y asegúrese de que esté dentro del Aparece la línea de cobre. (Deberá cortar la goma del cable de puente para que aparezca el cable de cobre). Y necesita soldar los cables externos a los cables del motor de CC. Ejemplo:
Luego, conecte el cable del motor izquierdo al conector M1 del blindaje del motor. El cable del motor derecho se conectará al conector M3 de la placa de blindaje del motor. Ejemplo:
Paso 6:
Luego, necesitaremos conectar los cables del interruptor de la batería, tanto el cable rojo como el negro, a la placa de protección del motor.
Después de eso, necesitaremos preparar cables de puente macho y hembra para soldarlos a 5V, GND, pin analógico 4 y pin analógico 5. Antes de eso, necesitaremos encontrar los mismos colores de cables de puente hembra y macho y cortarlos por la mitad. . ¿Por qué debe ser del mismo color? Primero, es fácil para nosotros reconocer qué cables son para qué parte. En segundo lugar, el cable de puente macho blanco se soldará con el cable de puente hembra blanco que se conecta a 5V. El cable de puente macho de color negro se soldará con el cable de puente hembra y el cable de puente macho se soldará a GND. El cable de puente macho de color naranja se soldará con el cable de puente hembra naranja, el cable de puente macho naranja se soldará en el pin analógico 5. Por último, pero no menos importante, el cable de puente macho marrón se soldará con el cable de puente marrón hembra, luego el cable de puente macho de color marrón se soldará a Pin analógico 4. Ejemplo:
Paso 7:
Puede usar cinta adhesiva de doble cara o pistola de pegamento caliente para colocar ambos protectores en el chasis del robot.
Paso 8:pasa a la parte del sensor ultrasónico
De los cables de puente hembra y macho que soldamos ahora, el cable de puente blanco (5 V) (cable de puente de sitio hembra) se conectará al pin VCC del sensor ultrasónico. El cable de puente negro (GND) (cable de puente del sitio hembra) se conectará al pin GND. El cable de puente marrón (pin analógico 4) (cable de puente del sitio hembra) se conectará al pin de eco. El cable de puente de color naranja (pin analógico 5) (cable de puente de sitio hembra) se conectará al pin TRIG.
Paso 9:
Por último, el servomotor se conectará a la ranura servo_2. Nota * (Existen pocos tipos de servomotor. Es posible que deba encontrarlo en línea para saber cómo se conectan a la ranura servo_2). A continuación se muestra mi propia versión de la ranura de servo.
Último paso:código
Para este robot que evita obstáculos, necesitaremos 3 bibliotecas, que es la biblioteca Motor Shield para el controlador Motor Shield, la nueva biblioteca Ping es para el sensor ultrasónico. El tercero es Arduino IDE. A continuación se muestran los enlaces descargables para bibliotecas:
-
Biblioteca de protectores de motor
- Nueva biblioteca de ping
Les agradezco que vean mi proyecto. Espero que las instrucciones sean lo suficientemente claras para que ustedes las sigan y construyan el robot para evitar obstáculos. ¡Gracias!
Video para prueba:
Código
- IDE de Arduino
Arduino IDE C #
Copie y pegue el código en Arduino IDE luego cárguelo en su placa Arduino#include#include #include #define TRIG_PIN A4 #define ECHO_PIN A5 # define MAX_DISTANCE_POSSIBLE 1000 #define MAX_SPEED 150 // #define MOTORS_CALIBRATION_OFFSET 3 # define COLL_DIST 20 #define TURN_DIST COLL_DIST + 10 NewPing sonar (TRIG_PIN, ECHO_PIN, MAX_DISTANCE_POSSIBLE); AF_DCMotor leftMotor12_8KHZOR AF_DCMotor rightMotor (1, MOTOR12_8KHZ); Servo neckControllerServoMotor; int pos =0; int maxDist =0; int maxAngle =0; int maxRight =0; int maxLeft =0; int maxFront =0; int curso =0; int curDist =0; String motorSet =""; int speedSet =0; void setup () {neckControllerServoMotor.attach (10); neckControllerServoMotor.write (90); retraso (2000); checkPath (); motorSet ="ADELANTE"; neckControllerServoMotor.write (90); moveForward ();} bucle vacío () {checkForward (); checkPath ();} void checkPath () {int curLeft =0; int curFront =0; int curRight =0; int curDist =0; neckControllerServoMotor.write (144); retraso (120); para (pos =144; pos> =36; pos- =18) {neckControllerServoMotor.write (pos); retraso (90); checkForward (); curDist =readPing (); if (curDist curDist) {maxAngle =pos;} if (pos> 90 &&curDist> curLeft) {curLeft =curDist;} if (pos ==90 &&curDist> curFront) {curFront =curDist;} if (pos <90 &&curDist> curRight) {curRight =curDist;}} maxLeft =curLeft; maxRight =curRight; maxFront =curFront;} void setCourse () {if (maxAngle <90) {turnRight ();} if (maxAngle> 90) {turnLeft ();} maxLeft =0; maxRight =0; maxFront =0;} void checkCourse () {moveBackward (); retraso (500); moveStop (); setCourse ();} void changePath () {if (pos <90) {lookLeft ();} if (pos> 90) {lookRight ();}} int readPing () {delay (70); unsigned int uS =sonar.ping (); int cm =uS / US_ROUNDTRIP_CM; return cm;} void checkForward () {if (motorSet =="FORWARD") {leftMotor.run (FORWARD); rightMotor.run (ADELANTE); }} void checkBackward () {if (motorSet =="BACKWARD") {leftMotor.run (BACKWARD); rightMotor.run (HACIA ATRÁS); }} void moveStop () {leftMotor.run (RELEASE); rightMotor.run (RELEASE);} void moveForward () {motorSet ="FORWARD"; leftMotor.run (ADELANTE); rightMotor.run (ADELANTE); para (speedSet =0; speedSet Esquemas
Proceso de manufactura
- Robot Pi simple
- Robot seguidor de línea
- Controlar un robot Roomba con Arduino y un dispositivo Android
- Control del servomotor con Arduino y MPU6050
- Robot asistente doméstico autónomo
- Brazo de robot Arduino DIY:controlado por gestos con las manos
- Controla el brazo del robot Arduino con la aplicación de Android
- Crea un robot para comer con Arduino Nano | Tornillo dorado
- Robot para navegación interior supercogedora
- ¿Qué es un servomotor?
- Emparejamiento de cabezales de engranajes con servomotores