Индикатор П543 (ИЛЦ5-4/7М): описание и основные характеристики
П543 (ИЛЦ5-4/7М) — это четырехразрядный люминесцентный индикатор, применяемый в различных электронных устройствах, включая часы, будильники и таймеры. Основной принцип его работы заключается в использовании технологии катодолюминесценции, где нити накаливания, покрытые специальным веществом — люминофором, начинают излучать свет при пропускании через них электрического тока. Это создает четкое изображение цифр и символов, хорошо различимых даже при слабом освещении.
Достоинства:
- Яркость и контрастность: Индикатор обеспечивает высокую степень видимости цифр, что делает его удобным для чтения в любых условиях, будь то яркий солнечный день или ночное время суток.
- Прочность и долговечность: Корпус индикатора выполнен из материалов, устойчивых к ударам и вибрациям, что значительно продлевает срок его службы.
- Многофункциональность: Способен отображать широкий спектр информации, такой как текущее время (часы, минуты, секунды), дата, дни недели, а также сигналы активированных функций вроде будильников и таймеров.
Недостатки:
- Энергопотребление: Потребляет больше энергии по сравнению с современными технологиями, такими как светодиоды (LED) или жидкокристаллические экраны (LCD). Это может стать проблемой для устройств с ограниченными источниками питания, например, часов на батарейках.
- Источник питания: Требует использования высоких напряжений, что добавляет сложности в проектирование электроники и увеличивает стоимость конечного продукта.
- Угол обзора: Ограниченная видимость изображений при боковом обзоре, что снижает удобство использования некоторых типов устройств.
Срок службы:
Средняя продолжительность работы П543 (ИЛЦ5-4/7М) составляет около 10–15 лет при соблюдении стандартных условий эксплуатации. Однако этот показатель может варьироваться в зависимости от качества используемых комплектующих и окружающей среды.
На платформе Arduino используя индикатор П543 (ИЛЦ5-4/7М) можно собрать часы-будильник.
Часы-будильник на основе индикатора П543 (ИЛЦ5-4/7М) представляют собой уникальное сочетание винтажного стиля и современных технологий. Эти часы отличаются ярким и контрастным изображением, что делает их заметными и легко читаемыми в любом помещении. Благодаря долговечности и устойчивости к внешним воздействиям, такие часы станут отличным дополнением интерьера вашего дома или офиса.
Одним из главных преимуществ часов на П543 является возможность изменения функционала под собственные нужды. Используя платформу Arduino, вы можете добавить различные функции, такие как будильник, таймер, календарь или даже управление умным домом. Ардуино позволяет легко интегрировать дополнительные датчики и исполнительные механизмы, расширяя возможности ваших часов.
Сочетание простоты сборки и гибкости настроек делает создание ретро-часов увлекательным проектом для любителей электроники и DIY. Вы сможете создать уникальный предмет, который будет отражать ваш стиль и предпочтения. Собирая часы самостоятельно, вы получите бесценный опыт работы с электроникой и программированием, а также удовольствие от результата своего труда.
Таким образом, часы на П543 (ИЛЦ5-4/7М) предлагают идеальное сочетание эстетики прошлого и функциональности настоящего. Создавайте, экспериментируйте и наслаждайтесь процессом!
Ниже представлен пример реализации часов на базе индикатора П543 (ИЛЦ5-4/7М) и платформы Arduino.
В данном проекте дополнительно используются компоненты DS3231 и SHT21, которые играют важную роль в обеспечении точности временных данных и мониторинга окружающей среды.
DS3231 — это высокоточный модуль реального времени (RTC), предназначенный для точного отслеживания текущего времени и даты. Он оснащен кварцевым генератором, который обеспечивает стабильность работы независимо от температурных колебаний. Встроенный аккумулятор сохраняет данные даже при отключении основного источника питания, что гарантирует непрерывность работы.
Основные характеристики:
- Высокая точность хода: ±2 ppm (±0.432 секунды в сутки)
- Поддержка календаря до 2100 года
- Интерфейсы связи: I²C
- Возможность подключения внешнего аккумулятора для автономной работы
SHT21 — это точный датчик температуры и влажности, созданный компанией Sensirion. Этот компактный сенсор выделяется своей высокой точностью и низким энергопотреблением, что делает его оптимальным выбором для проектов, связанных с климатическим мониторингом.
Основные характеристики:
- Диапазон измерения температуры: от -40°C до +125°C
- Диапазон измерения относительной влажности: от 0% до 100%
- Интерфейс связи: I²C
- Минимальное потребление энергии: всего несколько микроампер в режиме ожидания
Как работает управление часами:
Часы-будильник содержит два меню, одно для настроек часов, другое для настроек будильника. Управление часами осуществляется при помощи трех кнопок.
Управление часами
- Короткое нажатие кнопки ПРОГ:
- Переключает режимы отображения времени и данных с датчика, при активации режима, на индикатор поочередно выводятся температура, влажность, дата и месяц
- Удерживание кнопки ПРОГ и нажатие кнопки ПЛЮС:
- На индикаторе появится значок ПРГ.
- Далее кнопка ПРОГ позволяет перемещаться по меню установки параметров часов:
- Р1:00 — настройка минут
- Р2:00 — настройка часов
- Р3:00 — установка даты
- Р4:00 — установка месяца
- Р5:00 — установка года
- tt:05 — время отображения температуры
- HH:05 — время отображения влажности
- dd:05 — время отображения даты и месяца
- далее переход в режим часов
Управление будильником
- Короткое нажатие кнопок ПЛЮС и МИНУС:
- Активирует и деактивирует режим работы будильника, при активации этого параметра на индикаторе загорает значок «Колокольчик». Если функция не активна, не будет сигнала будильника в назначенное время.
- Удерживание кнопки ПРОГ и нажатие кнопки МИНУС:
- На индикаторе появится значок БУД.
- Далее кнопка ПРОГ позволяет перемещаться по меню установки времени будильника:
- А1:00 — настройка минут
- А2:00 — настройка часов
- далее переход в режим часов
Распиновка индикатора
Транзисторные ключи
- резисторы 10кОм … 47кОм необходимо подобрать для выравнивания яркости двоеточия и других разрядов индикатора.
Схема управления и подключения датчиков
Скетч
// Подключение сетки #define C1_SET 0 #define C2_SET 1 #define C3_SET 2 #define C4_SET 3 #define C5_SET 4 #define C6_SET 5 // Подключение сегменты-аноды #define A_SEG 6 #define B_SEG 7 #define C_SEG 8 #define D_SEG 9 #define E_SEG 10 #define F_SEG 11 #define G_SEG 12 #define H_SEG 13 // Кнопки #define PROG A0 // ПРОГ #define UP A1 // ПЛЮС #define DW A2 // МИНУС // Активный зуммер #define BUZZER A3 #include <MsTimer2.h> // // http://rcl-radio.ru/wp-content/uploads/2018/11/MsTimer2.zip #include <Wire.h> #include <EEPROM.h> #include <DS3231.h> //https://github.com/jarzebski/Arduino-DS3231/archive/master.zip #include <SHT21.h> // http://rcl-radio.ru/wp-content/uploads/2025/03/SHT21-Arduino-Library-master.zip DS3231 clock; RTCDateTime DateTime; SHT21 sht; int i,segm,c,segm_dn, ss,mm,hh,dd,mon,gg,wesk,times; int a[4],s_tic, bud,kolorol, prog, timers; int fff; unsigned long times_0, times_1, times_2,times_3; int temp,humidity; bool avto,w,dv_stop, bud_aktiv; int brig = 500; int set_time, set_time_prog, gg_reg, mon_reg, dd_reg, hh_reg, mm_reg, ss_reg; int times_a, times_b, times_c; int set_time_prog_alarm,alarm_mm, alarm_hh; bool zumm=0, zumm_off=0; void setup(){ MsTimer2::set(4, to_Timer);MsTimer2::start(); // timer2 period 4 ms pinMode(C1_SET,OUTPUT); pinMode(C2_SET,OUTPUT);pinMode(C3_SET,OUTPUT); pinMode(C4_SET,OUTPUT);pinMode(C5_SET,OUTPUT);pinMode(C6_SET,OUTPUT); pinMode(A_SEG,OUTPUT); pinMode(B_SEG,OUTPUT);pinMode(C_SEG,OUTPUT); pinMode(D_SEG,OUTPUT);pinMode(E_SEG,OUTPUT);pinMode(F_SEG,OUTPUT); pinMode(G_SEG,OUTPUT);pinMode(H_SEG,OUTPUT);pinMode(BUZZER,OUTPUT); pinMode(PROG,INPUT_PULLUP);pinMode(UP,INPUT_PULLUP);pinMode(DW,INPUT_PULLUP); Wire.begin();clock.begin(); if(EEPROM.read(100)!=0){for(int i=0;i<101;i++){EEPROM.update(i,0);}}// очистка памяти при первом включении avto = EEPROM.read(0); times_a = EEPROM.read(1); times_b = EEPROM.read(2); times_c = EEPROM.read(3); alarm_mm = EEPROM.read(10); alarm_hh = EEPROM.read(11); // clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча } void loop(){ if(set_time==0 && zumm==0){ prog = 1;bud = 1; // управление режимом авто if(digitalRead(PROG)==LOW && digitalRead(UP)==HIGH && digitalRead(DW)==HIGH && avto==0){avto=1;timers=1;EEPROM.update(0,avto);delay(200);} if(digitalRead(PROG)==LOW && digitalRead(UP)==HIGH && digitalRead(DW)==HIGH && avto==1){avto=0;timers=0;EEPROM.update(0,avto);delay(200);} // основное меню настройки часов, установка времени if(digitalRead(PROG)==LOW && digitalRead(UP)==LOW && digitalRead(DW)==HIGH){set_time=1;a[0]=15;a[1]=16;a[2]=17;a[3]=1;delay(2000);} // основное меню настройки будильника if(digitalRead(PROG)==LOW && digitalRead(UP)==HIGH && digitalRead(DW)==LOW){set_time=2;a[0]=15;a[1]=16;a[2]=17;a[3]=2;delay(2000);} if(digitalRead(UP)==LOW && digitalRead(PROG)==HIGH && digitalRead(DW)==HIGH){kolorol = 0;bud_aktiv=1;delay(200);} if(digitalRead(DW)==LOW && digitalRead(PROG)==HIGH && digitalRead(UP)==HIGH){kolorol = 1;bud_aktiv=0;delay(200);} } DateTime=clock.getDateTime();// опрос времени ss = DateTime.second; // секунды mm = DateTime.minute; // минуты hh = DateTime.hour; // часы dd = DateTime.day; // дата mon = DateTime.month; // месяц gg = DateTime.year; // Год if(ss<=times_a+times_b+times_c && avto==1){wesk = 12;} else if(set_time==1){wesk = 12;} else{wesk = DateTime.dayOfWeek;} // День недели (1 - воскресенье, 7 - суббота) temp = sht.getTemperature(); // Температура humidity = sht.getHumidity(); // Влажность gg_reg = gg-2000; mon_reg = mon; dd_reg = dd; hh_reg = hh; mm_reg = mm; ss_reg = ss; if(set_time==1){ prog = 0; bud = 1;dv_stop = 0;s_tic = 0; if(digitalRead(PROG)==LOW){set_time_prog++;if(set_time_prog>8){set_time_prog=0;set_time=0;}delay(200);} if(set_time_prog==0 && (digitalRead(UP)==LOW || digitalRead(DW)==LOW)){ss_reg = 0;clock.setDateTime(gg_reg+2000, mon_reg, dd_reg, hh_reg, mm_reg, ss_reg);delay(100);} if(set_time_prog==0){a[0]=18;a[1]=0;a[2]=ss_reg/10;a[3]=ss_reg%10;} if(set_time_prog==1 && digitalRead(UP)==LOW){mm_reg ++;if(mm_reg>59){mm_reg=59;}clock.setDateTime(gg_reg+2000, mon_reg, dd_reg, hh_reg, mm_reg, ss_reg);delay(100);} if(set_time_prog==1 && digitalRead(DW)==LOW){mm_reg --;if(mm_reg<0){mm_reg=0;}clock.setDateTime(gg_reg+2000, mon_reg, dd_reg, hh_reg, mm_reg, ss_reg);delay(100);} if(set_time_prog==1){a[0]=18;a[1]=1;a[2]=mm_reg/10;a[3]=mm_reg%10;} if(set_time_prog==2 && digitalRead(UP)==LOW){hh_reg ++;if(hh_reg>23){hh_reg=23;}clock.setDateTime(gg_reg+2000, mon_reg, dd_reg, hh_reg, mm_reg, ss_reg);delay(100);} if(set_time_prog==2 && digitalRead(DW)==LOW){hh_reg --;if(hh_reg<0){hh_reg=0;}clock.setDateTime(gg_reg+2000, mon_reg, dd_reg, hh_reg, mm_reg, ss_reg);delay(100);} if(set_time_prog==2){a[0]=18;a[1]=2;a[2]=hh_reg/10;a[3]=hh_reg%10;} if(set_time_prog==3 && digitalRead(UP)==LOW){dd_reg ++;if(dd_reg>31){dd_reg=31;}clock.setDateTime(gg_reg+2000, mon_reg, dd_reg, hh_reg, mm_reg, ss_reg);delay(100);} if(set_time_prog==3 && digitalRead(DW)==LOW){dd_reg --;if(dd_reg<1){dd_reg=1;}clock.setDateTime(gg_reg+2000, mon_reg, dd_reg, hh_reg, mm_reg, ss_reg);delay(100);} if(set_time_prog==3){a[0]=18;a[1]=3;a[2]=dd_reg/10;a[3]=dd_reg%10;} if(set_time_prog==4 && digitalRead(UP)==LOW){mon_reg ++;if(mon_reg>12){mon_reg=12;}clock.setDateTime(gg_reg+2000, mon_reg, dd_reg, hh_reg, mm_reg, ss_reg);delay(100);} if(set_time_prog==4 && digitalRead(DW)==LOW){mon_reg --;if(mon_reg<1){mon_reg=1;}clock.setDateTime(gg_reg+2000, mon_reg, dd_reg, hh_reg, mm_reg, ss_reg);delay(100);} if(set_time_prog==4){a[0]=18;a[1]=4;a[2]=mon_reg/10;a[3]=mon_reg%10;} if(set_time_prog==5 && digitalRead(UP)==LOW){gg_reg ++;if(gg_reg>99){mon_reg=99;}clock.setDateTime(gg_reg+2000, mon_reg, dd_reg, hh_reg, mm_reg, ss_reg);delay(100);} if(set_time_prog==5 && digitalRead(DW)==LOW){gg_reg --;if(gg_reg<25){mon_reg=25;}clock.setDateTime(gg_reg+2000, mon_reg, dd_reg, hh_reg, mm_reg, ss_reg);delay(100);} if(set_time_prog==5){a[0]=18;a[1]=5;a[2]=gg_reg/10;a[3]=gg_reg%10;} if(set_time_prog==6 && digitalRead(UP)==LOW){times_a ++;if(times_a>10){times_a=10;}EEPROM.update(1,times_a);delay(100);} if(set_time_prog==6 && digitalRead(DW)==LOW){times_a --;if(times_a<0){times_a=0;};EEPROM.update(1,times_a);delay(100);} if(set_time_prog==6){a[0]=17;a[1]=1;a[2]=times_a/10;a[3]=times_a%10;} if(set_time_prog==7 && digitalRead(UP)==LOW){times_b ++;if(times_b>10){times_b=10;}EEPROM.update(2,times_b);delay(100);} if(set_time_prog==7 && digitalRead(DW)==LOW){times_b --;if(times_b<0){times_b=0;};EEPROM.update(2,times_b);delay(100);} if(set_time_prog==7){a[0]=17;a[1]=2;a[2]=times_b/10;a[3]=times_b%10;} if(set_time_prog==8 && digitalRead(UP)==LOW){times_c ++;if(times_c>10){times_c=10;}EEPROM.update(3,times_c);delay(100);} if(set_time_prog==8 && digitalRead(DW)==LOW){times_c --;if(times_c<0){times_c=0;};EEPROM.update(3,times_c);delay(100);} if(set_time_prog==8){a[0]=17;a[1]=3;a[2]=times_c/10;a[3]=times_c%10;} } if(set_time==2){ prog = 1; bud = 0;dv_stop = 0;s_tic = 1; if(digitalRead(PROG)==LOW){set_time_prog_alarm++;if(set_time_prog_alarm>1){set_time_prog_alarm=0;set_time=0;}delay(200);} if(set_time_prog_alarm==0 && digitalRead(UP)==LOW){alarm_mm ++;if(alarm_mm>59){alarm_mm=59;}EEPROM.update(10,times_a);delay(100);} if(set_time_prog_alarm==0 && digitalRead(DW)==LOW){alarm_mm --;if(alarm_mm<0){alarm_mm=0;};EEPROM.update(10,times_a);delay(100);} if(set_time_prog_alarm==0){a[0]=19;a[1]=0;a[2]=alarm_mm/10;a[3]=alarm_mm%10;} if(set_time_prog_alarm==1 && digitalRead(UP)==LOW){alarm_hh ++;if(alarm_hh>23){alarm_hh=23;}EEPROM.update(11,times_a);delay(100);} if(set_time_prog_alarm==1 && digitalRead(DW)==LOW){alarm_hh --;if(alarm_hh<0){alarm_hh=0;};EEPROM.update(11,times_a);delay(100);} if(set_time_prog_alarm==1){a[0]=19;a[1]=1;a[2]=alarm_hh/10;a[3]=alarm_hh%10;} } if(set_time==0){ if(avto==1){ if(ss < times_a){dv_stop = 0;s_tic = 0; a[0]=temp/10;a[1]=temp%10;a[2]=13;a[3]=14;} // вывод темпер. if(ss >= times_a && ss <=times_a+times_b){dv_stop = 0;s_tic = 0; a[0]=10;a[1]=11;a[2]=humidity/10;a[3]=humidity%10;} // вывод влажн. if(ss > times_a+times_b && ss <=times_a+times_b+times_c){dv_stop = 0;s_tic = 1; a[0]=dd/10;a[1]=dd%10;a[2]=mon/10;a[3]=mon%10;} // вывод дата месяц. if(ss > times_a+times_b+times_c){ dv_stop=1;timm();} // вывод время }else{ dv_stop=1;timm();} // если авто = 0, то выводить только время // мигание двоеточия if(dv_stop==1){ mig_dv();} } // set_time == 0 if( (hh*100+mm == alarm_hh*100+alarm_mm) && bud_aktiv==1 && zumm_off==0){zumm = 1;} if(hh*100+mm != alarm_hh*100+alarm_mm){zumm = 0;zumm_off=0;} if(zumm==1 && (digitalRead(UP)==LOW || digitalRead(DW)==LOW)){zumm=0;zumm_off=1;delay(200);} if(zumm==1 && zumm_off==0){digitalWrite(BUZZER,HIGH);} if(zumm==0){digitalWrite(BUZZER,LOW);} delay(100); digitalWrite(BUZZER,LOW); } void to_Timer(){ switch(i){ case 0: segm=12; setka();segment(1); delayMicroseconds(brig); segm_dn=wesk; c=5; setka();dn(bud); break; case 1: segm=12; setka();segment(1); delayMicroseconds(brig); segm=a[0]; c=4; setka();segment(1); break; case 2: segm=12; setka();segment(1); delayMicroseconds(brig); segm=a[1]; c=3; setka();segment(kolorol); break; case 3: segm=12; setka();segment(1); delayMicroseconds(brig); segm=s_tic; c=2; setka();tic(); break; case 4: segm=12; setka();segment(1); delayMicroseconds(brig); segm=a[2]; c=1; setka();segment(prog); break; case 5: segm=12; setka();segment(1); delayMicroseconds(brig); segm=a[3]; c=0; setka();segment(timers); break; }i++;if(i>5){i=0;}} void segment(bool hhh){ switch(segm){ case 0: ch(A_SEG,0);ch(B_SEG,0);ch(C_SEG,0);ch(D_SEG,0);ch(E_SEG,0);ch(F_SEG,0);ch(G_SEG,1);ch(H_SEG,hhh);break;// 0 case 1: ch(A_SEG,1);ch(B_SEG,0);ch(C_SEG,0);ch(D_SEG,1);ch(E_SEG,1);ch(F_SEG,1);ch(G_SEG,1);ch(H_SEG,hhh);break;// 1 case 2: ch(A_SEG,0);ch(B_SEG,0);ch(C_SEG,1);ch(D_SEG,0);ch(E_SEG,0);ch(F_SEG,1);ch(G_SEG,0);ch(H_SEG,hhh);break;// 2 case 3: ch(A_SEG,0);ch(B_SEG,0);ch(C_SEG,0);ch(D_SEG,0);ch(E_SEG,1);ch(F_SEG,1);ch(G_SEG,0);ch(H_SEG,hhh);break;// 3 case 4: ch(A_SEG,1);ch(B_SEG,0);ch(C_SEG,0);ch(D_SEG,1);ch(E_SEG,1);ch(F_SEG,0);ch(G_SEG,0);ch(H_SEG,hhh);break;// 4 case 5: ch(A_SEG,0);ch(B_SEG,1);ch(C_SEG,0);ch(D_SEG,0);ch(E_SEG,1);ch(F_SEG,0);ch(G_SEG,0);ch(H_SEG,hhh);break;// 5 case 6: ch(A_SEG,0);ch(B_SEG,1);ch(C_SEG,0);ch(D_SEG,0);ch(E_SEG,0);ch(F_SEG,0);ch(G_SEG,0);ch(H_SEG,hhh);break;// 6 case 7: ch(A_SEG,0);ch(B_SEG,0);ch(C_SEG,0);ch(D_SEG,1);ch(E_SEG,1);ch(F_SEG,1);ch(G_SEG,1);ch(H_SEG,hhh);break;// 7 case 8: ch(A_SEG,0);ch(B_SEG,0);ch(C_SEG,0);ch(D_SEG,0);ch(E_SEG,0);ch(F_SEG,0);ch(G_SEG,0);ch(H_SEG,hhh);break;// 8 case 9: ch(A_SEG,0);ch(B_SEG,0);ch(C_SEG,0);ch(D_SEG,0);ch(E_SEG,1);ch(F_SEG,0);ch(G_SEG,0);ch(H_SEG,hhh);break;// 9 case 10: ch(A_SEG,1);ch(B_SEG,0);ch(C_SEG,0);ch(D_SEG,1);ch(E_SEG,0);ch(F_SEG,0);ch(G_SEG,0);ch(H_SEG,hhh);break;// Н case 11: ch(A_SEG,1);ch(B_SEG,1);ch(C_SEG,1);ch(D_SEG,1);ch(E_SEG,1);ch(F_SEG,1);ch(G_SEG,0);ch(H_SEG,hhh);break;// - case 12: ch(A_SEG,1);ch(B_SEG,1);ch(C_SEG,1);ch(D_SEG,1);ch(E_SEG,1);ch(F_SEG,1);ch(G_SEG,1);ch(H_SEG,hhh);break;// пусто case 13: ch(A_SEG,0);ch(B_SEG,0);ch(C_SEG,1);ch(D_SEG,1);ch(E_SEG,1);ch(F_SEG,0);ch(G_SEG,0);ch(H_SEG,hhh);break;// * градус case 14: ch(A_SEG,0);ch(B_SEG,1);ch(C_SEG,1);ch(D_SEG,0);ch(E_SEG,0);ch(F_SEG,0);ch(G_SEG,1);ch(H_SEG,hhh);break;// C case 15: ch(A_SEG,0);ch(B_SEG,1);ch(C_SEG,0);ch(D_SEG,0);ch(E_SEG,1);ch(F_SEG,0);ch(G_SEG,0);ch(H_SEG,hhh);break;// S case 16: ch(A_SEG,0);ch(B_SEG,1);ch(C_SEG,1);ch(D_SEG,0);ch(E_SEG,0);ch(F_SEG,0);ch(G_SEG,0);ch(H_SEG,hhh);break;// E case 17: ch(A_SEG,1);ch(B_SEG,1);ch(C_SEG,1);ch(D_SEG,0);ch(E_SEG,0);ch(F_SEG,0);ch(G_SEG,0);ch(H_SEG,hhh);break;// t case 18: ch(A_SEG,0);ch(B_SEG,0);ch(C_SEG,1);ch(D_SEG,1);ch(E_SEG,0);ch(F_SEG,0);ch(G_SEG,0);ch(H_SEG,hhh);break;// P case 19: ch(A_SEG,0);ch(B_SEG,0);ch(C_SEG,0);ch(D_SEG,1);ch(E_SEG,0);ch(F_SEG,0);ch(G_SEG,0);ch(H_SEG,hhh);break;// A }} void dn(bool ind_bud){ switch(segm_dn){ case 1: ch(A_SEG,0);ch(B_SEG,1);ch(C_SEG,1);ch(D_SEG,1);ch(E_SEG,ind_bud);ch(F_SEG,1);ch(G_SEG,1);ch(H_SEG,1);break;// ПН case 2: ch(A_SEG,1);ch(B_SEG,1);ch(C_SEG,1);ch(D_SEG,1);ch(E_SEG,ind_bud);ch(F_SEG,1);ch(G_SEG,1);ch(H_SEG,0);break;// ВТ case 3: ch(A_SEG,1);ch(B_SEG,1);ch(C_SEG,1);ch(D_SEG,1);ch(E_SEG,ind_bud);ch(F_SEG,0);ch(G_SEG,1);ch(H_SEG,1);break;// СР case 4: ch(A_SEG,1);ch(B_SEG,0);ch(C_SEG,1);ch(D_SEG,1);ch(E_SEG,ind_bud);ch(F_SEG,1);ch(G_SEG,1);ch(H_SEG,1);break;// ЧТ case 5: ch(A_SEG,1);ch(B_SEG,1);ch(C_SEG,0);ch(D_SEG,1);ch(E_SEG,ind_bud);ch(F_SEG,1);ch(G_SEG,1);ch(H_SEG,1);break;// ПТ case 6: ch(A_SEG,1);ch(B_SEG,1);ch(C_SEG,1);ch(D_SEG,1);ch(E_SEG,ind_bud);ch(F_SEG,1);ch(G_SEG,0);ch(H_SEG,1);break;// СБ case 7: ch(A_SEG,1);ch(B_SEG,1);ch(C_SEG,1);ch(D_SEG,0);ch(E_SEG,ind_bud);ch(F_SEG,1);ch(G_SEG,1);ch(H_SEG,1);break;// ВС case 12: ch(A_SEG,1);ch(B_SEG,1);ch(C_SEG,1);ch(D_SEG,1);ch(E_SEG,ind_bud);ch(F_SEG,1);ch(G_SEG,1);ch(H_SEG,1);break;// пусто }} void tic(){ switch(s_tic){ case 0: ch(A_SEG,1);ch(B_SEG,1);ch(C_SEG,1);ch(D_SEG,1);ch(E_SEG,1);ch(F_SEG,1);ch(G_SEG,1);ch(H_SEG,1);break;// _ case 1: ch(A_SEG,1);ch(B_SEG,1);ch(C_SEG,1);ch(D_SEG,1);ch(E_SEG,1);ch(F_SEG,1);ch(G_SEG,1);ch(H_SEG,0);break;// : }} void setka(){ switch(c){ case 0:ch(C1_SET,0);ch(C2_SET,1);ch(C3_SET,1);ch(C4_SET,1);ch(C5_SET,1);ch(C6_SET,1);break; case 1:ch(C1_SET,1);ch(C2_SET,0);ch(C3_SET,1);ch(C4_SET,1);ch(C5_SET,1);ch(C6_SET,1);break; case 2:ch(C1_SET,1);ch(C2_SET,1);ch(C3_SET,0);ch(C4_SET,1);ch(C5_SET,1);ch(C6_SET,1);break; case 3:ch(C1_SET,1);ch(C2_SET,1);ch(C3_SET,1);ch(C4_SET,0);ch(C5_SET,1);ch(C6_SET,1);break; case 4:ch(C1_SET,1);ch(C2_SET,1);ch(C3_SET,1);ch(C4_SET,1);ch(C5_SET,0);ch(C6_SET,1);break; case 5:ch(C1_SET,1);ch(C2_SET,1);ch(C3_SET,1);ch(C4_SET,1);ch(C5_SET,1);ch(C6_SET,0);break; }} void ch(int pin, int logic){digitalWrite(pin,logic);} void mig_dv(){if(millis()-times_0<=500){s_tic = 0;}if(millis()-times_0>500){s_tic = 1;}if(millis()-times_0>1000){times_0=millis();}} void timm(){times = hh*100+mm;a[0]=times/1000;a[1]=times/100%10;a[2]=times/10%10;a[3]=times%10;}
Для нормальной работы индикатора ИЛЦ5-4/7М необходимы следующие параметры питания:
- Напряжение накала: 5 В
- Ток накала: 120 ± 12 мА
- Напряжение анода-сегмента (импульсное): 27 В
- Ток анодов-сегментов (импульсный одного разряда): 12 мА
- Напряжение сетки (импульсное): 27 В
- Ток сетки (импульсный одного разряда): 12 мА
Желательно использовать переменное напряжение для питания катода, чтобы избежать эффекта поляризации и обеспечить равномерное свечение люминофора. Это также продлит срок службы индикатора.
Следует отметить, что в данной статье схема питания не рассматривается.