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

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

Сообщение SLvik »

Iggis писал(а):Транзисторы тоже грелись, но резисторы (когда были 10к) были горячее. Температуру мерил костяшкой мизинца, ну а как еще? :)
Соберите термометр.
:)
Контактная информация:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 109
Зарегистрирован: Пн янв 26, 2015 07:48:56
Откуда: Москва, Троицк

Сообщение diafour »

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

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

Сообщение 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); }
}
//===============


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

Сообщение diafour »

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

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

Сообщение woddy »

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

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

Сообщение 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 ----------------------------------------------------------------    
}
//===============
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7622
Зарегистрирован: Ср май 28, 2008 00:32:54
Откуда: г. Россия

Сообщение 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х тюнерах ставится время, время выключения,
время включения и коррекция одной кнопкой часов.
:)
Контактная информация:
Встал на лапы
Сообщения: 107
Зарегистрирован: Сб мар 03, 2012 10:04:33

Сообщение art100 »

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

Сообщение woddy »

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

Сообщение diafour »

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

Сообщение 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
Грызет канифоль
Сообщения: 271
Зарегистрирован: Ср дек 21, 2011 13:05:30

Сообщение asidalv »

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

Сообщение xSanders »

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

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

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

Сообщение Waik »

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

Сообщение watchmaker »

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

Сообщение BlackAlex »

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

Сообщение Enceladus »

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

Сообщение akl »

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

Сообщение RoboC »

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

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

Сообщение diafour »

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

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