Это старая версия документа!
В прошлом эксперименте мы научились выводить данные на LED - индикатор. Усовершенствуем немного схему и программу, что бы получить простейший секундомер, который отсчитывает и отображает секунды и будет управляться кнопкой.
Рисунок 1. Электрическая принципиальная схема эксперимента
Токоограничительные резисторы обязательны!
В схеме мы использовали токоограничительные резисторы на каждом светодиоде. Казалось бы проще поставить один резистор на катод, чем по резистору на каждый анод, но нет, такой вариант не является правильным. Дело в том, что ток через резистор будет зависеть от количества включенных сегментов, что будет влиять на их яркость. Иными словами — при переключении цифр на дисплее их яркость будет меняться в зависимости от количества включенных сегментов. Выглядит это очень некрасиво.
int a = 8; int b = 9; int c = 11; int d = 5; int e = 4; int f = 7; int g = 6; int dp = 10; void setup() { int i; for(i=4; i<=11; i++) pinMode(i,OUTPUT); } void loop() { digitalWrite(a,HIGH); digitalWrite(f,HIGH); digitalWrite(g,HIGH); digitalWrite(c,HIGH); digitalWrite(d,HIGH); }
Программа эксперимента довольно простая, назначаем переменным пины контроллера, устанавливаем их в режим вывода и подаем сигнал на нужные.