Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| products:aruno:exp5 [2020/05/24 15:50] – alexnik | products:aruno:exp5 [2020/08/27 16:16] (текущий) – alexnik | ||
|---|---|---|---|
| Строка 16: | Строка 16: | ||
| <file cpp Exp5[enable_line_numbers=" | <file cpp Exp5[enable_line_numbers=" | ||
| // инициализация констант | // инициализация констант | ||
| + | |||
| #define LED 2 // | #define LED 2 // | ||
| #define BUTTON 12 // | #define BUTTON 12 // | ||
| // инициализация переменных | // инициализация переменных | ||
| - | int switchState = 0; // текущий уровень сигнала пина кнопки | + | int switchState = 0; // актуальный статус |
| - | int oldSwitchState = 0; // уровень | + | int oldSwitchState = 0; // статус последней проверки кнопки |
| - | int lightsOn = 0; // статус светодиода on = 1 или off = 0 | + | boolean |
| void setup() { | void setup() { | ||
| - | pinMode(BUTTON, | + | |
| - | | + | pinMode(LED, |
| - | } | + | } |
| void loop() { | void loop() { | ||
| Строка 35: | Строка 36: | ||
| if (switchState == HIGH) { | if (switchState == HIGH) { | ||
| lightsOn = !lightsOn; | lightsOn = !lightsOn; | ||
| - | | + | } |
| - | } | + | |
| - | if(lightsOn) { | + | |
| digitalWrite(LED, | digitalWrite(LED, | ||
| - | | + | } |
| else { | else { | ||
| digitalWrite(LED, | digitalWrite(LED, | ||
| - | | + | } |
| - | } | + | } |
| </ | </ | ||
| Строка 57: | Строка 58: | ||
| Если значение переменной **switchState** не равно значению переменной **oldSwitchState** (была нажата кнопка), | Если значение переменной **switchState** не равно значению переменной **oldSwitchState** (была нажата кнопка), | ||
| Обратите внимание, | Обратите внимание, | ||
| - | третий оператор **if** проверяет значение переменной '' | + | третий оператор **if** проверяет значение переменной '' |
| - | + | ||
| - | ==== Дополнительные задания ==== | + | |
| - | + | ||
| - | <WRAP center round tip 60%> | + | |
| - | Модифицируй программу так, чтобы светодиод зажигался или выключался только после двух нажатий. Подсказка: | + | |
| - | </ | + | |
| + | Теперь загрузим скетч в контроллер, | ||
| + | Данную проблему и ее решение рассмотрим в следующем эксперименте. | ||