Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| products:laboratory_iot:exp17 [2020/05/14 16:43] – [Программный код эксперимента] labuser29 | products:laboratory_iot:exp17 [2024/11/14 11:59] (текущий) – [Эксперимент 17. Индикатор уровня] labuser30 | ||
|---|---|---|---|
| Строка 3: | Строка 3: | ||
| В технике часто применяются индикаторы уровней на светодиодной шкале. Например в звукозаписывающем оборудовании, | В технике часто применяются индикаторы уровней на светодиодной шкале. Например в звукозаписывающем оборудовании, | ||
| - | В левой части платы конструктора имеется 6 светодиодов подходящих по цвету для использования в качестве шкалы. Когда уровень сигнала в пределах нормы, он отображается зеленым, | + | В левой части платы конструктора имеется 6 светодиодов подходящих по цвету для использования в качестве шкалы. Когда уровень сигнала в пределах нормы, он отображается зеленым, |
| Подключим все 6 светодиодов к микроконтроллеру. | Подключим все 6 светодиодов к микроконтроллеру. | ||
| Строка 61: | Строка 61: | ||
| </ | </ | ||
| + | ==== Массивы ==== | ||
| Ранее мы уже много раз сталкивались с // | Ранее мы уже много раз сталкивались с // | ||
| Строка 119: | Строка 120: | ||
| led.on() | led.on() | ||
| </ | </ | ||
| + | |||
| + | Теперь у нас есть 2 функции '' | ||
| + | |||
| + | <code python [enable_line_numbers=" | ||
| + | while True: | ||
| + | value = adc.read() | ||
| + | ledOff() | ||
| + | |||
| + | if value in range(0, | ||
| + | ledOn(1) | ||
| + | elif value in range(171, | ||
| + | ledOn(2) | ||
| + | elif value in range(341, | ||
| + | ledOn(3) | ||
| + | elif value in range(511, | ||
| + | ledOn(4) | ||
| + | elif value in range(681, | ||
| + | ledOn(5) | ||
| + | elif value in range(851, | ||
| + | ledOn(6) | ||
| + | </ | ||
| + | |||
| + | Здесь все просто. Мы считываем значение напряжения с помощью АЦП, выключаем все светодиоды и анализируем сколько светодиодов нужно зажечь. Мы помним, | ||
| + | |||
| + | Если сигнал в интервале от 0 до 170, то мы должны включить 1 светодиод. Если сигнал в интервале от 171 до 340 — зажигаем 2 светодиода и т.д. С помощью оператора '' | ||
| + | |||
| + | ==== Дополнительное задание ==== | ||
| + | <WRAP center round tip 60%> | ||
| + | * Попробуй изменить интервалы, | ||
| + | * Измени 1 строку в программе, | ||
| + | </ | ||
| + | |||