Paso 4: Paso 3: crear el código de Arduino
Una vez que tengas tu aplicación móvil listo que ahora deberás programar tu Arduino Uno.
1. en primer lugar, usted tendrá que descargar las librerías que se necesitan para hacer el programa. Estas son necesarias para poder trabajar con el motor de Adafruit protector. Después de descargar, debe copiarlos a la carpeta donde tienes todas las bibliotecas de Arduino.
2. una vez que los has instalado, puede comenzar a escribir el código. Es muy importante que incluyas tus bibliotecas antes de hacer cualquier otra cosa. Usted debe escribir:
#include
#include
#include "utility/Adafruit_MS_PWMServoDriver.h"
#include
#include
3. ahora, usted tiene que declarar sus cuatro motores de la C.C. para las cuatro ruedas. También necesita declarar sus entradas para el Bluetooth y el servomotor.
Adafruit_MotorShield AFMS = Adafruit_MotorShield();
Adafruit_DCMotor * myMotor1 = AFMS.getMotor(1);
Adafruit_DCMotor * myMotor2 = AFMS.getMotor(2);
Adafruit_DCMotor * myMotor3 = AFMS.getMotor(3);
Adafruit_DCMotor * myMotor4 = AFMS.getMotor(4);
int led = 13;
estado de Char; SoftwareSerial dospositivo (10, 11); RX = 10, Tx = 11
Servo myservo;
4. en la sección de "Configuración" la velocidad de cada motor, se asignará la posición inicial y el PIN que está conectado el servomotor.
void setup() {}
Serial.Begin (9600);
Serial.printIn ("Adafruit Motorshield v2 - Motor de la C.C. prueba!");
pinMode (led, salida);
AFMS.begin();
dispositivo.Begin(9600);
myMotor1 -> setSpeed(255);
myMotor2 -> setSpeed(255);
myMotor3 -> setSpeed(255);
myMotor4 -> setSpeed(255);
myservo.Attach(9);
myservo.Write(0);
}
5. en la sección de bucle, se asignará la dirección en que gira cada motor. Esto le ayudará a definir en qué dirección se moverá el coche como un todo. Depende de que carta es enviada por el controlador de la aplicación. Usted tiene que asegurarse de que las letras que utilizan en el código de Arduino coinciden con las letras declaradas en su aplicación.
void loop() {}
Estado = '0';
if(dispositivo.Available() > 0) {}
Estado=dispisitivo.Read();
}
Switch (estado) {}
caso 'e': //forward
myMotor1 -> run(FORWARD);
myMotor2 -> run(FORWARD);
myMotor3 -> run(FORWARD);
myMotor4 -> run(FORWARD);
rotura;
caso 'f': //right
myMotor1 -> run(FORWARD);
myMotor2 -> run(FORWARD);
myMotor3 -> run(BACKWARD);
myMotor4 -> run(BACKWARD);
rotura;
caso 'g': //reverse
myMotor1 -> run(BACKWARD);
myMotor2 -> run(BACKWARD);
myMotor3 -> run(BACKWARD);
myMotor4 -> run(BACKWARD);
rotura;
caso 'h': //left
myMotor1 -> run(BACKWARD);
myMotor2 -> run(BACKWARD);
myMotor3 -> run(FORWARD);
myMotor4 -> run(FORWARD);
rotura;
de caso ': //stop
myMotor1 -> run(RELEASE);
myMotor2 -> run(RELEASE);
myMotor3 -> run(RELEASE);
myMotor4 -> run(RELEASE);
rotura;
caso 'q': //attack
myservo.Write(150);
Delay(500);
myservo.Write(30);
Delay(500);
myservo.Write(150);
Delay(500);
rotura;
}