| Ваш IP: 18.207.254.88 | Online(36) - гости: 28, боты: 8 | Загрузка сервера: 1.82 ::::::::::::

Ретро часы на ИВ-22 (Arduino)

На платформе Arduino можно сделать часы на одноразрядных вакуумно-люминисцентных индикаторах ИВ-22. Часы питаются от напряжения 5 В, но в схеме применен стабилизатор 7805 позволяющий использовать напряжение больше 5 В. Если источник питания который Вы используете на напряжение 5 В, то стабилизатор 7805 из схемы нужно исключить.

Часы состоят из нескольких частей:

  • Плата Arduino Nano, Mini или Uno
  • Модуль часов реального времени DS3231
  • Импульсный преобразователь напряжения 27 В
  • Блок индикации

ИВ-22 — люминисцентный семисегментный индикатор зелёного цвета свечения. Индикатор ИВ-22 выполнен в стеклянной колбе с жесткими выводами. Индикация осуществляется через купол баллона. Аноды прибора выполнены в виде семи сегментов и десятичной точки.

#include <MsTimer2.h>
#include <Wire.h> 
#include <DS3231.h>
  DS3231 clock;RTCDateTime DateTime;
  int an, segm,times,i;
  byte a[4];
 
void setup(){  Wire.begin();clock.begin();MsTimer2::set(4, to_Timer);MsTimer2::start();
  // clock.setDateTime(__DATE__, __TIME__); // Устанавливаем время на часах, основываясь на времени компиляции скетча
  clock.setOutput(DS3231_1HZ);
 pinMode(9,OUTPUT);  // D9  === A0
 pinMode(10,OUTPUT); // D10 === A1
 pinMode(11,OUTPUT); // D11 === A2
 pinMode(12,OUTPUT); // D12 === A3
 pinMode(2,OUTPUT);  // D2  === a
 pinMode(3,OUTPUT);  // D3  === b
 pinMode(4,OUTPUT);  // D4  === c
 pinMode(5,OUTPUT);  // D5  === d
 pinMode(6,OUTPUT);  // D6  === e
 pinMode(7,OUTPUT);  // D7  === f
 pinMode(8,OUTPUT);  // D8  === g
}
 
void loop(){ 
  DateTime=clock.getDateTime();// опрос времени
  times = DateTime.hour*100+DateTime.minute;
  a[0]=times/1000;
  a[1]=times/100%10;
  a[2]=times/10%10;
  a[3]=times%10%10;
  }
 
void to_Timer(){
  switch(i){
    case 0: segm=a[0]; an=0; anod(); segment();break;
    case 1: segm=a[1]; an=1; anod(); segment();break;
    case 2: segm=a[2]; an=2; anod(); segment();break;
    case 3: segm=a[3]; an=3; anod(); segment();break;}i++;if(i>3){i=0;}}
 
 
void segment(){
  switch(segm){                                                                 
             //  A       B       C       D       E       F       G  
    case 0: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,1);break;// 0 
    case 1: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,1);break;// 1
    case 2: ch(2,0);ch(3,0);ch(4,1);ch(5,0);ch(6,0);ch(7,1);ch(8,0);break;// 2
    case 3: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,1);ch(7,1);ch(8,0);break;// 3   
    case 4: ch(2,1);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,0);ch(8,0);break;// 4 
    case 5: ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);break;// 5 
    case 6: ch(2,0);ch(3,1);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);break;// 6 
    case 7: ch(2,0);ch(3,0);ch(4,0);ch(5,1);ch(6,1);ch(7,1);ch(8,1);break;// 7 
    case 8: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,0);ch(7,0);ch(8,0);break;// 8
    case 9: ch(2,0);ch(3,0);ch(4,0);ch(5,0);ch(6,1);ch(7,0);ch(8,0);break;// 9  
  }}
void anod(){
  switch(an){                                                             
    case 0:ch(9,0);ch(10,1);ch(11,1);ch(12,1);break;  
    case 1:ch(9,1);ch(10,0);ch(11,1);ch(12,1);break; 
    case 2:ch(9,1);ch(10,1);ch(11,0);ch(12,1);break;
    case 3:ch(9,1);ch(10,1);ch(11,1);ch(12,0);break;
  }}
 
  void ch(int pin, int logic){digitalWrite(pin,logic);}

Библиотеки

MsTimer2.zip

DS3231.zip

Транзистор IRF740 и стабилизатор необходимо установить на небольшие теплоотводы, так же для уменьшения тока потребления рекомендуется увеличить сопротивления на коллекторах транзисторов BC547 до оптимального значения (при увеличении сопротивления не должна существенно падать яркость свечения индикаторов).

Комментарии

Добавить комментарий

Войти с помощью: 

Случайные статьи

  • Фазоинвертор (ламповый усилитель)

    Фазоинвертор (ламповый усилитель)

    В двухтактный ламповый усилитель входит каскад фазоинвертор, его назначение — разделение входного сигнала на две противофазные полуволны . Так как любой каскад с нагрузкой анодной цепи инвертирует сигнал, часто применяется простая схема фазоинвертора на двух усилительных каскадах. Фазоинвертор — это два усилительных каскада с общим катодом, сигнал с выхода первого …Подробнее...
  • STM32 + TFT-дисплей SPI 320×240 (ILI9341C)

    STM32 + TFT-дисплей SPI 320×240 (ILI9341C)

    TFT-дисплей SPI 320×240 (ILI9341C) в сочетании с платой STM32 базе микроконтроллера STM32F103C8T6 имеет очень хорошее быстродействие, скорость обновления экрана намного выше чем использования этого дисплея с Arduino Nano. Работа логики дисплея имеет напряжение 3,3 В, что очень упрощает его подключение к STM32. Подключение дисплея к STM32 достаточно простое: При добавлении …Подробнее...
  • STM32 генератор импульсов (PWM) 64МГц

    STM32 генератор импульсов (PWM) 64МГц

    У микроконтроллера STM32F103C8T6 достаточно высокая рабочая частота, номинальная 72 МГц, а в режиме Overclocked 128 МГц, благодаря этому STM32 можно использовать как импульсный генератор (меандр) с максимальной частотой 64 МГц, а в режиме ШИМ генератора с максимальной частотой 1.28 МГц и процентом коэффициента заполнения от 0 до 100. Конечно на …Подробнее...
  • USB лампа

    Светодиоды подключены к токоограничивающим резисторам  R1…R4. Катоды всех светодиодов соединяются вместе и припаиваются к черному проводу кабеля USB. свободные выводы резисторов  соединены вместе и подключены к красному проводу кабеля USB.Подробнее...
  • Бесшумный регулятор мощности для Hi-Fi усилителей

    Схема на рис.1 полностью заменяет любой потенциометр в регуляторе громкости. Основа устройства — специфическое соединение двух транзисторов. VT1 усиливает сигнал, а VT2 регулирует усиление через уменьшение К-Э(Vкэ). В нижнем положении ползунка R3 транзистор VT2 полностью закрыт и ни как не влияет на работу VT1. Усиление в этом случае максимально. Продвигая …Подробнее...