원격 조종

아두이노



#include <SoftwareSerial.h>
#include <Servo.h>

int blueTx=2;
int blueRx=3;
int HandlePin = 12;
int SpeedPin = 9;
int MotorPin1 = 7;
int MotorPin2 = 8;

Servo handle;
SoftwareSerial BTSerial(blueTx, blueRx);

void setup() {  
  BTSerial.begin(9600);
  handle.attach(HandlePin);
  pinMode(MotorPin1, OUTPUT);
  pinMode(MotorPin2, OUTPUT);
  pinMode(SpeedPin, OUTPUT);

  digitalWrite(SpeedPin, HIGH);  
  handle.write(90);
}

void loop() {
  if(BTSerial.available() > 0) {
    int val = BTSerial.read();
    doRemote(val);
  }
}

void doRemote(int val) {
  //HANDLE
  if(val == 'l') {
    handle.write(60);
  } else if(val == 'c') {
    handle.write(90);
  } else if(val == 'r') {
    handle.write(120);
  }

  //MOTOR
  else if(val == 'f') {
    digitalWrite(MotorPin1, HIGH);
    digitalWrite(MotorPin2, LOW);
  } else if(val == 's') {
    digitalWrite(MotorPin1, LOW);
    digitalWrite(MotorPin2, LOW);
  } else if(val == 'b') {
    digitalWrite(MotorPin1, LOW);
    digitalWrite(MotorPin2, HIGH);
  }
}



안드로이드

블루투스 연결














블루투스 신호 보내기