Ecco un esempio di codice Arduino per controllare un veicolo radiocomandato (RC Car) utilizzando un modulo Bluetooth HC-05 o HC-06 e un’applicazione mobile Android. In questo esempio, utilizzeremo un modulo L298N per il controllo dei motori del veicolo. Assicurati di collegare il modulo Bluetooth e il modulo di controllo dei motori all’Arduino correttamente prima di utilizzare questo codice.
#include <AFMotor.h>
AF_DCMotor motor1(1); // Motor 1
AF_DCMotor motor2(2); // Motor 2
AF_DCMotor motor3(3); // Motor 3
AF_DCMotor motor4(4); // Motor 4
char command; // Variabile per immagazzinare i comandi inviati dall'app
void setup() {
Serial.begin(9600); // Imposta la velocità della comunicazione seriale
// Configura i pin dei motori come OUTPUT
motor1.setSpeed(255);
motor2.setSpeed(255);
motor3.setSpeed(255);
motor4.setSpeed(255);
}
void loop(){
if(Serial.available() > 0){ // Se ci sono dati disponibili sulla porta seriale
command = Serial.read(); // Leggi il comando
Stop(); // Fermati per evitare collisioni durante il cambio di direzione
delay(100); // Attendi per garantire che tutti i comandi siano stati ricevuti
}
// Esegui il comando corrispondente
switch(command){
case 'F': // Vai avanti
forward();
break;
case 'B': // Vai indietro
back();
break;
case 'L': // Gira a sinistra
left();
break;
case 'R': // Gira a destra
right();
break;
case 'S': // Fermati
Stop();
break;
}
}
// Funzione per avanzare
void forward(){
motor1.setSpeed(255);
motor1.run(FORWARD);
motor2.setSpeed(255);
motor2.run(FORWARD);
motor3.setSpeed(255);
motor3.run(FORWARD);
motor4.setSpeed(255);
motor4.run(FORWARD);
}
// Funzione per tornare indietro
void back(){
motor1.setSpeed(255);
motor1.run(BACKWARD);
motor2.setSpeed(255);
motor2.run(BACKWARD);
motor3.setSpeed(255);
motor3.run(BACKWARD);
motor4.setSpeed(255);
motor4.run(BACKWARD);
}
// Funzione per girare a sinistra
void left(){
motor1.setSpeed(150);
motor1.run(BACKWARD);
motor2.setSpeed(150);
motor2.run(BACKWARD);
motor3.setSpeed(150);
motor3.run(FORWARD);
motor4.setSpeed(150);
motor4.run(FORWARD);
}
// Funzione per girare a destra
void right(){
motor1.setSpeed(150);
motor1.run(FORWARD);
motor2.setSpeed(150);
motor2.run(FORWARD);
motor3.setSpeed(150);
motor3.run(BACKWARD);
motor4.setSpeed(150);
motor4.run(BACKWARD);
}
// Funzione per fermarsi
void Stop(){
motor1.setSpeed(0);
motor1.run(RELEASE);
motor2.setSpeed(0);
motor2.run(RELEASE);
motor3.setSpeed(0);
motor3.run(RELEASE);
motor4.setSpeed(0);
motor4.run(RELEASE);
}
Nella configurazione hardware, dovresti collegare i motori del veicolo RC al modulo L298N e assicurarti di alimentare il modulo L298N in modo adeguato. Inoltre, collega il modulo Bluetooth (HC-05 o HC-06) al tuo Arduino e assicurati di configurarlo correttamente.
Una volta caricato questo codice sull’Arduino, puoi utilizzare un’applicazione mobile Android che può inviare comandi tramite Bluetooth al tuo Arduino per controllare il veicolo radiocomandato. Puoi creare un’applicazione mobile personalizzata o utilizzare app disponibili sul Play Store che supportano il controllo Bluetooth.