функциональность:Ардуино Кнопка не на непрерывной последовательной «1»
Последовательный монитор печати «0» на каждые 100 мс, сигнализации о том, что buttonState является низким.
Однако, когда пользователь нажимает кнопку красного купола Red Dome Button, предполагается, что кнопкаState HIGH и на последовательном мониторе должна печатать «1» каждые 100 мс, пока пользователь снова не нажмет кнопку красного купола на что кнопкаState LOW и серийный монитор печатает «0».
Выпуск:
Последовательный монитор выводит «0» на каждые 100 мс на начальном этапе, и когда я нажмите на красную кнопку купола, то buttonState возвращает ВЫСОКИЙ и на последовательном мониторе выводит «1 ». Тем не менее, серийный «1» не удерживается и сразу возвращается к «0».
Последовательный «1» будет отображаться только в последовательном мониторе, когда я нажимаю на кнопку непрерывно.
Значение:
Правильное поведение:
начальное state-> серийный монитор будет выводить все последовательные 0, пока пользователь не нажмет на кнопку, то серийный монитор будет выводить все последовательные 1 до пользователь нажимает кнопку снова, то выход будет меняться к серийному 0
Текущее поведение:
я nitial state-> последовательный монитор выводит все последовательные 0 до тех пор, пока пользователь не нажмет кнопку, после чего последовательный монитор выдает серийный номер 1, но сразу же, серийный номер вернется к 0
Следовательно, как включить последовательное состояние, чтобы оно оставалось на последовательный 1 после того, как я нажму кнопку, и серийный номер будет показывать только 0, только когда я снова нажму кнопку? Мне нужна помощь в этом. Спасибо
Код:
const int buttonPin = 2; // the number of the pushbutton pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
Serial.begin(9600); // Open serial port to communicate
}
void loop() {
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
Serial.println("1");
}
else {
Serial.println("0");
}
delay(100);
}
кнопка 2 государства действует как переключатель, где когда нажата пользователем, он будет замкнуть цепь и когда нажата снова, он будет размыкать цепь. Я в этом прав? так что, по-видимому, физическая кнопка, которая у меня есть, - это только кнопка прерывания. я прав? – Luke
Я думаю, что ваша кнопка, как вы говорите. Работает ли код? – dubafek
да, сделал. спасибо – Luke