Auto RC con un modulo Bluetooth

Share

Ecco un esempio di codice Arduino per controllare un’auto RC con un modulo Bluetooth da 4W. Questo codice presumibilmente utilizzerà un’applicazione Bluetooth sullo smartphone per inviare i comandi all’Arduino, che a sua volta guiderà l’auto RC.

// Libreria per la comunicazione Bluetooth
#include <SoftwareSerial.h>

// Definizione dei pin del modulo Bluetooth
#define RX_PIN 10
#define TX_PIN 11

// Variabili per memorizzare i comandi del Bluetooth
char comando = ' '; // carattere ricevuto dal modulo Bluetooth

// Pin per il controllo del motore dell'auto RC
const int motore1Avanti = 3;
const int motore1Indietro = 5;
const int motore2Avanti = 6;
const int motore2Indietro = 9;

void setup() {
  // Inizializza il modulo Bluetooth
  Serial.begin(9600); // Velocità di comunicazione seriale
  pinMode(RX_PIN, INPUT);
  pinMode(TX_PIN, OUTPUT);

  // Inizializza i pin del motore come OUTPUT
  pinMode(motore1Avanti, OUTPUT);
  pinMode(motore1Indietro, OUTPUT);
  pinMode(motore2Avanti, OUTPUT);
  pinMode(motore2Indietro, OUTPUT);
}

void loop() {
  // Leggi il comando ricevuto dal modulo Bluetooth
  if (Serial.available() > 0) {
    comando = Serial.read();
  }

  // Esegui l'azione corrispondente al comando ricevuto
  if (comando == 'F') {
    avanti();
  } else if (comando == 'B') {
    indietro();
  } else if (comando == 'L') {
    sinistra();
  } else if (comando == 'R') {
    destra();
  } else if (comando == 'S') {
    stop();
  }
}

// Funzioni per controllare i motori dell'auto RC
void avanti() {
  digitalWrite(motore1Avanti, HIGH);
  digitalWrite(motore1Indietro, LOW);
  digitalWrite(motore2Avanti, HIGH);
  digitalWrite(motore2Indietro, LOW);
}

void indietro() {
  digitalWrite(motore1Avanti, LOW);
  digitalWrite(motore1Indietro, HIGH);
  digitalWrite(motore2Avanti, LOW);
  digitalWrite(motore2Indietro, HIGH);
}

void sinistra() {
  digitalWrite(motore1Avanti, LOW);
  digitalWrite(motore1Indietro, HIGH);
  digitalWrite(motore2Avanti, HIGH);
  digitalWrite(motore2Indietro, LOW);
}

void destra() {
  digitalWrite(motore1Avanti, HIGH);
  digitalWrite(motore1Indietro, LOW);
  digitalWrite(motore2Avanti, LOW);
  digitalWrite(motore2Indietro, HIGH);
}

void stop() {
  digitalWrite(motore1Avanti, LOW);
  digitalWrite(motore1Indietro, LOW);
  digitalWrite(motore2Avanti, LOW);
  digitalWrite(motore2Indietro, LOW);
}

Assicurati di collegare correttamente il modulo Bluetooth al pin RX_PIN e TX_PIN specificati nel codice. Inoltre, collega i pin del motore dell’auto RC alle corrispondenti uscite del tuo Arduino.

Una volta caricato questo codice sull’Arduino e collegato tutto correttamente, puoi utilizzare un’applicazione Bluetooth sul tuo smartphone per inviare i comandi ‘F’ (avanti), ‘B’ (indietro), ‘L’ (sinistra), ‘R’ (destra) e ‘S’ (stop) all’auto RC tramite il modulo Bluetooth.