Skip to content

Instantly share code, notes, and snippets.

@uozias
Created January 19, 2016 05:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save uozias/1c965ef8fc9d5a7cd77c to your computer and use it in GitHub Desktop.
Save uozias/1c965ef8fc9d5a7cd77c to your computer and use it in GitHub Desktop.
int brightness = 0; // LEDの明るさを入れる
int fadeAmount = 5; // 明るさの変更スピードを設定
int received = 0; // 受け取った値(asciiコード)
int final_value = 0; // 変換後の数字
void reset_led(){
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
}
void reset_left(){
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
}
void reset_right(){
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
}
void all_led(){
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
}
void setup() {
Serial.begin(9600); // シリアルポートを9600bpsで開く
//1-6番のピンを使う
// 左
pinMode(2, OUTPUT); //R
pinMode(3, OUTPUT); //G
pinMode(4, OUTPUT); //B
// 右
pinMode(5, OUTPUT); //R
pinMode(6, OUTPUT); //G
pinMode(7, OUTPUT); //B
reset_led();
}
void loop() {
while(Serial.available()){
received= Serial.read(); // 1(B), 2(G), 3(R)のどれか+0(右)or1(左)をシリアル通信で受け取る
//Serial.println(received);
if (isDigit(received)) { // 数字を受け取る
final_value=(final_value*10)+(received-48);
//Serial.println(final_value);
}else if(received == 165){ // ¥を押すと、入力終わり
Serial.println(final_value);
switch (final_value) { // 受け取った数字に応じてLED光らせる
case 1:
// 左 R
reset_left();
digitalWrite(2, HIGH);
break;
case 2:
// 左 G
reset_left();
digitalWrite(3, HIGH);
break;
case 3:
// 左 B
reset_left();
digitalWrite(4, HIGH);
break;
case 4:
// 右 R
reset_right();
digitalWrite(5, HIGH);
break;
case 5:
// 右 G
reset_right();
digitalWrite(6, HIGH);
break;
case 6:
// 右 B
reset_right();
digitalWrite(7, HIGH);
break;
default:
all_led(); // 全部つける
}
final_value = 0;
received = 999;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment