Напишите прошивку для светодиодных часов (Соник - халявщик)

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
АлександрЛ
Друг Кота
Сообщения: 43784
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение АлександрЛ »

roman.com писал(а):а ещё лучше вообще без кнопок))
достал телефон... нажал на кнопочку в телефоне... и часы сами установили точное время.
А зачем телефон доставать?
Раз в сутки корректировать время, считывая его с какого-нибудь специализированного сайта в интернете..
Накрылся интернет- и у вас "время кончилось". :))) :))) :)))

Добавлено after 1 hour 12 minutes 4 seconds:
[uquote="BOB51",url="/forum/viewtopic.php?p=4788502#p4788502"]Так вроде б там задачка под нестандартно-крупноформатный была...[/uquote]
Так тут куча вариантов- к одному и тому же МК, с одной и той же прошивкой, можно подключить как "низковольтные" (которым достаточно питания 5 вольт), так и "высоковольтные" - с питанием 9~12~24 вольта, индикаторы, и ОА, и ОК, и, даже ВЛИ- всё зависит от применённых ключей в управлении анодами и катодами (или сеткам) индикаторов. В принципе- даже ГРИ типа "панаплекс" тоже можно использовать.
Аватара пользователя
VNS
Говорящий с текстолитом
Сообщения: 1614
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение VNS »

[uquote="roman.com",url="/forum/viewtopic.php?p=4788617#p4788617"]в часах достаточно две кнопки... "set" и "+".[/uquote]
У данных устройств тоже можно оставить только две кнопки. Set - в обязательном варианте, Up или Down по желанию. Так как значение изменяется по кругу в любую сторону. Но имея для установки две кнопки, намного комфортнее производить установку. :tea:
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение roman.com »

две кнопки достаточно.
:tea:
АлександрЛ писал(а):Накрылся интернет- и у вас "время кончилось".
поэтому я отключил синхронизацию по интернету и включил синхронизацию по телефону в ручном режиме.
всё под контролем.
:tea:
Аватара пользователя
VNS
Говорящий с текстолитом
Сообщения: 1614
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение VNS »

В качестве бонуса прошивка для ATtiny24A. Тактовая частота 8 МГц (Low = 0xE2; High = 0xDF).
Clock_DS3231_LED6_tiny24A.hex
(5.37 КБ) 16 скачиваний
Схема:
Изображение
Алгоритм управления не изменился. :beer:
Аватара пользователя
Соник
Друг Кота
Сообщения: 7561
Зарегистрирован: Пн мар 22, 2010 11:01:14
Откуда: СССР, г. Москва.

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение Соник »

Сейчас о5 напишут, что всё неправильно :)))
Я рожден при социализме, и я этим горжусь!
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение BOB51 »

Обычно принято ориентироваться на то, что у задавшего вопрос в наличии имеется (з ранее предложенных вариантов).
А уже при согласовании варианта конструкции и средств разработки программ доводку до ума совместно делать.
8)
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение roman.com »

[uquote="Соник",url="/forum/viewtopic.php?p=4788865#p4788865"]Сейчас о5 напишут, что всё неправильно[/uquote]
Да, сейчас напишут ))
:tea:
две кнопки удобней чем три.
:roll:

1. у меня на столе дома часы с кучей кнопок... но я пользуюсь только двумя... "set" и "+".
протянул руку... нащупал две кнопки... и на ощупь настроил время.
-нажали "set" мигают часы. -нажали "+" установили часы 0...23 часа.
-нажали "set" мигают минуты. -нажали "+" установили минуты 0...59 минут.
-нажали "set" ничего не мигает.
:tea:

2. у меня на стене на работе часы с тремя кнопками... но я пользуюсь только двумя... "set" и "+".
встал на табуретку... протянул руку... нащупал две кнопки... и на ощупь настроил время.
-нажали "set" мигают часы. -нажали "+" установили часы 0...23 часа.
-нажали "set" мигают минуты. -нажали "+" установили минуты 0...59 минут.
-нажали "set" ничего не мигает.
:tea:

3. и т.д.

Вывод:
две кнопки удобней чем три.
проверенно многолетней практикой.))
:tea:

Добавлено after 4 minutes 5 seconds:
Re: Напишите прошивку для светодиодных часов (Соник - халявщик)
далее...
Схема:
-если вместо транзисторов поставить ещё два регистра то получим замечательные часы со статической индикацией))
:tea:

Добавлено after 15 minutes 14 seconds:
Re: Напишите прошивку для светодиодных часов (Соник - халявщик)
далее...
-если вместо транзисторов и регистров взять МК побольше то получим замечательные часы со статической индикацией))

Изображение

прикольно))
:tea:
Вложения
схема.jpg
(70.21 КБ) 331 скачивание
veso74
Поставщик валерьянки для Кота
Сообщения: 1903
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение veso74 »

Часть кнопок и идея из часов "Электроника": две кнопки: +H и +M.
Clock: кварцевой, всегда идут "назад". Напр. через месяц: один раз +M. Конец настойки.
Несколько таких часов работают. Так проверяю и свои прогр. коды и идеи для часы на МК.
(можно плюс еще 2 кнопки: сброс минут и reset).

С большим количеством кнопок: все работает, все регулируется и все ОК (и секунд, и +/- удобно),
но с SET ... "Какая кнопка была для настройки? Где SET? Зачем нет реакции? Ах, да! Была другая кнопка" ... и т.д.

Лично с двумя кнопками удобнее.

Изображение
OKF
Это не хвост, это антенна
Сообщения: 1385
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение OKF »

Это смотря для каких целей. Бывает что и 5-ти кнопок мало, хотелось бы ещё одну.)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение BOB51 »

Если с режимом, обслуживающим одновременное нажатие нескольких кнопок, то и четырёх достаточно вполне будет.
8)
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение akl »

[uquote="veso74",url="/forum/viewtopic.php?p=4788879#p4788879"]...всегда идут "назад". Напр. через месяц: один раз +M. Конец настойки...[/uquote]Если часы намеренно настроены на отставание (см. картинку) можно обойтись и 1 кнопкой. Установка по кругу с ускорением, аналогично автомобильным часам.
Изображение
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение roman.com »

-если это просто часы то хватит две кнопки: +H и +M.
-если это часы с будильником то надо две кнопки: "set" и "+".
:tea:

Добавлено after 13 minutes 52 seconds:
[uquote="roman.com",url="/forum/viewtopic.php?p=4788870#p4788870"]-если вместо транзисторов и регистров взять МК побольше то получим замечательные часы со статической индикацией[/uquote]
а если взять МК ещё больше то получим ещё больше замечательные часы со статической индикацией))

Изображение

:tea:
Вложения
схема_2.jpg
(65.05 КБ) 219 скачиваний
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение BOB51 »

Кыстати...
Любые светодиодные часейки на едином МК содержат автономный ("псевдопараллельный") процесс регенерации дисплея...
Обычно какой нибудь источник тактирования с прерыванием и набор обслуживающих то прерывание фрагментов.
Может и с опросом клавиатуры совещенным бысть... Но то уж кому чего интереснее...
Организация самой программы зависит от типа МК и возможностей системы команд. Оптимально на ассемблере, но вполне успешно и ЯВУ справляются...
8)
А при наличии кучи лапок вполне реально и на матрицы перестроить - в том, что выше roman.com разрисовал вполне себе можно и на 5 позиций матриц 8*8 извратиться (динамическая развертка с раздельной регулировкой яркости минимум по каждой из позиций)...
:wink:
Аватара пользователя
VNS
Говорящий с текстолитом
Сообщения: 1614
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение VNS »

[uquote="BOB51",url="/forum/viewtopic.php?p=4788866#p4788866"]А уже при согласовании варианта конструкции и средств разработки программ доводку до ума совместно делать.
8)[/uquote]
Мы как раз совместно и обсудили в ЛС, что кому нужно (чтобы Рома не мешал со своей Мурзилкой). :))) На основании высказанных пожеланий было написано три программы. Бонус для тини24 был сделан ради проверки - 1) "Влезет" ли код в данный МК с небольшими доработками в алгоритме. Как оказалось, ещё осталось свободно 50 слов для небольших добавлений при необходимости. 2) Проверил свечение не супер-яркого индикатора в таком алгоритме при указанных номиналах резисторов сегментов.
Вот собственно и всё. Каждый получил, то что хотел. Я, гимнастику для мозга, а остальные то, что пожелали. :beer:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15545
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение BOB51 »

Тогда-то пора спааткиии...
8)
:sleep: :sleep: :sleep:
Аватара пользователя
VNS
Говорящий с текстолитом
Сообщения: 1614
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение VNS »

Приятных снов! :)
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение roman.com »

BOB51 писал(а):Организация самой программы зависит от типа МК и возможностей системы команд. Оптимально на ассемблере, но вполне успешно и ЯВУ справляются...
ЯВУ ? ты пишешь для МК на ЯВУ ?
:roll:
никогда не писал для МК на ЯВУ...
покажи пример...
:tea:
Аватара пользователя
Starichok51
Модератор
Сообщения: 19039
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение Starichok51 »

roman.com писал(а):получим ещё больше замечательные часы со статической индикацией
заболбал ты уже всех со своей статической индикацией.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
roman.com
Друг Кота
Сообщения: 9147
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение roman.com »

:)))
так было задумано.
:tea:
OKF
Это не хвост, это антенна
Сообщения: 1385
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Напишите прошивку для светодиодных часов (Соник - халявщ

Сообщение OKF »

[uquote="roman.com",url="/forum/viewtopic.php?p=4789150#p4789150"]никогда не писал для МК на ЯВУ...
покажи пример...[/uquote]
Рома, ты прикалываешься?
Спойлер

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

#include "main.h"
#include "led_classic.h"


static const uint8_t segment[] = { SEGMENT };
static const uint8_t common[]  = { COMMON };

void ledInit() {
  for (uint8_t i = 0; i < sizeof(segment); i++)
    out(segment[i]);
  for (uint8_t i = 0; i < sizeof(common); i++)
    out(common[i]);
}


static uint8_t segment_buffer[sizeof(common)];

// Вызов с периодом <= 12 / COMMON_MAX, ms (>= 60Hz)
void ledTick() {
  static uint8_t com;

  com_off(common[com]);
  if (++com >= sizeof(common))
    com = 0;
  for (uint8_t i = 0; i < sizeof(segment); i++)
    write(segment[i], !!(segment_buffer[com] & 1<<i) == CC);
  com_on(common[com]);
}


static const uint8_t font[] PROGMEM = {
  //gfedcba
  0b0111111,                            //0     a
  0b0000110,                            //1    --
  0b1011011,                            //2  f|  |b
  0b1001111,                            //3   g--
  0b1100110,                            //4  e|  |c
  0b1101101,                            //5    -- .h
  0b1111101,                            //6     d
  0b0000111,                            //7
  0b1111111,                            //8
  0b1101111,                            //9
  0b1110111,                            //A
  0b1111100,                            //b
  0b0111001,                            //C
  0b1011110,                            //d
  0b1111001,                            //E
  0b1110011                             //F
  //gfedcba
};
#define H_SEGMENT         (1<<7)

static uint8_t getFont(uint8_t dig) {
  return pgm_read_byte(&font[dig & 0x0f]);
}


static uint8_t dot_position;

// right justify
void display(uint16_t bin) {
  bool nz = false;
  uint8_t i = 0;
  for (uint16_t div = DIVIDER; div > 1; div /= 10, i++) {
    if (bin / div)
      nz = true;
    segment_buffer[i] = 0;
    if (nz)
      segment_buffer[i] = getFont(bin / div);
    bin %= div;
  }
  segment_buffer[i] = getFont(bin);
  if (dot_position)
    segment_buffer[dot_position - 1] |= H_SEGMENT;
}


void setDot(uint8_t pos) {
  dot_position = pos;
}
Ответить

Вернуться в «Разные вопросы по МК»