| Ваш IP: 18.207.249.15 | Online(42) - гости: 20, боты: 22 | Загрузка сервера: 0.77 ::::::::::::


Ретро часы на ИВ-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__); // Устанавливаем время на часах, основываясь на времени компиляции скетча
 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 до оптимального значения (при увеличении сопротивления не должна существенно падать яркость свечения индикаторов).

Комментарии

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

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

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

  • К140УД9 (справочные данные)

    К140УД9 (справочные данные)

    К140УД9 относят к ОУ средней точности, К140УД9 это усовершенствованный вариант К140УД2, в ОУ имеется защита входа от перенапряжения, а выхода от короткого замыкания в нагрузке. Электрические параметры: Uпит. ном — 2*12,6В I пот — 8мА Ku — 35*10³ Uсм — 5мВ TKUсм — 20мкв/Сº Iвх — 350нА ΔIвх — 100нА …Подробнее...
  • Импульсный источник питания для УМЗЧ 150Вт

    Импульсный источник питания для УМЗЧ 150Вт

    При использовании ИИП в УМЗЧ иногда возникают проблемы с электромагнитной совместимостью. Предлагаемый ИИП отличается от других хорошей фильтрацией выходного напряжения и защитой от перегрузок и короткого замыкания. ОСНОВНЫЕ ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ Напряжение сети – 220В Выходное напряжение – 2*25В Максимальный ток нагрузки – 3А Ток срабатывания защиты – 3,3А Максимальная выходная …Подробнее...
  • LA4425A — УМЗЧ 5 Вт

    LA4425A — УМЗЧ 5 Вт

    LA4425A — усилитель мощности звуковой часты. Схема усилителя содержит минимальное кол-во внешних компонентов, всего три конденсатора. Выходная мощность усилителя 5 Вт. Рабочий диапазон питающего напряжения от 5 до 16 В. ИМС LA4425A имеет защиту от пернапряжения, тепловую защиту и защиту от КЗ. Микросхема выполнена в корпусе SIP5H. Основные характеристики Максимальное напряжение питания …Подробнее...
  • Кодовая маркировка емкости импортных конденсаторов

    Кодовая маркировка емкости импортных конденсаторов

    В соответствии со стандартами IEC на практике применяется четыре способа кодировки номинальной емкости. 1. Кодировка 3-мя цифрами Первые две цифры указывают на значение емкости в пикофарадах (пф), последняя — количество нулей. Когда конденсатор имеет емкость менее 10 пФ, то последняя цифра может быть «9». При емкостях меньше 1.0 пф первая …Подробнее...
  • Тестер для транзисторов

    Тестер для транзисторов

    На рисунке показана схема простого тестера для транзисторов, который может определить годность биполярных транзисторов различной структуры (p-n-p, n-p-n). На элементах DD1.1, DD1.2 и DD1.3 выполнен генератор, работающий на частоте 1 кГц. Проверка транзисторов различной структуры без переключения возможна благодаря подаче на эмиттер и коллектор испытуемого  транзистора то низкого, то высокого …Подробнее...