// 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");
}
}