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

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Аватара пользователя
Iggis
Держит паяльник хвостом
Сообщения: 947
Зарегистрирован: Пн мар 25, 2013 03:20:47
Откуда: Tallinn

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

Сообщение Iggis »

Enceladus писал(а):против отравления катодов
Если б я был султан программист, я бы сделал так: каждую минуту при смене единиц минут происходит перебор всех цифр во всех лампах в течение одной секунды (первой секунды новой минуты).

woddy А я чувствую, что еще не созрел для ИН-18. Солидным лампам - хорошую схему и классный корпус, не иначе. А пока потренируюсь на мелких часиках и их корпусах.
Если не подведет почта и доставит все нужные запчасти, то до нового года доделаю изделие на панаплексах.

Кстати про корпуса.
СпойлерКогда-то был разговор про гибку оргстекла. Так вот, я научился это делать. Гнул не феном, как многие советовали, а над горячей проволокой. В зависимости от толщины материала и требуемого радиуса, расстояние от проволоки до стекла может быть 3-10мм, нагрев проволоки - от еле заметного до ярко-красного. И хорошо бы иметь прижим-уголок, который обеспечит равномерный загиб по всей ширине на нужный угол. Вот изделие, толщина 5мм (это пандус в аквариум для водяной черепахи):
Изображение Изображение
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например:
http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg


Изображение
Аватара пользователя
woody_mc
Грызет канифоль
Сообщения: 251
Зарегистрирован: Пт янв 30, 2015 13:20:56
Откуда: SPb
Контактная информация:

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

Сообщение woody_mc »

Iggis писал(а):
Enceladus писал(а):против отравления катодов
Если б я был султан программист, я бы сделал так: каждую минуту при смене единиц минут происходит перебор всех цифр во всех лампах в течение одной секунды (первой секунды новой минуты).

это делается очень просто и если вы делаете клон чьего-то проекта, то можно попросить автора сделать столь не сложное обновление ПО.

я именно так и планирую делать, и в большей степени из-за эстетически красивого эффекта. но перебор лучше делать не всех разрядов сразу, а так же последовательно. я подобное делал на 7 сегментных индикаторов - пробегающей змейкой или перезаписью слева-направо (справа-налево) т.е. сначала 2 вертикальных сегмента, затем 3 горизонтальных, после снова 2 вертикальных и так следующий разряд. получалось довольно интересно.
крокодил, крокожу и буду крокодить!
art100
Встал на лапы
Сообщения: 107
Зарегистрирован: Сб мар 03, 2012 10:04:33

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

Сообщение art100 »

Iggis писал(а):
Enceladus писал(а):против отравления катодов
Если б я был султан... я бы сделал ... каждую минуту... в течение одной секунды.......

Вам не кажется что служебные операции показывать во время пользования это будет введение в заблуждения. Мне кажется что встрАх разумннее делать разок в ночь. Если мне не изменяет память. В времена 1-ой холодной войны на радиостанциях Р-155П была процедура встряхнуть что-то там мудреное такое" положение переключателя.. такого-то кнопку такую-то 3 раза нажать 3 раза отпустить" индикации производили перебор. Ты смотрел и принимал решение заменить лампочки из ЗИП-а или нет. И был раз в сутки автоматом. Причем прием не прерывался.
Изображение
Хотя любой недостаток можно разрекламировать как фичу. :)
Вот накропал только что.

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

  clock.getTime();// ходики гэй время сколько
  int hh=clock.hour;int mm=clock.minute; int ss=clock.second; // быстренько даложить разложить по полочкам часы минуты секундочки
  if(hh=='00'&&mm=='00'&&ss=='00') Set_vstryahnut_moshami(Set_K155ID1_razryad1_cifra1(0,0));//встряхнем старину

Написать что-нибудь такое. Например
Во время рева будильника идиотизмом на цифрах поиздеваться над просыпающимся. :shock:

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

void AlarmUtrenniy(int hh1,int mm1,int ss1){
...
  clock.getTime();// ходики гэй время сколько
  int hh=clock.hour;int mm=clock.minute; int ss=clock.second; // быстренько даложить разложить по полочкам часы минуты секундочки
  if(hh==hh1 && mm==mm1 && ss==ss1) Set_vstryahnut_moshami(Set_K155ID1_razryad1_cifra1(0,0));//встряхнем старину
 
  Serial.println("You rassmotrel clock :-? X-0");
...
}

:shock:

Ну все служебные операции сделал. Пойду посплю что-ли? :facepalm:
Аватара пользователя
Andrey73s
Вымогатель припоя
Сообщения: 691
Зарегистрирован: Ср фев 24, 2010 23:33:28
Откуда: Тверская обл.

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

Сообщение Andrey73s »

Уважаемые гуру подскажите, пожалуйста.
Попросил знакомого достать ГРИ он нашёл ИН12, но сказал, что есть ещё, большие лампы по размерам напоминает 6Д20П, что это может быть?
ИН18?
Какая *** выключила свет в конце туннеля.
Аватара пользователя
suslogon
Друг Кота
Сообщения: 10693
Зарегистрирован: Пн июл 14, 2008 21:28:00
Откуда: Москва
Контактная информация:

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

Сообщение suslogon »

куда более вероятно, что это ин-14 окажутся :)
Ищу тиратрон ТХИ1-2000/4, ГРИ ИН-23, ФЭУ-103; 134; 135, 138, 155, 157, лампу ИСШ-7.
Любые ГИС серий 203, 225, 233, 244, 250, 296, 801, 838 в любом состоянии. Компоненты и детали от миниатюрных твердотельных лазеров.
Аватара пользователя
woody_mc
Грызет канифоль
Сообщения: 251
Зарегистрирован: Пт янв 30, 2015 13:20:56
Откуда: SPb
Контактная информация:

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

Сообщение woody_mc »

Andrey73s писал(а):Уважаемые гуру подскажите, пожалуйста.
напоминает 6Д20П

с анодом сверху? :shock:
suslogon писал(а):куда более вероятно, что это ин-14 окажутся :)

или вообще ИВ-ХХ
крокодил, крокожу и буду крокодить!
Аватара пользователя
Andrey73s
Вымогатель припоя
Сообщения: 691
Зарегистрирован: Ср фев 24, 2010 23:33:28
Откуда: Тверская обл.

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

Сообщение Andrey73s »

woody_mc писал(а):с анодом сверху? :shock:

Конечно без анода. :))

12см. с гибкими выводами. без верхнего газоотводного выхода. :shock:
Пришлось отказаться от НИ12 в пользу этих. :)))
Какая *** выключила свет в конце туннеля.
asidalv
Грызет канифоль
Сообщения: 271
Зарегистрирован: Ср дек 21, 2011 13:05:30

первый запуск часов и сразу проблемы

Сообщение asidalv »

Собрал платку. Все чипы поставил кроме контроллера. Проверил. Обнаружил такую неприятную вещь. К1109КН2 дает засветку соседней лампы. Те я подаю 1 только на один ее канал, но при этом - засвечивается и соседняя лампа. Мерию на аноде лампы которая не должна светиться - от 150В. Сначала думал монтаж - нет, без КНки все хорошо. Причом, засвечивается только соседний канал, на остальных лампах 0. Питание 220 от преобразователя.
Полудохлая? Есть аналог буржуйский?
Аватара пользователя
woody_mc
Грызет канифоль
Сообщения: 251
Зарегистрирован: Пт янв 30, 2015 13:20:56
Откуда: SPb
Контактная информация:

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

Сообщение woody_mc »

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

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

Сообщение art100 »

woody_mc писал(а):народ, а ктонить пользовался библиотекой TWI_Master для работы с DS1307?
что-то я не могу заставить работать, а может и DS мертвая.

на столе чип ds1307 читает DS1307.h и DS1307.cpp
Спойлер

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

/*
 * DS1307.h
 * library for Seeed RTC module
 *
 * Copyright (c) 2013 seeed technology inc.
 * Author        :   FrankieChu
 * Create Time   :   Jan 2013
 * Change Log    :
 *
 * The MIT License (MIT)
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

#ifndef __DS1307_H__
#define __DS1307_H__

#include <Arduino.h>

#define DS1307_I2C_ADDRESS 0x68

#define MON 1
#define TUE 2
#define WED 3
#define THU 4
#define FRI 5
#define SAT 6
#define SUN 7

class DS1307
{
private:
    uint8_t decToBcd(uint8_t val);
    uint8_t bcdToDec(uint8_t val);

public:
    void begin();
    void startClock(void);
    void stopClock(void);
    void setTime(void);
    void getTime(void);
    void fillByHMS(uint8_t _hour, uint8_t _minute, uint8_t _second);
    void fillByYMD(uint16_t _year, uint8_t _month, uint8_t _day);
    void fillDayOfWeek(uint8_t _dow);
    uint8_t second;
    uint8_t minute;
    uint8_t hour;
    uint8_t dayOfWeek;// day of week, 1 = Monday
    uint8_t dayOfMonth;
    uint8_t month;
    uint16_t year;
};

#endif

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

/*
 * DS1307.h
 * library for Seeed RTC module
 *
 * Copyright (c) 2013 seeed technology inc.
 * Author        :   FrankieChu
 * Create Time   :   Jan 2013
 * Change Log    :
 *
 * The MIT License (MIT)
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

#include <Wire.h>
#include "DS1307.h"

uint8_t DS1307::decToBcd(uint8_t val)
{
    return ( (val/10*16) + (val%10) );
}

//Convert binary coded decimal to normal decimal numbers
uint8_t DS1307::bcdToDec(uint8_t val)
{
    return ( (val/16*10) + (val%16) );
}

void DS1307::begin()
{
    Wire.begin();
}
/*Function: The clock timing will start */
void DS1307::startClock(void)        // set the ClockHalt bit low to start the rtc
{
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write((uint8_t)0x00);                      // Register 0x00 holds the oscillator start/stop bit
  Wire.endTransmission();
  Wire.requestFrom(DS1307_I2C_ADDRESS, 1);
  second = Wire.read() & 0x7f;       // save actual seconds and AND sec with bit 7 (sart/stop bit) = clock started
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write((uint8_t)0x00);
  Wire.write((uint8_t)second);                    // write seconds back and start the clock
  Wire.endTransmission();
}
/*Function: The clock timing will stop */
void DS1307::stopClock(void)         // set the ClockHalt bit high to stop the rtc
{
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write((uint8_t)0x00);                      // Register 0x00 holds the oscillator start/stop bit
  Wire.endTransmission();
  Wire.requestFrom(DS1307_I2C_ADDRESS, 1);
  second = Wire.read() | 0x80;       // save actual seconds and OR sec with bit 7 (sart/stop bit) = clock stopped
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write((uint8_t)0x00);
  Wire.write((uint8_t)second);                    // write seconds back and stop the clock
  Wire.endTransmission();
}
/****************************************************************/
/*Function: Read time and date from RTC */
void DS1307::getTime()
{
    // Reset the register pointer
    Wire.beginTransmission(DS1307_I2C_ADDRESS);
    Wire.write((uint8_t)0x00);
    Wire.endTransmission(); 
    Wire.requestFrom(DS1307_I2C_ADDRESS, 7);
    // A few of these need masks because certain bits are control bits
    second     = bcdToDec(Wire.read() & 0x7f);
    minute     = bcdToDec(Wire.read());
    hour       = bcdToDec(Wire.read() & 0x3f);// Need to change this if 12 hour am/pm
    dayOfWeek  = bcdToDec(Wire.read());
    dayOfMonth = bcdToDec(Wire.read());
    month      = bcdToDec(Wire.read());
    year       = bcdToDec(Wire.read());
}
/*******************************************************************/
/*Frunction: Write the time that includes the date to the RTC chip */
void DS1307::setTime()
{
    Wire.beginTransmission(DS1307_I2C_ADDRESS);
    Wire.write((uint8_t)0x00);
    Wire.write(decToBcd(second));// 0 to bit 7 starts the clock
    Wire.write(decToBcd(minute));
    Wire.write(decToBcd(hour));  // If you want 12 hour am/pm you need to set bit 6
    Wire.write(decToBcd(dayOfWeek));
    Wire.write(decToBcd(dayOfMonth));
    Wire.write(decToBcd(month));
    Wire.write(decToBcd(year));
    Wire.endTransmission();
}
void DS1307::fillByHMS(uint8_t _hour, uint8_t _minute, uint8_t _second)
{
    // assign variables
    hour = _hour;
    minute = _minute;
    second = _second;
}
void DS1307::fillByYMD(uint16_t _year, uint8_t _month, uint8_t _day)
{
    year = _year-2000;
    month = _month;
    dayOfMonth = _day;
}
void DS1307::fillDayOfWeek(uint8_t _dow)
{
    dayOfWeek = _dow;
}



нужно?

специально спрятал для ульдемира :tea:
Спойлертолько что затухание написал
женьщина пришла
все не получится дальше писать

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

// art100 to write 20151218 FadeLed3
#include <Timer.h>          //Таймеры я вроде обхожусь
//pins---------------------------
#define PINLED1 3
//consts-------------------------
Timer t;//запускаем функцию таймеров
//----------
void setup(){
  pinMode(PINLED1,OUTPUT);
}
//============
void loop(){
  int TimerFade1=t.every(14,FadeLed1,(void*)2);//плавное моргание светодиодом
  t.update();            // timers чтоб не прерываться удобней было
}
//============
//----------
int fadeAmount1=1;
int brightness1=0;
void FadeLed1(void* context){
  brightness1=brightness1+fadeAmount1;
  if(brightness1==0 || brightness1==255){ fadeAmount1=-fadeAmount1; }   
  analogWrite(PINLED1,brightness1);
}
//----------

спать хочется
валюсь со стула
я все
я пас
Последний раз редактировалось art100 Сб дек 19, 2015 11:03:41, всего редактировалось 2 раза.
Аватара пользователя
woody_mc
Грызет канифоль
Сообщения: 251
Зарегистрирован: Пт янв 30, 2015 13:20:56
Откуда: SPb
Контактная информация:

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

Сообщение woody_mc »

art100 писал(а):на столе чип ds1307 читает DS1307.h и DS1307.cpp
Спойлер

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

/*
 * DS1307.h
 * library for Seeed RTC module
 *
 * Copyright (c) 2013 seeed technology inc.
 * Author        :   FrankieChu
 * Create Time   :   Jan 2013
 * Change Log    :
 *
 * The MIT License (MIT)
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

#ifndef __DS1307_H__
#define __DS1307_H__

#include <Arduino.h>

#define DS1307_I2C_ADDRESS 0x68

#define MON 1
#define TUE 2
#define WED 3
#define THU 4
#define FRI 5
#define SAT 6
#define SUN 7

class DS1307
{
private:
    uint8_t decToBcd(uint8_t val);
    uint8_t bcdToDec(uint8_t val);

public:
    void begin();
    void startClock(void);
    void stopClock(void);
    void setTime(void);
    void getTime(void);
    void fillByHMS(uint8_t _hour, uint8_t _minute, uint8_t _second);
    void fillByYMD(uint16_t _year, uint8_t _month, uint8_t _day);
    void fillDayOfWeek(uint8_t _dow);
    uint8_t second;
    uint8_t minute;
    uint8_t hour;
    uint8_t dayOfWeek;// day of week, 1 = Monday
    uint8_t dayOfMonth;
    uint8_t month;
    uint16_t year;
};

#endif

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

/*
 * DS1307.h
 * library for Seeed RTC module
 *
 * Copyright (c) 2013 seeed technology inc.
 * Author        :   FrankieChu
 * Create Time   :   Jan 2013
 * Change Log    :
 *
 * The MIT License (MIT)
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 */

#include <Wire.h>
#include "DS1307.h"

uint8_t DS1307::decToBcd(uint8_t val)
{
    return ( (val/10*16) + (val%10) );
}

//Convert binary coded decimal to normal decimal numbers
uint8_t DS1307::bcdToDec(uint8_t val)
{
    return ( (val/16*10) + (val%16) );
}

void DS1307::begin()
{
    Wire.begin();
}
/*Function: The clock timing will start */
void DS1307::startClock(void)        // set the ClockHalt bit low to start the rtc
{
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write((uint8_t)0x00);                      // Register 0x00 holds the oscillator start/stop bit
  Wire.endTransmission();
  Wire.requestFrom(DS1307_I2C_ADDRESS, 1);
  second = Wire.read() & 0x7f;       // save actual seconds and AND sec with bit 7 (sart/stop bit) = clock started
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write((uint8_t)0x00);
  Wire.write((uint8_t)second);                    // write seconds back and start the clock
  Wire.endTransmission();
}
/*Function: The clock timing will stop */
void DS1307::stopClock(void)         // set the ClockHalt bit high to stop the rtc
{
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write((uint8_t)0x00);                      // Register 0x00 holds the oscillator start/stop bit
  Wire.endTransmission();
  Wire.requestFrom(DS1307_I2C_ADDRESS, 1);
  second = Wire.read() | 0x80;       // save actual seconds and OR sec with bit 7 (sart/stop bit) = clock stopped
  Wire.beginTransmission(DS1307_I2C_ADDRESS);
  Wire.write((uint8_t)0x00);
  Wire.write((uint8_t)second);                    // write seconds back and stop the clock
  Wire.endTransmission();
}
/****************************************************************/
/*Function: Read time and date from RTC */
void DS1307::getTime()
{
    // Reset the register pointer
    Wire.beginTransmission(DS1307_I2C_ADDRESS);
    Wire.write((uint8_t)0x00);
    Wire.endTransmission(); 
    Wire.requestFrom(DS1307_I2C_ADDRESS, 7);
    // A few of these need masks because certain bits are control bits
    second     = bcdToDec(Wire.read() & 0x7f);
    minute     = bcdToDec(Wire.read());
    hour       = bcdToDec(Wire.read() & 0x3f);// Need to change this if 12 hour am/pm
    dayOfWeek  = bcdToDec(Wire.read());
    dayOfMonth = bcdToDec(Wire.read());
    month      = bcdToDec(Wire.read());
    year       = bcdToDec(Wire.read());
}
/*******************************************************************/
/*Frunction: Write the time that includes the date to the RTC chip */
void DS1307::setTime()
{
    Wire.beginTransmission(DS1307_I2C_ADDRESS);
    Wire.write((uint8_t)0x00);
    Wire.write(decToBcd(second));// 0 to bit 7 starts the clock
    Wire.write(decToBcd(minute));
    Wire.write(decToBcd(hour));  // If you want 12 hour am/pm you need to set bit 6
    Wire.write(decToBcd(dayOfWeek));
    Wire.write(decToBcd(dayOfMonth));
    Wire.write(decToBcd(month));
    Wire.write(decToBcd(year));
    Wire.endTransmission();
}
void DS1307::fillByHMS(uint8_t _hour, uint8_t _minute, uint8_t _second)
{
    // assign variables
    hour = _hour;
    minute = _minute;
    second = _second;
}
void DS1307::fillByYMD(uint16_t _year, uint8_t _month, uint8_t _day)
{
    year = _year-2000;
    month = _month;
    dayOfMonth = _day;
}
void DS1307::fillDayOfWeek(uint8_t _dow)
{
    dayOfWeek = _dow;
}



нужно?

я ардуину не люблю, я по-старинке, в IAR пишу

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

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

Сообщение Enceladus »

Iggis писал(а):
Enceladus писал(а):против отравления катодов
Если б я был султан программист, я бы сделал так: каждую минуту при смене единиц минут происходит перебор всех цифр во всех лампах в течение одной секунды (первой секунды новой минуты).


Но в таком случае достаточно часто происходит перебор и это немного раздражает глаз - часы постоянно мерцают карждую минуту
Аватара пользователя
Iggis
Держит паяльник хвостом
Сообщения: 947
Зарегистрирован: Пн мар 25, 2013 03:20:47
Откуда: Tallinn

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

Сообщение Iggis »

Enceladus писал(а):постоянно мерцают карждую минуту
Не так уж и постоянно - всего 1 секунду через 59 секунд.
А вот разделительные точки или секундные индикаторы вообще непрерывно мельтешат :)
Правильно заданный вопрос - уже половина ответа. Не мучайте себя и других...
------
Полезный лайфхак - чтобы увидеть картинку в оригинальном размере, удалите из адреса слово medium/
Например:
http:///img.radiokot.ru/files/86369/medium/hi06i91ui.jpg


Изображение
art100
Встал на лапы
Сообщения: 107
Зарегистрирован: Сб мар 03, 2012 10:04:33

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

Сообщение art100 »

woody_mc писал(а):... я по-старинке, в IAR... разобрался. библиотека работает нормально.

Поздравляю.

делете всяко словоблудство :kill:

Оффтоп - вам предупреждение. FAKIR.
Последний раз редактировалось art100 Сб дек 19, 2015 10:55:26, всего редактировалось 2 раза.
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

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

Сообщение akl »

Удалил...
Последний раз редактировалось akl Сб дек 19, 2015 15:32:47, всего редактировалось 1 раз.
art100
Встал на лапы
Сообщения: 107
Зарегистрирован: Сб мар 03, 2012 10:04:33

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

Сообщение art100 »

akl писал(а):О! Ещё один самовидвиженец на роль держиморды ветки.

Ваша битовая маска иностранец?

Даю вероятность 99% что в ветке на какой-то странице холивар уже был? Ссылку иностранец укажы. Ты ведо модер али как поставщик. Моя скатинка за женой на кухню уже побежала. На клавитуру уже не лезет.
Последний раз редактировалось art100 Сб дек 19, 2015 10:00:58, всего редактировалось 1 раз.
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

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

Сообщение uldemir »

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

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

Сообщение art100 »

uldemir писал(а):Убогий, еще не осознал, что микроконтроллеры не делятся на два типа. Как и среды разработки. Пожалуй, этот оффтопик надо гасить. Пойду нажму "!"

Когда же люди читать на учатся. Вы можете сказать в часах на ин-ках какого проца больше или нет?
Ваша битовая маска чужеземец?
You undestand for my?
Dark_Rider
Держит паяльник хвостом
Сообщения: 956
Зарегистрирован: Чт июл 19, 2012 10:30:17

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

Сообщение Dark_Rider »

Схожим методом общался на местном форуме только алкаш Витя.
Причем тут пики и атмелы?
Кто-то сказал, что часы делаются на пиках в основном?
Как раз нет. Я например и начал все радиолюбительство только из-за успешных запусков атмег и программатора к ним на 5 проводках, много ли бы я сделал такого на пиках?
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

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

Сообщение uldemir »

art100 писал(а):Когда же люди читать на учатся. Вы можете сказать в часах на ин-ках какого проца больше или нет?Ваша битовая маска чужеземец?
Пожалуйста, сам научить писать. Пишешь совершенно безграмотно, что и читать противно. Это уже один Вам минус в карму. Публикуешь совершенно ненужный и бесполезный "быдлокод", который никому, окромя Вас совершенно не интересен - второй минус в карму. И поменьше употребляйте пиво. Хотя бы не прилюдно.
Ответить

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