| Ваш IP: 3.236.112.98 | Online(21) - гости: 14, боты: 7 | Загрузка сервера: 0.61 ::::::::::::

Ретро часы на ИН-16 (Arduino)

На платформе Arduino можно собрать простые часы на газоразрядных индикаторах типа ИН-16 (ИН-14, ИН-18 и др.). ИН-16 представляет собой индикатор тлеющего разряда имеющий десять катодов выполненных в виде цифр и два катода для запятых. Ток индикации 2 мА, напряжение возникновения тлеющего разряда не более 170 В, яркость свечения 150 кд/м².

Назначение выводов:

  • 1 — анод
  • 2 — цифра 1
  • 3 — цифра 7
  • 4 — цифра 3
  • 5 — знак «запятая»
  • 6 — цифра 4
  • 7 — цифра 5
  •  8 — цифра 6
  • 9 — цифра 2
  • 10 — знак «запятая»
  • 11 — цифра 8
  • 12 — цифра 9
  • 13 — цифра 0

Управление цифрами газоразрядных индикаторов осуществляется при помощи высоковольтного двоично-десятичного дешифратора  К155ИД1 (динамическая индикация), управление анодами осуществляется при помощи высоковольтных транзисторных оптронов (TLP627) со схемой Дарлингтона на выходе. Плата Arduino коммутирует управление газоразрядных индикаторов и управляет работой высоковольтного DC-DC преобразователя. В схеме используются часы реального времени DS3231, выход SQW через высоковольтный оптрон управляет индикатором секунд (ИН-3).

В схеме используется стабилизатор типа 7805 для питания платы Arduino, но можно исключить этот элемент и напряжение +9 В подавать на встроенный в Arduino стабилизатор (вход VIN).

Настройка времени по времени компиляции:
// clock.setDateTime(__DATE__, __TIME__);
раскомментировать, залить скетч, закомментировать и по новой залить скетч


Библиотеки

https://rcl-radio.ru/wp-content/uploads/2018/11/MsTimer2.zip

http://forum.rcl-radio.ru/misc.php?action=pan_download&item=58&download=1

#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(2,OUTPUT); // D2 === H1
 pinMode(3,OUTPUT); // D3 === H2
 pinMode(4,OUTPUT); // D4 === H3
 pinMode(5,OUTPUT); // D5 === H4
 pinMode(6,OUTPUT);  // D6  === A0 3 ид1 
 pinMode(7,OUTPUT);  // D7  === A1 6 ид1
 pinMode(8,OUTPUT);  // D8  === A2 7 ид1
 pinMode(10,OUTPUT); // D10 === A3 4 ид1
 pinMode(9,OUTPUT);  // ВЫХОД СИГНАЛА ГЕНЕРАТОРА 16-30 кГц для высоковольтного источника питания
  TCCR1A = 0x40;TCCR1B = 0x09;OCR1A = 400;//270=30кГц, 300=26кГц, 400=20кГц, 500=16кГц - изменение яркости индикаторов
clock.setOutput(DS3231_1HZ);
}
 
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();delay(1);break;
    case 1: segm=a[1]; an=1; anod(); segment();delay(1);break;
    case 2: segm=a[2]; an=2; anod(); segment();delay(1);break;
    case 3: segm=a[3]; an=3; anod(); segment();delay(1);break;}i++;if(i>3){i=0;}}
 
 
void segment(){
  switch(segm){                                                                 
    case 0: digitalWrite(10,LOW);digitalWrite(8,LOW);digitalWrite(7,LOW);digitalWrite(6,LOW);break;     // DEC 0 = 0b0000
    case 1: digitalWrite(10,LOW);digitalWrite(8,LOW);digitalWrite(7,LOW);digitalWrite(6,HIGH);break;    // DEC 1 = 0b0001
    case 2: digitalWrite(10,LOW);digitalWrite(8,LOW);digitalWrite(7,HIGH);digitalWrite(6,LOW);break;    // DEC 2 = 0b0010
    case 3: digitalWrite(10,LOW);digitalWrite(8,LOW);digitalWrite(7,HIGH);digitalWrite(6,HIGH);break;   // DEC 3 = 0b0011
    case 4: digitalWrite(10,LOW);digitalWrite(8,HIGH);digitalWrite(7,LOW);digitalWrite(6,LOW);break;    // DEC 4 = 0b0100
    case 5: digitalWrite(10,LOW);digitalWrite(8,HIGH);digitalWrite(7,LOW);digitalWrite(6,HIGH);break;   // DEC 5 = 0b0101
    case 6: digitalWrite(10,LOW);digitalWrite(8,HIGH);digitalWrite(7,HIGH);digitalWrite(6,LOW);break;   // DEC 6 = 0b0110
    case 7: digitalWrite(10,LOW);digitalWrite(8,HIGH);digitalWrite(7,HIGH);digitalWrite(6,HIGH);break;  // DEC 7 = 0b0111
    case 8: digitalWrite(10,HIGH);digitalWrite(8,LOW);digitalWrite(7,LOW);digitalWrite(6,LOW);break;    // DEC 8 = 0b1000
    case 9: digitalWrite(10,HIGH);digitalWrite(8,LOW);digitalWrite(7,LOW);digitalWrite(6,HIGH);break;   // DEC 9 = 0b0110
  }}
void anod(){
  switch(an){                                                             
    case 0: digitalWrite(2,HIGH);digitalWrite(3,LOW);digitalWrite(4,LOW);digitalWrite(5,LOW);break;    
    case 1: digitalWrite(2,LOW);digitalWrite(3,HIGH);digitalWrite(4,LOW);digitalWrite(5,LOW);break;   
    case 2: digitalWrite(2,LOW);digitalWrite(3,LOW);digitalWrite(4,HIGH);digitalWrite(5,LOW);break;   
    case 3: digitalWrite(2,LOW);digitalWrite(3,LOW);digitalWrite(4,LOW);digitalWrite(5,HIGH);break;   
  }}

После сборки часов необходимо подобрать оптимальную частоту генератора для высоковольтного преобразователя, чтобы выходное напряжение преобразователя находилось в пределах от 160 до 170 В:

TCCR1A = 0x40;TCCR1B = 0x09;OCR1A = 400;

270=30 кГц, 300=26 кГц, 400=20 кГц, 500=16 кГц — изменение яркости индикаторов

*Чем выше частота тем меньше выходное напряжение преобразователя

MOSFET транзистор IRF740 необходимо установить на небольшой по площади теплоотвод.

Видео

Форум — http://forum.rcl-radio.ru/viewtopic.php?id=83

Комментарии

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

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

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

  • Индикатор выходной мощности с логарифмической шкалой

    Индикатор выходной мощности с логарифмической шкалой

    Индикатор выходной мощности выполнен на основе стрелочного индикатора М476\1, но можно использовать другой стрелочный прибор с полным током отклонения стрелки не более 200мА. Динамический диапазон индикатора 43дБ, а крайние значения регистрирующей мощности от 0,1 до 200Вт. Расширение динамического диапазона достигается  применением ОУ. Р1(стрелочный прибор) включен в диагональ моста образованного диодами …Подробнее...
  • Каскад с широкополосной балансировкой каналов

    Каскад с широкополосной балансировкой каналов

    На рисунке представлена схема 2-х канального каскада предварительного усилителя с точной балансировкой обеих каналов в широкой полосе частот. Входное сопротивление каждого из каналов 100кОм, выходное 50 Ом. Коэффициент гармонических искажений в полосе частот от 20 до 20000Гц не более 0,05% при выходном напряжении 0,5В и 0,15% при выходном напряжении 2,0В. …Подробнее...
  • Автомобильный адаптер

    Адаптер безразличен к полярности подключения к бортовой сети, не пропускает помехи от зажигания, выдает 9В при токе нагрузки до 1А. Помехоподавляющий дроссель DL1 намотан на ферритовом кольце диаметром 28 мм проводом ПЭВ 0,25 до заполнения(примерно 400-500 витков). Литература РК2001-4 Автор: Земский П.С.Подробнее...
  • Двухполярное напряжение из однополярного (7805)

    Двухполярное напряжение из однополярного (7805)

    Для питания различных уст-в необходим двухполярный источник постоянного стабилизированного напряжения, если источник питания не позволяет получить двухполярное напряжение, то предлагаемая схема весьма просто поможет решить данную проблему при помощи двух стабилизаторов 78 серии. Для получения двухполярного напряжения +/-5 В необходимо два стабилизатора 7808 (78L05) несколько конденсаторов и балластный резистор R1. Для …Подробнее...
  • Часы-будильник с календарем

    Уст-во построено на микросхемах серии К176, индикация четырех-разрядная, светодиодная. Часы работают в 2-х режимах: индикация минут и часов, индикация месяца и числа. Будильник позволяет устанавливать одно время в течении суток. D1 К176ИЕ18 содержит кв. генератор на Q1, набор счетчиков, формирующих необходимые для работы часов, импульсы для динамической индикации содержаться в …Подробнее...