Macchina RC RX2 Chip Bluetooth

Salve, volevo realizzare una macchina telecomandata via bluetooth senza usare alcun genere di ponte H, ma bensi’ il ponte H interno insieme al chip RX2. Solo che ho dei problemi a fondere i codici.

Questo codice ci permette di far muovere in loop le ruote posteriori in avanti:
PS: preso da una topic sempre su questo forum https://forum.arduino.cc/index.php?topic=171238.0

void setup()
{
 pinMode(11, OUTPUT);
}

void loop()
{
 for(int i=0; i<=3; i++) // This starts the communication 4 W2 pulses 1KHz 75% duty cycle 
 {
   digitalWrite(11, HIGH);
   delayMicroseconds(1500);

   digitalWrite(11, LOW);
   delayMicroseconds(500);
 }
 for(int i=0; i<=9; i++) // This makes the car go "forward" 10 W1 pulses 500Mhz 50% duty cycle
 {
   digitalWrite(11, HIGH);
   delayMicroseconds(500);

   digitalWrite(11, LOW);
   delayMicroseconds(500);
 }
}

Mente questo codice demo serve per far muovere le ruote con qualsiasi combinazione (avanti, indietro, avanti destra , indietro sinistra ecc…).
PS: Non riesco a trovare la fonte del codice

void setup(){
 pinMode(11, OUTPUT);  
}

void loop(){
  
  unsigned long startms;  

  
  startms = millis();
  while(millis() - startms < 2000) {  
    FWD();
  }

  delay(1000);      
  
  startms = millis();
  while(millis() - startms < 2000) {
    BAK();
  }

  delay(1000);
  
  startms = millis();
  while(millis() - startms < 2000) {
    LEFTFWD();
  }

  delay(1000);
  
    startms = millis();
  while(millis() - startms < 2000) {
    RIGHTFWD();
  }

  delay(1000);
  
  startms = millis();
  while(millis() - startms < 2000) {
    LEFTBAK();
  }

  delay(1000);
  
  startms = millis();
  while(millis() - startms < 2000) {
    RIGHTBAK();
  }

  delay(1000);
  
  startms = millis();
  while(millis() - startms < 2000) {
    LEFTSPIN();
  }

  delay(1000);
  
  startms = millis();
  while(millis() - startms < 2000) {
    RIGHTSPIN();
  }

  delay(1000); 
}


void command(int mode) {
 for(int i=0; i<=3; i++) 
 {             
   digitalWrite(11, HIGH);
   delayMicroseconds(1500);

   digitalWrite(11, LOW);
   delayMicroseconds(500);
 }

 for(int i=0; i<mode; i++) 
 {              
   digitalWrite(11, HIGH);
   delayMicroseconds(500);

   digitalWrite(11, LOW);
   delayMicroseconds(500);
 }
 
}


void FWD(){
  command(28);
}


void BAK(){
  command(46);
}

void LEFTFWD(){
  command(58);
}

void RIGHTFWD(){
  command(10);
}

void LEFTBAK(){
  command(64);
}

void RIGHTBAK(){
  command(40);
}

void LEFTSPIN(){
  command(52);
}

void RIGHTSPIN(){
  command(34);
}

Questo codice permette di accendere un led con un’app specifica sul cellulare:

char data = 0;                //Variable for storing received data
void setup() 
{
  Serial.begin(9600);         //Sets the data rate in bits per second (baud) for serial data transmission
  pinMode(13, OUTPUT);        //Sets digital pin 13 as output pin
}





void loop()
{
  if(Serial.available() > 0)  // Send data only when you receive data:
  {
    data = Serial.read();      //Read the incoming data and store it into variable data
    Serial.print(data);        //Print Value inside data in Serial monitor
    Serial.print("\n");        //New line 
    if(data == '1')            //Checks whether value of data is equal to 1 
      digitalWrite(13, HIGH);  //If value is 1 then LED turns ON
    else if(data == '0')       //Checks whether value of data is equal to 0
      digitalWrite(13, LOW);   //If value is 0 then LED turns OFF
  }                            
 
}

Potreste dirmi dove devo mettere le istruzioni condizionali nel secondo codice grazie :).

TX2RX2.doc (328 KB)

uprav42-13.png