2022年11月17日木曜日

espwroom32 bluetooth ftmc04 car and espwroom32 bluetooth transmitter


 








// espwroom32_bluetooth_ftmc04_car

#include <BluetoothSerial.h>

BluetoothSerial SerialBT;

#include <ESP32Servo.h>

Servo RightServo;

Servo LeftServo;


int greenled = 12;

int whiteled = 13;

int redled = 14;

int yellowled = 15;

int blueled = 16;


int RightServoPin = 22;

int LeftServoPin = 23;

int pos = 0;


void setup() 

{

  pinMode(greenled,OUTPUT);

  pinMode(whiteled,OUTPUT);

  pinMode(redled,OUTPUT);

  pinMode(yellowled,OUTPUT);

  pinMode(blueled,OUTPUT);


  LedTest();

  

  Serial.begin(115200);

  SerialBT.begin("ESPtest");

  Serial.println("The device started.");

  for(int i =0;i<3;i++)

  {

    digitalWrite(greenled,HIGH);

    delay(50);

    digitalWrite(greenled,LOW);

    delay(50);

  } 


  RightServo.attach(RightServoPin,1000,2000);

  LeftServo.attach(LeftServoPin,1000,2000);


}

  

void loop() 

  if(SerialBT.available())

  {   

    if(SerialBT.read() == 'u')

    {

      digitalWrite(greenled,HIGH);

      digitalWrite(whiteled,LOW);

      digitalWrite(redled,LOW);

      digitalWrite(yellowled,LOW);

      digitalWrite(blueled,LOW);

      Forward();

    }


    if(SerialBT.read() == 'j')

    {

      digitalWrite(greenled,LOW);

      digitalWrite(whiteled,HIGH);

      digitalWrite(redled,LOW);

      digitalWrite(yellowled,LOW);

      digitalWrite(blueled,LOW);

      MotorStop();

    }


    if(SerialBT.read() == 'm')

    {

      digitalWrite(greenled,LOW);

      digitalWrite(whiteled,LOW);

      digitalWrite(redled,HIGH);

      digitalWrite(yellowled,LOW);

      digitalWrite(blueled,LOW);

      Back();

    }


    if(SerialBT.read() == 'k')

    {

      digitalWrite(greenled,LOW);

      digitalWrite(whiteled,LOW);

      digitalWrite(redled,LOW);

      digitalWrite(yellowled,HIGH);

      digitalWrite(blueled,LOW);

      TurnRight();

    }


    if(SerialBT.read() == 'h')

    {

      digitalWrite(greenled,LOW);

      digitalWrite(whiteled,LOW);

      digitalWrite(redled,LOW);

      digitalWrite(yellowled,LOW);

      digitalWrite(blueled,HIGH);

      TurnLeft();

    }   

  }        

}


void LedTest()

{

   for(int i =0;i<1;i++)

  {

    digitalWrite(greenled,HIGH);

    delay(500);

    digitalWrite(greenled,LOW);

    delay(500);  

    digitalWrite(yellowled,HIGH);

    delay(500);

    digitalWrite(yellowled,LOW);

    delay(500);  

    digitalWrite(redled,HIGH);

    delay(500);

    digitalWrite(redled,LOW);

    delay(500);  

    digitalWrite(blueled,HIGH);

    delay(500);

    digitalWrite(blueled,LOW);

    delay(500); 

    digitalWrite(whiteled,HIGH);

    delay(500);

    digitalWrite(whiteled,LOW);

    delay(500);      

  }

}


void ServoSet()

{

  RightServo.attach(RightServoPin,1000,2000);

  LeftServo.attach(LeftServoPin,1000,2000);    

}


void Forward()

{

  ServoSet();

  for(pos=10;pos<=170;pos +=1)

  {

    RightServo.write(pos);

    LeftServo.write(pos);

  }

}


void MotorStop()

{

  RightServo.detach();

  LeftServo.detach();

}


void Back()

{

  ServoSet();

  for(pos=170;pos>=10;pos -=1)

  {

    RightServo.write(pos);

    LeftServo.write(pos);

  } 

}


void TurnRight()

{

  ServoSet();

  RightServo.detach();

  for(pos=10;pos<=170;pos +=1)

  {    

    LeftServo.write(pos);

  } 

  MotorStop();

}


void TurnLeft()

{

  ServoSet(); 

  LeftServo.detach();

  for(pos=10;pos<=170;pos +=1)

  {

    RightServo.write(pos);

  }

  MotorStop();

}


// espwroom32_bluetooth_transmitter

#include <BluetoothSerial.h>

BluetoothSerial SerialBT;

String MACadd = "C8:F0:9E:A8:2E;9E";

uint8_t address[6] = {0xC8,0xF0,0x9E,0xA8,0x2E,0x9E};

bool connected;


int greenled = 12;

int whiteled = 13;

int redled = 14;

int yellowled = 15;

int blueled = 16;


int greenkey = 18;

int whitekey = 19;

int redkey = 21;

int yellowkey = 22;

int bluekey = 23;


void setup() 

{

  pinMode(greenled,OUTPUT);

  pinMode(whiteled,OUTPUT);

  pinMode(redled,OUTPUT);

  pinMode(yellowled,OUTPUT);

  pinMode(blueled,OUTPUT);

  pinMode(greenkey,INPUT);

  pinMode(whitekey,INPUT);

  pinMode(redkey,INPUT);

  pinMode(yellowkey,INPUT);

  pinMode(bluekey,INPUT);


  LedTest();

  

  Serial.begin(115200);

  SerialBT.begin("ESP32test",true);

  Serial.println("The device started in master mode.");

  connected = SerialBT.connect(address);


  if(connected)

  {

   Serial.println("Connected Succesfully!");

   for(int i =0;i<3;i++)

    {

      digitalWrite(greenled,HIGH);

      delay(50);

      digitalWrite(greenled,LOW);

      delay(50);

    } 

  }

   else

  {

    while(!SerialBT.connected(10000))

    {

      Serial.println("Failed to connect");

    }

  }


 if(SerialBT.disconnect())

  {

    Serial.println("Disconnectd Succesfully!");

  }

    

  SerialBT.connect();

  

}


void loop() 

{

  

  if(digitalRead(greenkey) == HIGH )

  {

    SerialBT.write('u');

    digitalWrite(greenled,HIGH);

    digitalWrite(whiteled,LOW);

    digitalWrite(redled,LOW);

    digitalWrite(yellowled,LOW);

    digitalWrite(blueled,LOW);

  }


  if(digitalRead(whitekey) == HIGH)

  {

    SerialBT.write('j');

    digitalWrite(greenled,LOW);

    digitalWrite(whiteled,HIGH);

    digitalWrite(redled,LOW);

    digitalWrite(yellowled,LOW);

    digitalWrite(blueled,LOW);

  }


  if(digitalRead(redkey) == HIGH )

  {

    SerialBT.write('m');

    digitalWrite(greenled,LOW);

    digitalWrite(whiteled,LOW);

    digitalWrite(redled,HIGH);

    digitalWrite(yellowled,LOW);

    digitalWrite(blueled,LOW);

  }  


  if(digitalRead(yellowkey) == HIGH )

  {

    SerialBT.write('k');

    digitalWrite(greenled,LOW);

    digitalWrite(whiteled,LOW);

    digitalWrite(redled,LOW);

    digitalWrite(yellowled,HIGH);

    digitalWrite(blueled,LOW);

  }  


    if(digitalRead(bluekey) == HIGH )

  {

    SerialBT.write('h');

    digitalWrite(greenled,LOW);

    digitalWrite(whiteled,LOW);

    digitalWrite(redled,LOW);

    digitalWrite(yellowled,LOW);

    digitalWrite(blueled,HIGH);

  }  

}


void LedTest()

{

   for(int i =0;i<1;i++)

  {

    digitalWrite(greenled,HIGH);

    delay(500);

    digitalWrite(greenled,LOW);

    delay(500);  

    digitalWrite(yellowled,HIGH);

    delay(500);

    digitalWrite(yellowled,LOW);

    delay(500);  

    digitalWrite(redled,HIGH);

    delay(500);

    digitalWrite(redled,LOW);

    delay(500);  

    digitalWrite(blueled,HIGH);

    delay(500);

    digitalWrite(blueled,LOW);

    delay(500); 

    digitalWrite(whiteled,HIGH);

    delay(500);

    digitalWrite(whiteled,LOW);

    delay(500);      

  }

}

0 件のコメント:

コメントを投稿