Arduino初心者です。
3色LEDを1色づつ順番に光らせようとしているのですが、colorSwitchが1から進まず、出来ません。
試しにif(colorSwitch = 0){...}else if(colorSwitch = 1){...}else if(colorSwitch = 2){...}を削除してみると、なぜかcolorSwitchのカウンターは回りました。何が間違ってるのかさっぱりです、、、分かる方おられましたらご教授ください。
Arduino
1int red = 9; 2int blue = 10; 3int green = 11; 4int brightnessRed = 0; 5int brightnessGreen = 0; 6int brightnessBlue = 0; 7int fadeAmount = 5; 8int loopCount = 0; 9int colorSwitch = 0; 10 11void setup() { 12 // put your setup code here, to run once: 13 pinMode(red, OUTPUT); 14 pinMode(green, OUTPUT); 15 pinMode(blue, OUTPUT); 16 Serial.begin(9600); 17 18} 19 20void loop() { 21 // put your main code here, to run repeatedly: 22 analogWrite(red, brightnessRed); 23 analogWrite(green, brightnessGreen); 24 analogWrite(blue, brightnessBlue); 25 26 loopCount++; 27 28 if(loopCount >= 103){//Fadeで光って消えるまでのループ回数が102回 29 loopCount = 0; 30 colorSwitch++; 31 } 32 33 if(colorSwitch >= 3){ 34 colorSwitch = 0; 35 } 36 37 38 39 if(colorSwitch = 0){ 40 brightnessRed = brightnessRed + fadeAmount; 41 42 if(brightnessRed == 0 || brightnessRed == 255){ 43 fadeAmount = -fadeAmount; 44 } 45 delay(30); 46 47 }else if(colorSwitch = 1){ 48 brightnessGreen = brightnessGreen + fadeAmount; 49 50 if(brightnessGreen == 0 || brightnessGreen == 255){ 51 fadeAmount = -fadeAmount; 52 } 53 delay(30); 54 55 }else if(colorSwitch = 2){ 56 brightnessBlue = brightnessBlue + fadeAmount; 57 58 if(brightnessBlue == 0 || brightnessBlue == 255){ 59 fadeAmount = -fadeAmount; 60 } 61 delay(30); 62 } 63 64 65 Serial.print("colorSwitch:"); 66 Serial.print(colorSwitch); 67 Serial.print("loopCount:"); 68 Serial.println(loopCount); 69} 70
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/12 08:39