Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
products:laboratory_iot:exp27 [2020/05/17 22:44] – labuser29 | products:laboratory_iot:exp27 [2020/05/18 11:20] (текущий) – [Программный код эксперимента] labuser29 | ||
---|---|---|---|
Строка 29: | Строка 29: | ||
segments = [14, 13, 4, 5, 12, 16, 15] # ABCDEFG | segments = [14, 13, 4, 5, 12, 16, 15] # ABCDEFG | ||
+ | for s in segments: | ||
+ | led = Pin(s, Pin.OUT).off() | ||
+ | | ||
digits = [ | digits = [ | ||
[1, 1, 1, 1, 1, 1, 0], # 0 | [1, 1, 1, 1, 1, 1, 0], # 0 | ||
Строка 60: | Строка 63: | ||
</ | </ | ||
- | Логика работы программы аналогична прошлому эксперименту, | + | Объявляем переменные и настраиваем кнопку. |
+ | <code python [enable_line_numbers=" | ||
+ | button = Pin(0, Pin.IN) | ||
+ | state_old = 1 | ||
+ | count = 0 | ||
+ | </ | ||
+ | |||
+ | В переменной '' | ||
+ | |||
+ | |||
+ | Логика работы программы аналогична прошлому эксперименту, | ||
+ | |||
+ | <code python [enable_line_numbers=" | ||
+ | new_state = button.value() | ||
+ | if new_state == 0 and state_old == 1: | ||
+ | count = count + 1 | ||
+ | </ | ||
+ | |||
+ | Проверяем не переполнился ли счетчик, | ||
+ | |||
+ | <code python [enable_line_numbers=" | ||
+ | if count > 9: | ||
+ | count = 0 | ||
+ | </ | ||
+ | |||
+ | Записываем текущее состояние кнопки как старое и отображаем текущее состояние счетчика нажатий на дисплее. | ||
+ | |||
+ | <code python [enable_line_numbers=" | ||
+ | state_old = new_state | ||
+ | draw_time(count) | ||
+ | </ | ||
+ | |||
+ | ==== Дополнительные задания ==== | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | * Добавь к цифрам 0..9 еще буквы A, b, C d E F, чтобы счетчик переключал символы от 0 до F. | ||
+ | * Сделай обратный счетчик, | ||
+ | </ |