• Bluetooth Arduino Carro Robot 1
  • Bluetooth Arduino Carro Robot 2

Bluetooth Arduino Carro Robot

Controllo Arduino via Bluetooth per quattro movimenti principali. Può servire gru, camion, armi e altro ancora.

I dati inviati dalla APP

Arrow N "Norte" = 'n'
Freccia S "Sud" 's' =

Arrow O "Occidente" = "o"
Freccia E "questo" = 'e'

Arrow P "Stop" = 'p'

Green Button "Power" = 'h'
Perno rosso "Off" = 'l'

Home // CODICE
Petto int = 4; // definisce petto come (eco) per ultrasuoni
Ptrig int = 5; // definisce Ptrig come (TRIG) per ultrasuoni
int LaIzAn = 6; // Turn Left Side in senso antiorario
int Laizhou = 7; // Giro Ore Lato sinistro
int LaDeHo = 8; // Ore Lato destro Giro
sezioni int torsione = 9; // Turn Right Side antiorario

Mov int = 255; // motore di movimento (0-255)
int status = 'l'; // inizia arrestati

int length, distanza; // Per calcolare distacia

void setup () {
  Serial.begin (9600); // avviare la porta seriale per la comunicazione con Bluetooth
  pinMode (LaDeHo, OUTPUT);
  pinMode (sezioni torsione, OUTPUT)
  pinMode (Laizhou, OUTPUT);
  pinMode (LaIzAn, OUTPUT);
 
  pinMode (cassa, INPUT); // ho definito come pin di ingresso 4 (eco)
  pinMode (Ptrig, OUTPUT); // definire pin di uscita 5 (trig)
}

void loop () {

  if (Serial.available ()> 0) {// legge e memorizza lo stato del bluetooth
    Stato Serial.read = ();
  }
  if (condizione == 'n') {// progredire "Nord"
    analogWrite (sezioni torsione, 0);
    analogWrite (LaIzAn, 0);
    analogWrite (LaDeHo, Mov);
    analogWrite (Laizhou, Mov);
  }
    if (condizione == 's') {// Spostare indietro "Sur"
    analogWrite (sezioni torsione, Mov);
    analogWrite (LaIzAn, Mov);
    analogWrite (LaDeHo, 0);
    analogWrite (Laizhou, 0);
  }
  
    se (stato == 'o') {// Move LadDerecha "Occidente"
    analogWrite (sezioni torsione, 0);
    analogWrite (LaIzAn, 0);
    analogWrite (Laizhou, 0);
    analogWrite (LaDeHo, Mov);}
    
 
  se (stato == 'e') {// Move LadIzquierdo "Questo"
    analogWrite (sezioni torsione, 0);
    analogWrite (LaIzAn, 0);
    analogWrite (Laizhou, Mov);
    analogWrite (LaDeHo, 0);

  }
 
  se (stato == 'p') {// arresto; Interrompe motori
    analogWrite (sezioni torsione, 0);
    analogWrite (LaIzAn, 0);
    analogWrite (LaDeHo, 0);
    analogWrite (Laizhou, 0);
  
  }

 
  se {// Green Button modalità automatica del sensore ad ultrasuoni (stato == 'h')
 
     digitalWrite (Ptrig, HIGH); // genera l'impulso di trigger per 10US
     ritardo (0,01);
     digitalWrite (Ptrig, LOW);
   
     Durata = pulseIn (petto, HIGH); // leggere l'ora Echo
     distanza = (lunghezza / 2) / 29; // calcola la distanza in piedi
     ritardo (10);
   
     if (distanza <= 15 && distanza> = 2) {// se la distanza è inferiore di 15 cm
      
        analogWrite (sezioni torsione, 0); // Arrestare il motore da 1/4 di secondo
        analogWrite (LaIzAn, 0);
        analogWrite (LaDeHo, 0);
        analogWrite (Laizhou, 0);
        ritardo (250);
      
        analogWrite (LaDeHo, 0);
        analogWrite (Laizhou, 0);
        analogWrite (sezioni torsione, Mov); // per 1/2 secondo Reverse
        analogWrite (LaIzAn, Mov);
        ritardo (500);
      
        analogWrite (sezioni torsione, 0); // Girare per 1 secondo
        analogWrite (LaIzAn, 0);
        analogWrite (LaDeHo, 0);
        analogWrite (Laizhou, Mov);
        ritardo (1000);
      
     }
     else {// Se nessun ostacolo viene spostato in avanti
         analogWrite (sezioni torsione, 0);
         analogWrite (LaIzAn, 0);
         analogWrite (LaDeHo, Mov);
         analogWrite (Laizhou, Mov);
     }
  }
  se (stato == 'l') {// tasto OFF, il motore si ferma.
     analogWrite (sezioni torsione, 0);
     analogWrite (LaIzAn, 0);
     analogWrite (LaDeHo, 0);
     analogWrite (Laizhou, 0);
  }
}
// END CODE
Altri manuali http://manual.netandino.net

Tutti i dettagli del carrello
https://netandino.blogspot.com/2015/02/armar-carro-robot-controlado-por.html

Categoria : Istruzione

Ricerche associate