// 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 件のコメント:
コメントを投稿