2016-12-25 11 views
-2

Raspberry PI 3 Windows IOTで実行中のLEDを作成するには問題がありますが、ランダムなLEDの点滅は機能します。 両方のコードはほぼ同じですが、異なるランニングリードのみが可変カウントで制御され、ランダムに生成された がランダムジェネレータで生成されます。Windows 10で実行中のLEDを作成する方法IoT uwp c#

実行中のLEDコードがこのテキストの下にあります。私は最初に光に導かれ、残りのledは暗くなります。誰かがこのコードで何が間違っているのを見ることができますか? しかし、この点滅しているLEDの後に来るランダムな点滅のLEDが動作し、両方のコードはほぼ同じですが、実行中のLEDのコードは動作しません。

実行のLEDコード

private void Timer_Tick(object sender, object e) 
{ 
int ledCheck = 1, ledCheck2 = 1; 
int ledValue = 0, ledValue2 = 0; 
//ledValue2 = 1; 
int checkValue = 0; 


if (ledCheck2 == 1) 
{ 
pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 
ledCheck2 = 0; 

} 
ledValue2 = ledValue2 + 1; 
TextBlock1.Text = ledValue2.ToString(); 
if (ledValue2 == 1) 
{ 
pinValue1 = GpioPinValue.High; 

} 

if (ledValue2 == 2) 
{ 
pinValue2 = GpioPinValue.High; 

} 

if (ledValue == 3) 
{ 
pinValue3 = GpioPinValue.High; 

} 

if (ledValue2 == 4) 
{ 
pinValue4 = GpioPinValue.High; 

} 

if (ledValue2 == 5) 
{ 
pinValue5 = GpioPinValue.High; 

} 

if (ledValue2 == 6) 
{ 
pinValue6 = GpioPinValue.High; 

} 

if (ledValue2 == 7) 
{ 
pinValue7 = GpioPinValue.High; 

} 
if (pinValue1 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.High; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 

} 


if (pinValue2 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.High; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 
} 

if (pinValue3 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.High; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 

} 



if (pinValue4 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.High; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 
} 



if (pinValue5 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.High; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 

} 



if (pinValue6 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.High; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 


} 


​ 
if (pinValue7 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.High; 
pin7.Write(pinValue7); 


} 
TextBlock1.Text = "TEST " + ledValue2.ToString(); 
break; 
} 

ランダム私は光につながっただけで最初のでしょう点滅

private void Timer_Tick(object sender, object e) 
{ 
int ledCheck = 1, ledCheck2 = 1; 
int ledValue = 0, ledValue2 = 0; 
//ledValue2 = 1; 
int checkValue = 0; 

if (ledCheck == 1) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 
ledCheck = 0; 

} 


Random rnd = new Random(); 
ledValue = rnd.Next(1, 8); 

if (ledValue != checkValue) 
{ 
checkValue = ledValue; 
if (ledValue == 1) 
{ 
pinValue1 = GpioPinValue.High; 

} 

if (ledValue == 2) 
{ 
pinValue1 = GpioPinValue.High; 

} 

if (ledValue == 3) 
{ 
pinValue3 = GpioPinValue.High; 

} 

if (ledValue == 4) 
{ 
pinValue4 = GpioPinValue.High; 

} 

if (ledValue == 5) 
{ 
pinValue5 = GpioPinValue.High; 

} 

if (ledValue == 6) 
{ 
pinValue6 = GpioPinValue.High; 

} 

if (ledValue == 7) 
{ 
pinValue7 = GpioPinValue.High; 

} 

if (pinValue1 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.High; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 

} 


if (pinValue2 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.High; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 
} 

if (pinValue3 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.High; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 

} 



if (pinValue4 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.High; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 
} 



if (pinValue5 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.High; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 

} 



if (pinValue6 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.High; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.Low; 
pin7.Write(pinValue7); 


} 



if (pinValue7 == GpioPinValue.High) 
{ 

pinValue1 = GpioPinValue.Low; 
pin.Write(pinValue1); 

pinValue2 = GpioPinValue.Low; 
pin2.Write(pinValue2); 

pinValue3 = GpioPinValue.Low; 
pin3.Write(pinValue3); 

pinValue4 = GpioPinValue.Low; 
pin4.Write(pinValue4); 

pinValue5 = GpioPinValue.Low; 
pin5.Write(pinValue5); 

pinValue6 = GpioPinValue.Low; 
pin6.Write(pinValue6); 

pinValue7 = GpioPinValue.High; 
pin7.Write(pinValue7); 


} 
TextBlock1.Text = "NOT Same value!"; 

} 
else 
{ 
TextBlock1.Text = "Same value!"; 
} 
} 

答えて

1

を率いて、LEDの残りの部分は暗いままです。 誰かがこのコードの何が間違っているのを見ることができますか?

たびはledValue2変数は、この行で0に初期化されTimer_Tick()を入力しているので:

int ledValue = 0, ledValue2 = 0; 

あなたがTimer_Tick()の外にledValue2変数を移動する必要があります。たとえば、MainPageクラスの先頭に置くことができます。このコード行の後に次のコードを追加してledValue2 = ledValue2 + 1としてください。

 if (ledValue2 > 7) 
     { 
      ledValue2 = 0; 
     } 
関連する問題