0
私の論文には助けが必要です。スイッチ1、スイッチ2、スイッチ3の動作が完全に動作しています。アルドゥイノの操作の有効/無効スイッチまたはピン
フローチャートに見られるように、スイッチ1とスイッチ2を中断しないように、スイッチ2と3を無効にする必要があります。次に、最初にスイッチ1をオンにし、スイッチ1の動作が終了した直後にスイッチ1をディセーブルにし、スイッチ2をイネーブルにする必要があります。スイッチ2をイネーブルにした後
、それはスイッチ2の操作を中断することができないように1と3は無効のままにすべき、とスイッチ2がオフになっているときに、それが無効になった後、有効にした後スイッチ3.
を有効にする必要があります切り替えますスイッチ3、スイッチ1およびスイッチは無効になり、スイッチ3の動作を中断できません。スイッチ3をオフにした後、スイッチ3は最初に戻るはずです。私はここでArduinoのメガ2560
をコードしてい
は私のコード各あなたをください、ボタン、チェックのための状態で、ステート・マシンを作った
void loop() {
// put your main code here, to run repeatedly:
buttonState1 = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
buttonState3 = digitalRead(buttonPin3);
if (buttonState1 == HIGH && buttonState2 == LOW && buttonState3 == LOW && counter == 1) {
plantMode();
} else if (buttonState1 == LOW && buttonState2 == HIGH && buttonState3 == LOW && counter == 2) {
maintenance();
} else if (buttonState1 == LOW && buttonState2 == LOW && buttonState3 == HIGH && counter == 3) {
harvestMode();
} else {
if (counter == 1) {
lcd.setCursor(0, 0);
lcd.print(" SWITCH ON ");
lcd.setCursor(0, 1);
lcd.print(" PLANTING MODE ");
digitalWrite(valve, HIGH);
delay(500);
} else if (counter == 2) {
lcd.setCursor(0, 0);
lcd.print(" SWITCH ON ");
lcd.setCursor(0, 1);
lcd.print("MAINTENANCE MODE");
digitalWrite(valve, HIGH);
delay(500);
} else {
lcd.setCursor(0, 0);
lcd.print(" SWITCH ON ");
lcd.setCursor(0, 1);
lcd.print(" HARVEST MODE ");
digitalWrite(valve, HIGH);
delay(500);
}
}
}
あなたのコードは現在何をしていますか、正確にどこに貼り付けられていますか?誰かにあなたのためにデバッグをやりたい、そして/またはあなたのためにそれを書くことを望むなら、私はあなたが失望してしまうのではないかと心配しています。 – halfer