前提・実現したいこと
LEDを9個接続し真ん中の9番ピンのLEDの発光時にボタンを押すと全てのLEDが発光するものを目指しています。
if文の中が間違っていると思うのですが何をやってもLEDが光るだけでボタンを押しても何も反応しません。
発生している問題・エラーメッセージ
特に出ませんでした。
該当のソースコード
int i; void setup(){ for(i=5;i<14;i++){ pinMode(i, OUTPUT); //LED } pinMode(1, INPUT); //スイッチ pinMode(2, INPUT); //圧電スピーカー } void loop(){ int sw = digitalRead(1); for(i=5;i<14;i++){ digitalWrite(i, HIGH); delay(500); digitalWrite(i, LOW); delay(500); //500msでLEDの発光 } if(sw == HIGH){ //9番ピンのLEDが発光した時にスイッチを押すと以下のif文 if(digitalRead(9)== HIGH){ for(i=5;i<14;i++){ digitalWrite(i, HIGH); } tone(2,261,100); delay(100); tone(2,261,100); delay(100); tone(2,261,100); delay(100); } } }
試したこと
if文の中のif(digitalRead(9) == HIGH)
をif(digitalWrite(9, HIGH))
にしてみましたがエラーが出ました。エラーメッセージは
error: could not convert 'difitalWrite(9u, 1u)' from 'void' to 'bool'
でした
補足情報(FW/ツールのバージョンなど)
。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。