2015年8月13日木曜日

ラジコン化

int rightPin = 3;      // LEDはピン9に接続
int leftPin = 5;   // アナログピン3にポテンショメータ

void setup() {
        pinMode(rightPin, OUTPUT);
        pinMode(leftPin, OUTPUT);
Serial.begin(9600); // 9600bpsでシリアルポートを開く
}

void loop() {
char valueC[3];
int count = 0;
if (Serial.available() > 0) { // 受信したデータが存在する
char c = Serial.read(); // 受信データを読み込む
if(c == 'r' || c == 'l'){
int value = 0;
bool flag = true;
count = 0;
                        while (flag){
  if (Serial.available() > 0){
  char c1 = Serial.read(); // 受信データを読み込む
if(c1 == '.'){
flag = false;
}else{
valueC[count] = c1;
count++;
}
}
}
if(count == 3){
value =100*(int(valueC[0])-48)+10*(int(valueC[1])-48)+1*(int(valueC[2])-48);
}else if(count == 2){
value =10*(int(valueC[0])-48)+1*(int(valueC[1])-48);
}else if(count == 1){
value =1*(int(valueC[0])-48);
}
  Serial.print("I received: "); // 受信データを送りかえす
  Serial.print(c);
  Serial.println(value);
  if(c == 'r' ){
                           analogWrite(rightPin, value);
  }else if (c=='l'){
                           analogWrite(leftPin, value);
  }
}
}
}

0 件のコメント:

コメントを投稿