Итак, у меня здесь есть моя программа, я пытаюсь создать программу, в которой мы вручную вытаскиваем провод и устанавливаем его обратно, каждый раз, когда я вытаскиваю его, это 1 итерация, а помещение обратно в 1 итерацию,Когда он подключен к порту, внешний светодиод гаснет, а при его извлечении внешний светодиод горит.Я должен быть в состоянии сделать это в течение 10 итераций и остановиться, когда доберусь туда.
Проблема в том, что я включаю while (true);оператор In, мой внешний светодиод не работает, но без этого оператора программа работает так, как я хочу, за исключением того, что она не перестает работать после 10 итераций, любая помощь приветствуется!
#include<EEPROM.h>
const int LED = 12;
const int SWITCH = 4;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(LED, OUTPUT); //LED is always outputting information
pinMode(LED_BUILTIN, OUTPUT); //Built in LED is always outputting information
pinMode(SWITCH, INPUT_PULLUP); //Switch inputs value when in/out of ground
}
void loop() {
// put your main code here, to run repeatedly:
int addr = 0; //Declaring variables
int count = 0;
int seconds;
if (digitalRead(SWITCH) == LOW) { //If wire starts in ground, record values
Serial.println("----Recording----");
while (count <= 10) { //While count value is less than or equal to 10
if (digitalRead(SWITCH) == LOW) { //When wire is connected to 4
count = count + 1; //Add one to count in each iteration
digitalWrite(LED, LOW); //LED light is off in this position
delay(50); //Checks switch state every 0.05 seconds
}
else if (digitalRead(SWITCH) == HIGH) { //When wire isnt connected to 4
count = count + 1; //Add one to count in each iteration
digitalWrite(LED, HIGH); //LED light is on in this position
delay(50); //Checks switch state every 0.05 seconds
}
while (true);
}
}
}