Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
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%> | + | |
- | Модифицируй программу так, чтобы светодиод зажигался или выключался только после двух нажатий. Подсказка: | + | |
- | </ | + | |
+ | Теперь загрузим скетч в контроллер, | ||
+ | Данную проблему и ее решение рассмотрим в следующем эксперименте. |