Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
products:laboratory_iot:exp27 [2020/05/17 22:43] – [Схема эксперимента] labuser29 | products:laboratory_iot:exp27 [2020/05/18 11:20] (текущий) – [Программный код эксперимента] labuser29 | ||
---|---|---|---|
Строка 18: | Строка 18: | ||
==== Программный код эксперимента ==== | ==== Программный код эксперимента ==== | ||
- | <file python | + | <file python |
from machine import Pin | from machine import Pin | ||
import time | import time | ||
Строка 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 | ||
Строка 59: | Строка 62: | ||
draw_time(count) | draw_time(count) | ||
</ | </ | ||
+ | |||
+ | Объявляем переменные и настраиваем кнопку. | ||
+ | <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. | ||
+ | * Сделай обратный счетчик, | ||
+ | </ |