This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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