Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:laboratory_iot:exp25 [2020/05/17 19:54] labuser29products:laboratory_iot:exp25 [2020/05/17 21:03] (текущий) – [Эксперимент 25. 7и сегментный LED индикатор] labuser29
Строка 2: Строка 2:
  
 В современных электронных устройствах часто используются В современных электронных устройствах часто используются
-светодиодные 7-сегментные индикаторы для отображения цифр.+светодиодные или жидко- кристаллические 7-сегментные индикаторы для отображения цифр.
 В этом эксперименте мы изучим устройство такого индикатора. В этом эксперименте мы изучим устройство такого индикатора.
 Индикатор состоит из 7 сегментов, выстроенных по контуру Индикатор состоит из 7 сегментов, выстроенных по контуру
Строка 27: Строка 27:
  
 {{ :products:esp-iot:7s.1.png?nolink |}} {{ :products:esp-iot:7s.1.png?nolink |}}
 +
 +==== Схема эксперимента ====
 +{{ :products:esp-iot:exp9_sch.png?nolink |}}
 +//Рисунок 1. Электрическая принципиальная схема эксперимента//
 +
 +<WRAP center round alert 60%>
 +Токоограничительные резисторы обязательны!
 +</WRAP>
 +
 +В схеме мы использовали токоограничительные резисторы на каждом светодиоде. Казалось бы проще поставить один резистор на катод, чем по резистору на каждый анод, но нет, такой вариант не является правильным. Дело в том, что ток через резистор будет зависеть от количества включенных сегментов, что будет влиять на их яркость. Иными словами — при переключении цифр на дисплее их яркость будет меняться в зависимости от количества включенных сегментов. Выглядит это очень некрасиво.
 +
 +
 +{{ :products:esp-iot:exp9_mont.png?direct&600 |}}
 +//Рисунок 2. Монтажная схема эксперимента//
 +
 +
 +==== Программный код эксперимента ====
 +
 +<file python Exp25.py[enable_line_numbers="2", start_line_numbers_at="1"]>
 +from machine import Pin
 +_init()
 +
 +ledA = Pin(14, Pin.OUT)
 +ledB = Pin(13, Pin.OUT)
 +ledC = Pin(4, Pin.OUT)
 +ledD = Pin(5, Pin.OUT)
 +ledE = Pin(12, Pin.OUT)
 +ledF = Pin(16, Pin.OUT)
 +ledG = Pin(15, Pin.OUT)
 +
 +ledA.on()
 +ledB.off()
 +ledC.on()
 +ledD.on()
 +ledE.off()
 +ledF.on()
 +ledG.on()
 +</file>
 +
 +==== Дополнительное задание ====
 +<WRAP center round tip 60%>
 +  * Измени код программы, чтобы получить другие цифры на дисплее.
 +</WRAP>