Часы на газоразрядных индикаторах

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Аватара пользователя
SLvik
Друг Кота
Сообщения: 7622
Зарегистрирован: Ср май 28, 2008 00:32:54
Откуда: г. Россия
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение SLvik »

Iggis писал(а):Транзисторы тоже грелись, но резисторы (когда были 10к) были горячее. Температуру мерил костяшкой мизинца, ну а как еще? :)

Соберите термометр.
:)
Аватара пользователя
diafour
Встал на лапы
Сообщения: 109
Зарегистрирован: Пн янв 26, 2015 07:48:56
Откуда: Москва, Троицк

Re: Часы на газоразрядных индикаторах

Сообщение diafour »

uldemir писал(а):И это, длинные исходники прячьте, пожалуйста, под спойлер. А то меня икота проняла от ардуино-стайла.


Это классический индус-стайл, когда программисту платят за количество строк =)

art100, switch и d,b,c,a можно убрать, если применить побитовые операции с cifra1, а код в loop() вообще до 5 строк сократить, если пины положить в массивы. И размер прошивки значительно уменьшится.
art100
Встал на лапы
Сообщения: 107
Зарегистрирован: Сб мар 03, 2012 10:04:33

Re: Часы на газоразрядных индикаторах

Сообщение art100 »

diafour писал(а):... платят за количество строк ......можно ... размер прошивки....

Щас. Когда сопли пайки отлавливаешь. Когда перепутки ищешь. Когда Рискуешь спалить всю херотень сразу. Еще замыливать глаз ифами форами милисекундами побитовыми сдвигами. Уже жирно от того, что свич написал. Уже можно 1-ин пин 1-на единица 1-ин коментарий удалить 1-ной строкой.
А вы на асме код для отладок новомодных платок пишите? :))

Я вот о способе руления сейчас думаю
1.пимпочик
2.джопстик
3.енкодер

Я пока склоняюсь к джойстику
одна палка - пять кнопок симитирую
удержанием еще кнопариков виртуальных добавлю

Код: Выделить всё

  int ModeInput = digitalRead(PIN_Mode);  
  if(ModeInput==0)  ButtonPressMode = true;
  while(ModeInput==0){    ModeTimer++;    delay(100);    ModeInput = digitalRead(PIN_Mode);  }
  //If the button is pressed shortly, these actions will be taken just after the button is released.
  if (Mode==1 && ButtonPressMode==true && ModeInput==1 && ModeTimer<5){
      Mode =2;   ButtonPressMode =false;                  ModeTimer=0;  }//
  if (Mode==2 && ButtonPressMode==true && ModeInput==1 && ModeTimer<5){
      Mode =3;   ButtonPressMode =false;                  ModeTimer=0;  }//.
  if (Mode==3 && ButtonPressMode==true && ModeInput==1 && ModeTimer<5){
      Mode =1;   ButtonPressMode =false;                  ModeTimer=0;  }//
  //If the button is pressed longly,
  if((Mode==1||Mode==2||Mode==3) && ButtonPressMode==true && ModeInput==1 && ModeTimer>=5){
      Mode =0;   ButtonPressMode =false;  ModeTimer=0;  }
  if (Mode==0 && ButtonPressMode==true && ModeInput==1 && ModeTimer>=5){
      Mode =1;   ButtonPressMode =false;  ModeTimer=0;  }
  // SETTING SELECTION  ----------
  int LeftInput  = digitalRead(PIN_Setting1);
  int RightInput = digitalRead(PIN_Setting2);

  if( LeftInput== LOW && RightInput==HIGH)  Set = 0; .
  if(RightInput== LOW &&  LeftInput==HIGH)  Set = 2;
  if(RightInput==HIGH &&  LeftInput==HIGH)  Set = 1;
 
  if(Mode==3){
    if(LeftInput==LOW)    ButtonPressAlar =true;
    if(LeftInput==HIGH && ButtonPressAlar==true && CmdAlarm==false){ 
                          ButtonPressAlar =false;  CmdAlarm=  true;    }
    if(LeftInput==HIGH && ButtonPressAlar==true && CmdAlarm== true){ //turn alarm off.
                          ButtonPressAlar =false;  CmdAlarm= false;    }
  }



Для начала ковыряния какой-нибудь кнопки напишу что-нибудь такое
Про Али-Бабу и Сим-Сима

Код: Выделить всё

// art100 to write tester pin alibaba
#define PIN_SimSimOtkroysya  2
#define PIN_Bulijnik        13
//----------
void setup(){
  pinMode(PIN_SimSimOtkroysya, INPUT_PULLUP);
  pinMode(PIN_Bulijnik,              OUTPUT);

}
//===============
void loop() {
  int BatonOnIVAfrikaBaton = digitalRead(PIN_SimSimOtkroysya);
  if  (BatonOnIVAfrikaBaton == LOW){ digitalWrite(PIN_Bulijnik,HIGH); }
  else                             { digitalWrite(PIN_Bulijnik, LOW); }
}
//===============


:)
Аватара пользователя
diafour
Встал на лапы
Сообщения: 109
Зарегистрирован: Пн янв 26, 2015 07:48:56
Откуда: Москва, Троицк

Re: Часы на газоразрядных индикаторах

Сообщение diafour »

Асм, не асм, на копипасту профессиональный рефлекс, как красная тряпка для быка :)

Напишите управление одной кнопкой. Вот есть велокомп, на нём все функции настраиваются одной кнопкой, в том числе часы.
woddy
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2013 22:27:00
Откуда: новосиб

Re: Часы на газоразрядных индикаторах

Сообщение woddy »

чтоб вам всю жизнь консольные команды морзянкой вводить)

что за извращения типа управления одной кнопкой? понимаю на велокомпе может не быть места. тут же огромные часы, где поместятся и три и пять кнопок.
art100
Встал на лапы
Сообщения: 107
Зарегистрирован: Сб мар 03, 2012 10:04:33

Re: Часы на газоразрядных индикаторах

Сообщение art100 »

И пришли 5-ять разбойников к пещере алибабы. Да давай кричать Сим-Сим откройся.
1.Кино https://yadi.sk/i/A0krcfwjm63uy
2.Вино Изображение
3.Домино

Код: Выделить всё

// art100 to write tester pin alibaba and 40 razboynikov ArduinoProMini new china 2$
//pins-------------------------
#define PIN_Razboynik_Enter  12
#define PIN_Razboynik_Left_  A0
#define PIN_Razboynik_Right  A1
#define PIN_Razboynik_Up___  A5
#define PIN_Razboynik_Down_  A4
//consts----------------------------
// usb------------------------------
//testkeyboard20151208int  commandusb        = 0; //
//----------
void setup(){
  Serial.begin(9600);
  pinMode(PIN_Razboynik_Enter,INPUT_PULLUP);
  pinMode(PIN_Razboynik_Left_,INPUT_PULLUP);
  pinMode(PIN_Razboynik_Right,INPUT_PULLUP);
  pinMode(PIN_Razboynik_Up___,INPUT_PULLUP);
  pinMode(PIN_Razboynik_Down_,INPUT_PULLUP);
}
//===============
void loop() {
  // usb ----------
//  if(Serial.available()>0){   
//    commandusb = Serial.read();
  if(digitalRead(PIN_Razboynik_Enter)==LOW){ Serial.println("PIN_Razboynik_Enter"); }
  if(digitalRead(PIN_Razboynik_Left_)==LOW){ Serial.println("PIN_Razboynik_Left_"); }
  if(digitalRead(PIN_Razboynik_Right)==LOW){ Serial.println("PIN_Razboynik_Right"); }
  if(digitalRead(PIN_Razboynik_Up___)==LOW){ Serial.println("PIN_Razboynik_Up___"); }
  if(digitalRead(PIN_Razboynik_Down_)==LOW){ Serial.println("PIN_Razboynik_Down_"); }
//  }
  // usb ----------   
}
//===============
Аватара пользователя
SLvik
Друг Кота
Сообщения: 7622
Зарегистрирован: Ср май 28, 2008 00:32:54
Откуда: г. Россия
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение SLvik »

woddy писал(а):что за извращения типа управления одной кнопкой? понимаю на велокомпе может не быть места. тут же огромные часы, где поместятся и три и пять кнопок.

Почему извращение?
У меня 3 проекта с управлением одной кнопкой.
В этих корпусах больше 1й дырки под кнопку не просверлишь.

Здесь была одна дырочка в корпусе - как раз под кнопку.
http://radiokot.ru/forum/viewtopic.php?p=507193#p507193

В этом я снизу сверлил.
Они ходят непрерывно по сей день...
http://radiokot.ru/forum/viewtopic.php?p=865324#p865324

3й не нашёл - он был в корпусе мини керосинки на ИН-18.
:)

:idea:
Ещё в 2х тюнерах ставится время, время выключения,
время включения и коррекция одной кнопкой часов.
:)
art100
Встал на лапы
Сообщения: 107
Зарегистрирован: Сб мар 03, 2012 10:04:33

Re: Часы на газоразрядных индикаторах

Сообщение art100 »

SLvik писал(а):...У меня 3 проекта с управлением одной кнопкой...В ... корпусах больше 1й дырки... не просверлишь... :)

Знаете вы толк в извращениях.
Я думал не выкину газоразрядник в мусорку, а тут такие извращенные мысли появляются. :)
Нет.Нет.Нет. Чур меня чертовщина и бесовщина. :) Умные мысли назад. Назад. В головушку. :)
Ставлю себе задачу.
Часы на газоразрядных индикаторах с кодом на Arduino.
Точка.
Если отвлекусь от задания можете попинать меня ногами наставляя на путь истинный. :kill:
Вопрос:
1.Есть у кого-нибудь на С код делящий текущее общее время одной строкой на 6 разрядов?
Или формат какой модно нынче. 2 цифры часы 2 цифры минуты 2 цифры секунды?
23 59 59
или
23:59
Я считаю что секунды отображать это зло но зло можно потом выключить.
woddy
Опытный кот
Сообщения: 849
Зарегистрирован: Сб янв 05, 2013 22:27:00
Откуда: новосиб

Re: Часы на газоразрядных индикаторах

Сообщение woddy »

SLvik, когда это органичение корпуса/дизайна (особненно на одноламповых или наручных часах), то конечно оправдано. В остальных случаях нет.
Аватара пользователя
diafour
Встал на лапы
Сообщения: 109
Зарегистрирован: Пн янв 26, 2015 07:48:56
Откуда: Москва, Троицк

Re: Часы на газоразрядных индикаторах

Сообщение diafour »

art100 писал(а):текущее общее время
Не хватает информации. Время в каком виде? По i2c приходит от DS1307 (и т.п.) или это количество секунд в счётчике? А может это ascii строка из gps приёмника, полученная по rs232?
art100
Встал на лапы
Сообщения: 107
Зарегистрирован: Сб мар 03, 2012 10:04:33

Re: Часы на газоразрядных индикаторах

Сообщение art100 »

diafour писал(а):...По i2c приходит от DS1307..
Не помню чтобы я про разряды думал. ЖКИ с "контроллерами-мотороллерами HT47xxxxx" всасывающие строчками слету расслабляют.

Для страдальцев сегодня ловил соплю в крайнем левом разряде выдавил из себя пару циклов фо. Нате вам погрейте душеньку. :music:
Кино https://yadi.sk/i/qlAh7yQ4m7V8E
Вино https://yadi.sk/i/MTdDL6F7m7V9X
Домино

Код: Выделить всё

//art100 tester k155id1 mc34063 0.22Om irf740 kt3107 220mkGn 4.7mkf mpsa92 mpsa42 in-12a
//pins------------------------
#define PIN_K155ID1_A0  12//2//low
#define PIN_K155ID1_A3  11//3//
#define PIN_K155ID1_A1  10//4//
#define PIN_K155ID1_A2   8//5//
#define PIN_ANOD_1      A3//6//high
#define PIN_ANOD_2      A2//7
#define PIN_ANOD_3       4//8
#define PIN_ANOD_4       2//9
#define PIN_ANOD_5       1//10
#define PIN_ANOD_6       0//11
//consts---------------------
int timer1=1000;//100;
//----------
void setup(){
  pinMode(PIN_K155ID1_A0, OUTPUT);digitalWrite(PIN_K155ID1_A0,HIGH);
  pinMode(PIN_K155ID1_A3, OUTPUT);digitalWrite(PIN_K155ID1_A3,HIGH); 
  pinMode(PIN_K155ID1_A1, OUTPUT);digitalWrite(PIN_K155ID1_A1,HIGH); 
  pinMode(PIN_K155ID1_A2, OUTPUT);digitalWrite(PIN_K155ID1_A2,HIGH);
  pinMode(PIN_ANOD_1,     OUTPUT);digitalWrite(PIN_ANOD_1,     LOW);
  pinMode(PIN_ANOD_2,     OUTPUT);digitalWrite(PIN_ANOD_2,     LOW);
  pinMode(PIN_ANOD_3,     OUTPUT);digitalWrite(PIN_ANOD_3,     LOW);
  pinMode(PIN_ANOD_4,     OUTPUT);digitalWrite(PIN_ANOD_4,     LOW);
  pinMode(PIN_ANOD_5,     OUTPUT);digitalWrite(PIN_ANOD_5,     LOW);
  pinMode(PIN_ANOD_6,     OUTPUT);digitalWrite(PIN_ANOD_6,     LOW);   
 
}
//=====================
void loop(){
  for(int cifra=0;cifra<10;cifra++){
    for(int razryad=1;razryad<7;razryad++){
      Set_K155ID1_razryad1(cifra,razryad);delay(timer1);
      digitalWrite(PIN_ANOD_1,     LOW);
      digitalWrite(PIN_ANOD_2,     LOW);
      digitalWrite(PIN_ANOD_3,     LOW);
      digitalWrite(PIN_ANOD_4,     LOW);
      digitalWrite(PIN_ANOD_5,     LOW);
      digitalWrite(PIN_ANOD_6,     LOW);
    }
  } 
}
//================
void Set_K155ID1_razryad1(int cifra1,int razryad1){
  int d,c,b,a;
  switch(razryad1){
    case 1:  digitalWrite(PIN_ANOD_1,HIGH); break;
    case 2:  digitalWrite(PIN_ANOD_2,HIGH); break;
    case 3:  digitalWrite(PIN_ANOD_3,HIGH); break;
    case 4:  digitalWrite(PIN_ANOD_4,HIGH); break;
    case 5:  digitalWrite(PIN_ANOD_5,HIGH); break;
    case 6:  digitalWrite(PIN_ANOD_6,HIGH); break;   
  } 
  switch(cifra1){
    case 0:  d=0;c=0;b=0;a=0; break;
    case 1:  d=0;c=0;b=0;a=1; break;
    case 2:  d=0;c=0;b=1;a=0; break;
    case 3:  d=0;c=0;b=1;a=1; break;
    case 4:  d=0;c=1;b=0;a=0; break;
    case 5:  d=0;c=1;b=0;a=1; break;
    case 6:  d=0;c=1;b=1;a=0; break;
    case 7:  d=0;c=1;b=1;a=1; break;
    case 8:  d=1;c=0;b=0;a=0; break;
    case 9:  d=1;c=0;b=0;a=1; break;
    default: d=1;c=1;b=1;a=1; break;
  } 
  digitalWrite(PIN_K155ID1_A3,d);digitalWrite(PIN_K155ID1_A2,c);digitalWrite(PIN_K155ID1_A1,b);digitalWrite(PIN_K155ID1_A0,a);
}


//----------
// K155ID1 Table
//D C B A #
//L,L,L,L 0
//L,L,L,H 1
//L,L,H,L 2
//L,L,H,H 3
//L,H,L,L 4
//L,H,L,H 5
//L,H,H,L 6
//L,H,H,H 7
//H,L,L,L 8
//H,L,L,H 9

//----------

Расслабся. Скажи что-нибудь доброе светлое и прекрасное. И всем станет хорошо. :)
Вот пока нашел у себя в завалах DS1307. Тыкнул и охватило меня "агульная млявасць и абыякавасць да жыцця" Когда-то код писал на нее. Сейчас даже влом свои исходники многолетние перелопачивать. https://yadi.sk/i/vHTsmQSRm7Wx7
asidalv
Грызет канифоль
Сообщения: 271
Зарегистрирован: Ср дек 21, 2011 13:05:30

Re: Часы на газоразрядных индикаторах

Сообщение asidalv »

резистор в цепи ИНС-1 поставил 180к. Питание - 220. Дальнейшее уменьшение сопротивления не приводит к увеличению яркости неонки. Сколько вообще оптимально для этой лампы при питании от сети без преобразователя?
Аватара пользователя
xSanders
Потрогал лапой паяльник
Сообщения: 374
Зарегистрирован: Сб апр 27, 2013 21:39:15
Откуда: Украина

Re: Часы на газоразрядных индикаторах

Сообщение xSanders »

Увеличить надо сопротивление - по справочному листу http://www.istok2.com/data/1748/ к нему - при питании индикатора переменным током рекомендуется включать его через диод.

Индикаторы ИНС-1 должны подключаться через балластное сопротивление, которое рассчитывается по формуле:
Rбал = (Uист.п.-Uподдерж.р)/Iраб.

В частности для сети ~220V сопротивление должно составлять около 300-330Ком.
Аватара пользователя
Waik
Первый раз сказал Мяу!
Сообщения: 33
Зарегистрирован: Чт апр 09, 2015 20:56:41

Re: Часы на газоразрядных индикаторах

Сообщение Waik »

Только что доделал подсветку,
СпойлерИзображение
Изображение
Изображение
watchmaker
Поставщик валерьянки для Кота
Сообщения: 2178
Зарегистрирован: Вс ноя 15, 2009 23:13:59
Откуда: Харьков
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение watchmaker »

Никогда не понимал и не понимаю смысла подсветки - она ведь только мешает читать цифры.
Иногда мой питомец уходит в такую спячку, что разбудить его можно только щелчком по первой ноге...
Аватара пользователя
BlackAlex
Вымогатель припоя
Сообщения: 665
Зарегистрирован: Вс фев 12, 2012 14:06:28
Откуда: Киев

Re: Часы на газоразрядных индикаторах

Сообщение BlackAlex »

watchmaker писал(а):Никогда не понимал и не понимаю смысла подсветки - она ведь только мешает читать цифры.

это красная, оранжевая мешает, а синя как раз на цветовом контрасте отлично подчеркивает.
Enceladus
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Чт сен 24, 2015 14:58:09

Re: Часы на газоразрядных индикаторах

Сообщение Enceladus »

Небольшой вопрос: каким напряжением питать ИН-18? В данный момент использую источник на 185 В и ток через лампы (эффективный т.к индикация динамическая) порядка 2-2.2 мА (индикаторы дорогие, потому ток несколько занижен дабы продлить жизнь). При этом в паспорте на лампу говорится что напряжение необходимо не менее 200 В. Собственно если питать лампу от 185 В, скажется ли это негативно на сроке службы?
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Часы на газоразрядных индикаторах

Сообщение akl »

Более важными будут параметры, отмеченные на картинке, которые у Вас обеспечены.
ин-18.GIF
Аватара пользователя
RoboC
Мудрый кот
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк
Контактная информация:

Re: Часы на газоразрядных индикаторах

Сообщение RoboC »

Изображение Изображение Изображение

:tea:
Последний раз редактировалось RoboC Пт дек 11, 2015 13:16:39, всего редактировалось 1 раз.
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Аватара пользователя
diafour
Встал на лапы
Сообщения: 109
Зарегистрирован: Пн янв 26, 2015 07:48:56
Откуда: Москва, Троицк

Re: Часы на газоразрядных индикаторах

Сообщение diafour »

Красиво конечно, законченное упакованное изделие. Но брошюра требует редакторского глаза ;)
Ответить

Вернуться в «Умные мысли»