Arduinoのプログラムで質問です。
お世話になります。
Arduinoのプログラムで質問が有ります。
下記のプログラムは2番ピンに信号が入ると割り込みで13番ピンのLEDが設定時間点灯します。
ただ、設定時間になると信号が入っていてもLEDは消灯してしまいます。
そこで、信号が入っている間(ボタンが押されている時)はLEDに点灯してもらいたいのです。
2番ピンに入る信号が不安定なのですが、LEDはずーっと点灯してもらいたいのです。
ちなみにDelayは使いたくありません。(わがままスミマセン)
皆様、よろしくお願い致します。
int PinFlag ;
long TimeCount ;
void InterPin()
{
PinFlag = 1 ; // 割込み有ればON
}
void setup()
{
pinMode(13,OUTPUT) ; // 13番ピン付属LED出力
attachInterrupt(0,InterPin, RISING) ; // 2番ピンの割込みを指定(立上がりで割込み)
PinFlag = 0 ;
TimeCount = 0 ;
}
void loop()
{
// 割込み有ればその時点の時刻を保存してLEDを点灯する
while(PinFlag) {
PinFlag = 0 ;
TimeCount = millis() ; // 現在の時刻を保存
digitalWrite(13,HIGH) ; // LEDを点灯
}
// 設定秒間カウントしたらLEDを消灯する
if (TimeCount != 0) {
if ((millis() - TimeCount) >= 1010) {
TimeCount = 0 ;
digitalWrite(13,LOW) ; // LEDを消灯
}
}
}
お礼
返信が遅くなり申し訳ありません. ご回答ありがとうございます. これからもよろしくお願いします.