2022年11月28日月曜日

espwroom32 bluetooth crane


 










// espwroom32_bluetooth_crane

#include <BluetoothSerial.h>

BluetoothSerial SerialBT;


#include "ESP32MotorControl.h"

ESP32MotorControl MotorControl = ESP32MotorControl();


#include<Unistep2.h>


int greenled = 26;

int redled = 27;

int yellowled = 32;

int patoled = 33;


int ain1 = 12;

int ain2 = 13;

int bin1 = 14;

int bin2 = 15;


int s1in1 = 16;

int s1in2 = 17;

int s1in3 = 18;

int s1in4 = 19;

int s2in1 = 21;

int s2in2 = 22;

int s2in3 = 23;

int s2in4 = 25;


Unistep2 stepperX(s1in1,s1in2,s1in3,s1in4,40000,500);

Unistep2 stepperY(s2in1,s2in2,s2in3,s2in4,40000,500);


void setup() 

{

  pinMode(greenled,OUTPUT);

  pinMode(redled,OUTPUT);

  pinMode(yellowled,OUTPUT);

  pinMode(patoled,OUTPUT);

  

  pinMode(ain1,OUTPUT);

  pinMode(ain2,OUTPUT);

  pinMode(bin1,OUTPUT);

  pinMode(bin2,OUTPUT);

  

  pinMode(s1in1,OUTPUT);

  pinMode(s1in2,OUTPUT);

  pinMode(s1in3,OUTPUT);

  pinMode(s1in4,OUTPUT);

  pinMode(s2in1,OUTPUT);

  pinMode(s2in2,OUTPUT);

  pinMode(s2in3,OUTPUT);

  pinMode(s2in4,OUTPUT);


  MotorControl.attachMotors(ain1,ain2,bin1,bin2);

  

  digitalWrite(redled,HIGH);

  

  Serial.begin(115200);

  SerialBT.begin("ESPtest");

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


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

  {

    digitalWrite(greenled,HIGH);

    delay(100);

    digitalWrite(greenled,LOW);

    delay(100);

  }


}

  

void loop() 

{     

  if(SerialBT.available())

  

  {     

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

    {

      Forward();

    }


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

    {

      MotorStop();

    }


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

    {

      Back();

    }


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

    {

      TurnRight();

    }


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

    {

      TurnLeft();

    }


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

    {

      JibUp();

    }


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

    {

      JibDown();

    }   


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

    {

      RightRotate();

    }   


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

    {

      LeftRotate();

    }         

       

  }        

}



void Forward()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,LOW);

  MotorControl.motorForward(0,90);

  MotorControl.motorForward(1,100);  

}


void MotorStop()

{

  digitalWrite(yellowled,HIGH);

  digitalWrite(patoled,LOW);

  MotorControl.motorsStop();

}


void Back()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,LOW);

  MotorControl.motorReverse(0,90);

  MotorControl.motorReverse(1,100);

}


void TurnRight()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,LOW);

  MotorControl.motorForward(0,100);

  MotorControl.motorReverse(1,100);

  delay(30);

  MotorStop();

}


void TurnLeft()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,LOW);

  MotorControl.motorReverse(0,100);

  MotorControl.motorForward(1,100);

  delay(30);

  MotorStop();

}


void JibUp()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,HIGH);

  stepperY.move(-30000);

  stepperY.run();

}


void JibDown()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,HIGH);

  stepperY.move(30000);

  stepperY.run(); 

}


void RightRotate()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,HIGH);

  stepperX.move(30000);

  stepperX.run(); 

}


void LeftRotate()

{

  digitalWrite(yellowled,LOW);

  digitalWrite(patoled,HIGH);

  stepperX.move(-30000);

  stepperX.run();  

}


// espwroom32_bluetooth_transmitter2

#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 greenkey1 = 12;

int whitekey1 = 13;

int redkey1 = 14;

int yellowkey1 = 15;

int bluekey1 = 16;


int greenkey2 = 17;

int redkey2 = 19;

int yellowkey2 = 21;

int bluekey2= 22;


int displed = 5;


void setup() 

{

  pinMode(greenkey1,INPUT);

  pinMode(whitekey1,INPUT);

  pinMode(redkey1,INPUT);

  pinMode(yellowkey1,INPUT);

  pinMode(bluekey1,INPUT);

  pinMode(greenkey2,INPUT);

  pinMode(redkey2,INPUT);

  pinMode(yellowkey2,INPUT);

  pinMode(bluekey2,INPUT);

  pinMode(displed,OUTPUT);


  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<=2;i++)

  {

    digitalWrite(displed,HIGH);

    delay(150);

    digitalWrite(displed,LOW);

    delay(150);

  }

  }

  else

  {

    while(!SerialBT.connected(10000))

    {

      Serial.println("Failed to connect");

    }

  }


 if(SerialBT.disconnect())

  {

    Serial.println("Disconnectd Succesfully!");

  }

    

  SerialBT.connect();

 

}


void loop() 

  if(digitalRead(greenkey1) == HIGH )

  {

    SerialBT.write('w');

    Serial.println("w");

  }


  if(digitalRead(whitekey1) == HIGH)

  {

    SerialBT.write('s');

    Serial.println("s");

   

  }


  if(digitalRead(redkey1) == HIGH )

  {

    SerialBT.write('x');

    Serial.println("x");

   

  }  


  if(digitalRead(yellowkey1) == HIGH )

  {

    SerialBT.write('e');

    Serial.println("e");  

  }  


  if(digitalRead(bluekey1) == HIGH )

  {

    SerialBT.write('q');

    Serial.println("q");    

  } 


  if(digitalRead(greenkey2) == HIGH )

  {

    SerialBT.write('d');

    Serial.println("d");  

  }  


     if(digitalRead(redkey2) == HIGH )

  {

    SerialBT.write('a');

    Serial.println("a");   

  }  


     if(digitalRead(yellowkey2) == HIGH )

  {

    SerialBT.write('c');

    Serial.println("c");       

  }  


     if(digitalRead(bluekey2) == HIGH )

  {

    SerialBT.write('z');

    Serial.println("z");   

  }  

}

0 件のコメント:

コメントを投稿