Étape 5: Vérifiez votre propre code de script dans Arduino, ou utilisez notre propre code de script !
Le dernier que nous avons fait est une application pour les appareils android, l’objectif principal de notre app est la communication Bluetooth entre le téléphone intelligent et le module.
Notre code arduino est :
#include < SoftwareSerial.h >
Inicializacion de los pins
int bluetoothTx = 1 ;
int bluetoothRx = 0 ;
Variables que corresponden a cada pin del Arduino, se omiten el pin 0 y pin 1 ya que estos se utilizan fr la comunicación série que se establece entre el Arduino y el módulo Bluetooth
broche 2 int = 2 ;
broche 3 int = 3 ;
int broche4 = 4 ;
int pin5 = 5 ;
int pin6 = 6 ;
pin7 int = 7 ;
int pin8 = 8 ;
pin9 int = 9 ;
int pin10 = 10 ;
int pin11 = 11 ;
int pin12 = 12 ;
int pin13 = 13 ;
Varables de contrôle utilizadas para controlar la velocidad de los motores DC
velocidad int = 255 ;
int velocidad2 = 255 ;
SoftwareSerial bluetooth (bluetoothTx, bluetoothRx) ;
Declaración de los metodos que vamos a utilizar
void adelante() ;
void reversa() ;
void giro_derecha() ;
void giro_izquierda() ;
void pararMotorTraccion() ;
void pararMotorDireccion() ;
void encenderLuz() ;
void apagarLuz() ;
void encenderComponente() ;
void apagarComponente() ;
void encenderComponente2() ;
void apagarComponente2() ;
void encenderComponente3() ;
void apagarComponente3() ;
void modificarVelocidad (int vel) ;
void setup()
{
Iniciamos la comunicacion série con el USB for y salidas de como los pins que vamos a utilizar
Serial.Begin(9600) ;
pinMode (pin2, sortie) ;
pinMode (broche 3, sortie) ;
pinMode (pin4, sortie) ;
pinMode (pin5, sortie) ;
pinMode (pin6, sortie) ;
pinMode (pin7, sortie) ;
pinMode (pin8, sortie) ;
pinMode (pin9, sortie) ;
pinMode (pin10, sortie) ;
pinMode (pin11, sortie) ;
pinMode (pin12, sortie) ;
pinMode (pin13, sortie) ;
Configuramos la conexion série del bluetooth con el android
Bluetooth.Begin(115200) ;
Bluetooth.Print("$$$") ;
Delay(100) ;
Bluetooth.println("U,9600,N") ;
Bluetooth.Begin(9600) ;
}
void loop()
{
Leemos del Bluetooth y el escribimos en série
if(Bluetooth.available())
{
char a reçu = bluetooth.read() ;
char toSend = (char)bluetooth.read() ;
Serial.Print(toSend) ;
}
Si el android le manda algo al arduino este metodo toma el caracter que mando
fr y fonder une eso ejecuta el metodo deseado
if(Serial.available())
{
char toSend = (char)Serial.read() ;
Bluetooth.Print(toSend) ;
Switch(toSend)
{
Si recibe una C entra en el modo de contrôle por medio de la pantalla Cardux
case « C » :
Lee el siguiente broche y fr base al numero o letra enciende el correspondiente broche
if(Serial.available())
{
char toSend2 = (char)Serial.read() ;
Bluetooth.Print(toSend2) ;
{Switch(toSend2)}
Botón de adelante presionado
case « W »: adelante (pin5, pin6) ; rupture ;
Botón de reversa presionado
de cas ': reversa (pin5, pin6) ; rupture ;
Botón de izquierda presionado
affaire « A »: giro_izquierda (broche 2 et 3) ; rupture ;
Botón de derecha presionado
affaire aurait ": giro_derecha (broche 2 et 3) ; rupture ;
Al d’ejecuta este medoto se dejar de presionar el boton de adelante o reversa
case « Z »: pararMotor (pin5, pin6) ; rupture ;
Al d’ejecuta este medoto se dejar de presionar el boton de derecha o izquierda
case « X »: pararMotor (broche 2 et 3) ; rupture ;
Cuando el switch de Luces esta en estado encendido
affaire « I »: encenderLuz(pin4) ; rupture ;
Cuando el switch de Luces esta en estado apagado
cas ' o ': apagarLuz(pin4) ; rupture ;
Cuando el commutateur de comp1 esta en estado encendido
case « H »: encenderComponente(pin8) ; rupture ;
Cuando el commutateur de comp1 esta en estado apagado
affaire « B »: apagarComponente(pin8) ; rupture ;
Cuando el commutateur de comp2 esta en estado encendido
affaire « J »: encenderComponente(pin9) ; rupture ;
Cuando el commutateur de comp2 esta en estado apagado
cas ' n ': apagarComponente(pin9) ; rupture ;
Cuando el commutateur de comp3 esta en estado encendido
affaire « K »: encenderComponente(pin10) ; rupture ;
Cuando el commutateur de comp3 esta en estado apagado
cas suis ': apagarComponente(pin10) ; rupture ;
Si la aplicación se pausa por ejemplo al salir de la aplicación o al entrar una llamada apaga los motores que están conectados a los pins 5 y 6, y a los pins 2 y 3
para evitar que estos sigan girando y se tenga un contrôle del proyecto, si quieres apagar algo más agrega solo la línea de código que quieres que se ejecute
case « x » :
pararMotor (pin5, pin6) ;
pararMotor (broche 2 et 3) ;
rupture ;
Método de contrôle de velocidad del motor de tracción fr el avoir
case « V » :
if(Serial.available())
{
char toSend3 = (char)Serial.read() ;
Bluetooth.Print(toSend3) ;
{Switch(toSend3)}
fr de base al valor que recibe es la velocidad que el avoir camina 64 es la más baja y 255 la más alta
case « 0 »: modificarVelocidad(64) ; rupture ;
affaire « 1 »: modificarVelocidad(96) ; rupture ;
affaire « 2 »: modificarVelocidad(128) ; rupture ;
affaire « 3 »: modificarVelocidad(172) ; rupture ;
affaire « 4 »: modificarVelocidad(255) ; rupture ;
}
}
rupture ;
} //Fin del interrupteur toSend2
} //Fin de si
rupture ;
}
Sub adelante (int Broche1, int Pin2) {}
analogWrite(Pin1,LOW) ;
analogWrite(Pin2,velocidad) ;
digitalWrite(pin13,HIGH) ;
}
Sub reversa (int Broche1, int Pin2) {}
analogWrite(Pin1,velocidad) ;
analogWrite(Pin2,LOW) ;
digitalWrite(pin13,HIGH) ;
}
void pararMotor (int Broche1, int Pin2) {}
digitalWrite(Pin1,LOW) ;
digitalWrite(Pin2,LOW) ;
digitalWrite(pin13,LOW) ;
}
void modificarVelocidad (int vel) {}
velocidad = vel ;
}
void modificarVelocidad2 (int vel) {}
velocidad2 = vel ;
}
void giro_izquierda (int Broche1, int Pin2) {}
digitalWrite(Pin2,LOW) ;
digitalWrite(Pin1,velocidad2) ;
digitalWrite(pin13,HIGH) ;
}
void giro_derecha (int Broche1, int Pin2) {}
digitalWrite(Pin2,velocidad2) ;
digitalWrite(Pin1,LOW) ;
digitalWrite(pin13,HIGH) ;
}
void encenderLuz (int Pin) {}
digitalWrite(Pin,HIGH) ;
}
void apagarLuz (int Pin) {}
digitalWrite(Pin,LOW) ;
}
void encenderComponente (int Pin) {}
digitalWrite(Pin,HIGH) ;
}
void apagarComponente (int Pin) {}
digitalWrite(Pin,LOW) ;
}
void encenderPin (int Pin) {}
digitalWrite (Pin, élevé) ;
}
void apagarPin (int Pin) {}
digitalWrite (Pin, faible) ;
}