Страница 3 из 15

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Чт окт 29, 2020 21:33:31
Romik28
Скажите Пожалуйста. как выставить дату точнее 10 месяц с помощью кнопок. этот месяц проскакивает?не выставить ноль в еденицах месяца. (заменил батарейку в модуле часов и 10 месяц выставить не могу)

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Пт окт 30, 2020 06:47:41
Serzh2000
а в чем проблема? заходите в установки выбираете дату и ...

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Пт окт 30, 2020 07:21:15
Romik28
В установке еденицы месяца ноль не выставить только 9 месяц или сразу 11

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Пт окт 30, 2020 12:27:32
Serzh2000
Вечером посмотрю

Добавлено after 2 hours 59 minutes 59 seconds:
попробуй в протеусе работает.

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Сб окт 31, 2020 09:35:08
Serzh2000
(теперь даже есть месяц 00 и 19).
спасибо, не доглядел.
исправил.

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Пн ноя 02, 2020 08:30:12
validol64
спасибо дружище!

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Сб авг 28, 2021 11:05:55
Papotyreg
Здравствуйте. Помогите пожалуйста. Я не много переделал часы, исходник с амперки, под свои нужды. Добавил датчик давления ВМР280 и датчик температуры и естественно убрал радио. Все вроде как нормально. Но есть одно но, при выводе текста (стринг) он не помещается в область матрицы. Я понимаю что вся проблема в самой функции "стринг" но как ее исправить незнаю. Всем откликнувшимся - Благодарю!

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

// ---------------------------------------------------------------------- Печатаем текст
void showString(int x, char *s) {                                         // в х координаты начала текста (0-31), s - ссылка на масив символов.
  while(*s) {                                                             // запускаем цикл пока s не будет равна "0"
    unsigned char c = *s++;                                               //
    c -= 32;                                                              // наша таблица символов не содержит первых 32 символа по этому и - 32
    int w = showChar(c, x, font_ru);                                      // в W возвращаем значение из функции showChar (значение символа, где его печатать, какой шрифт)
    x += w + 1;                                                           // к координате прибавляем возвратное значение w (количество строк нашего символа + 1 пробел между символами)
  }                                                                       //
}   

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Сб авг 28, 2021 13:25:27
novax1
Извините, если беспокоюсь, если повторяю сообщения, я новичок.
Спасибо

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Вс авг 29, 2021 12:52:25
novax1
[quote="novax1"]Здравствуйте, стараюсь поставить 3 буквы, чтобы лучше обозначить дни недели

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

const uint8_t PROGMEM dweek_es[ ] = {11,                                    // Días de la semana 
0x09, 0xfe, 0x82, 0x82, 0x7c, 0x00, 0xfe, 0x82, 0x82, 0xfe, 0x00,    // DO (Domingo) 
0x09, 0x7e, 0x80, 0x80, 0x80, 0x00, 0x7e, 0x80, 0x80, 0x7e, 0x00,   // LU (lunes)
0x09, 0xfe, 0x14, 0x08, 0xfe, 0x00, 0xfe, 0x12, 0x12, 0xfe, 0x00,   // MA (martes)
0x09, 0xfe, 0x14, 0x08, 0xfe, 0x00, 0x82, 0xfe, 0x82, 0x00, 0x00,   // Mi (miércoles)
0x09, 0x40, 0x80, 0x80, 0x7e, 0x00, 0x7e, 0x80, 0x80, 0x7e, 0x00,   // JU (jueves)
0x09, 0x3c, 0x40, 0x80, 0x40, 0x3c, 0x00, 0x84, 0xfc, 0x84, 0x00,   // VI
0x09, 0x88, 0x94, 0x94, 0x64, 0x00, 0xf8, 0x14, 0x14, 0xf8, 0x00,     //SA
0x09, 0x02, 0x07, 0x02, 0x00, 0x7e, 0xff, 0x81, 0x81, 0x42, 0x00,   // símbolo de grado y letra C

} ;
У меня часы с испанским переводом.
И снова здравствуйте, я решил текст,
Спасибо

это измененный текст с тремя буквами

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

const uint8_t dweek_es[] PROGMEM = { 12,                                        // Шрифт дни недели (укр) 3 буквы
0x0B, 0xfc, 0x84, 0x78, 0x00, 0xfc, 0x84, 0xfc, 0x00, 0xfc, 0x38, 0xfc, // DOM 6x3 нед (неділя)
0x0B, 0xfc, 0x80, 0x80, 0x00, 0xfc, 0x80, 0xfc, 0x00, 0xfc, 0x04, 0xf8, // LUN 6x3 пон (понеділок)
0x0B, 0xfc, 0x38, 0xfc, 0x00, 0xfc, 0x14, 0xfc, 0x00, 0xfc, 0x14, 0xe8, // MAR 6x3 вів (вівторок)
0x0B, 0xfc, 0x38, 0xfc, 0x00, 0x84, 0xfc, 0x84, 0x00, 0xfc, 0x94, 0x84, // MIE 6x3 сер (середа)
0x0B, 0x40, 0x80, 0x7c, 0x00, 0xfc, 0x80, 0xfc, 0x00, 0xfc, 0x94, 0x84, // JUE 6x3 чет (четверг)
0x0B, 0x7c, 0x80, 0x7c, 0x00, 0x84, 0xfc, 0x84, 0x00, 0xfc, 0x94, 0x84, // VIE 6x3 пят (п'ятниця)
0x0B, 0x8c, 0x94, 0xe4, 0x00, 0xfc, 0x14, 0xfc, 0x00, 0xfc, 0x94, 0x68, // SAB 6x3 суб (субота)
0x0B, 0x06, 0x09, 0x09, 0x06, 0x00, 0x7E, 0xFF, 0x81, 0x81, 0xE7, 0x66, // символ градуса и буква С
};
Добавлено after 7 minutes 1 second:
[uquote="Papotyreg",url="/forum/viewtopic.php?p=4082571#p4082571"]Здравствуйте. Помогите пожалуйста. Я не много переделал часы, исходник с амперки, под свои нужды. Добавил датчик давления ВМР280 и датчик температуры и естественно убрал радио. Все вроде как нормально. Но есть одно но, при выводе текста (стринг) он не помещается в область матрицы. Я понимаю что вся проблема в самой функции "стринг" но как ее исправить незнаю. Всем откликнувшимся - Благодарю!

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

// ---------- Печатаем текст
void showString(int x, char *s) {                                         // в х координаты начала текста (0-31), s - ссылка на масив символов.
  while(*s) {                                                             // запускаем цикл пока s не будет равна "0"
    unsigned char c = *s++;                                               //
    c -= 32;                                                              // наша таблица символов не содержит первых 32 символа по этому и - 32
    int w = showChar(c, x, font_ru);                                      // в W возвращаем значение из функции showChar (значение символа, где его печатать, какой шрифт)
    x += w + 1;                                                           // к координате прибавляем возвратное значение w (количество строк нашего символа + 1 пробел между символами)
  }                                                                       //
}   
[/uquote]

Привет друг, когда это режим «Р-АВТО»? Можно менять скорость отображения,
меняется очень быстро.
спасибо, хорошая работа.

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Вс авг 29, 2021 15:22:24
Serzh2000
Но есть одно но, при выводе текста (стринг) он не помещается в область матрицы.
может разбить показания ... скажем три секунды показывает температуру, три секунды давление, три секунды влажность, а остальное время.

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Вс авг 29, 2021 16:14:42
novax1
Именно то, что я имел в виду, время длительности 2 секунды можно увеличить, чтобы оно не менялось так быстро,
Можете ли вы сказать мне, можете ли вы и как это изменить,
Спасибо

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Вс авг 29, 2021 16:58:17
Papotyreg
novax1, Это не моя разработка, я только немного добавил чужого кода. Я далеко не программист.
Скорость отображения можно менять путем правки строчки else disp=dispTab[second/10];

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

 if(hour==22&&minute==55){ //
disp=dispTab2255[second/10]; //
prevTrans=0; // Если режим Авто - дисплей меняется каждые 3 секунды согласно таблице дисплеев
} //[

Режим "АВТО" Включается нажатием кнопки, и идет про счету как "Режим 9", кажется.
Serzh2000, ну программа так и работает. Просто сам текст выходит за рамки самой матрицы, при этом текст статичный. Я бы хотел чтоб если текст занимает больше 32 точек то он отображался как бегущая строка, тоесть чтоб было читаемо.
Я пытался в функцию стринг добавить вот такую часть:

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

 int w = showChar(c, font_ru);
for (int i = 0; i < w + 1; i++) {
delay(200);
scrollLeft();
refreshAll();}
Строчка побежала, но по одной букве, по очереди.

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Вс авг 29, 2021 19:29:40
novax1
решено спасибо
if(hour==22&&minute==55){ //
disp=dispTab2255[second/10]; //
prevTrans=0; // Если режим Авто - дисплей меняется каждые 3 секунды согласно таблице дисплеев
} //[
Я пытаюсь добавить этот код, но он не работает, вы можете поместить код, который вы изменили
Спасибо

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Вс авг 29, 2021 23:25:55
Papotyreg
novax1,Попробуйте так. Протестировать не могу но должно измениться

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Пн авг 30, 2021 23:47:45
novax1
Спасибо

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Ср сен 01, 2021 19:42:55
novax1
:shock: Привет, друг, часы полностью останавливаются? очень часто.
есть какое-то решение.
Спасибо

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Ср сен 01, 2021 21:35:59
Papotyreg
novax1, Опишите пожалуйста, подробно вашу проблему, поскольку у меня такого не было. Есть ли какая то закономерность?
Можно даже в личные сообщения писать, так как тема посвящена немного другой прошивке, не очень хочется засорять ее.

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Ср сен 01, 2021 23:33:43
novax1
[uquote="Papotyreg",url="/forum/viewtopic.php?p=4084886#p4084886"]novax1, Опишите пожалуйста, подробно вашу проблему, поскольку у меня такого не было. Есть ли какая то закономерность?
Можно даже в личные сообщения писать, так как тема посвящена немного другой прошивке, не очень хочется засорять ее.[/uquote]
Здравствуйте, буду еще несколько дней тестировать, если проблема не исчезнет, ​​постараюсь объяснить проблему.
Спасибо

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Чт сен 02, 2021 00:36:11
Serzh2000
так как тема посвящена немного другой прошивке, не очень хочется засорять ее.
да не ребята пишите здесь очень интересно :shock:

Re: часы ардуино ds3231 max7219 ds18b20

Добавлено: Пт сен 03, 2021 16:52:26
anatolyj1970
[uquote="Papotyreg",url="/forum/viewtopic.php?p=4083156#p4083156"]novax1, Это не моя разработка, я только немного добавил чужого кода. Я далеко не программист.
Скорость отображения можно менять путем правки строчки else disp=dispTab[second/10];

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

 if(hour==22&&minute==55){ //
disp=dispTab2255[second/10]; //
prevTrans=0; // Если режим Авто - дисплей меняется каждые 3 секунды согласно таблице дисплеев
} //[

Режим "АВТО" Включается нажатием кнопки, и идет про счету как "Режим 9", кажется.
Serzh2000, ну программа так и работает. Просто сам текст выходит за рамки самой матрицы, при этом текст статичный. Я бы хотел чтоб если текст занимает больше 32 точек то он отображался как бегущая строка, тоесть чтоб было читаемо.
Я пытался в функцию стринг добавить вот такую часть:

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

 int w = showChar(c, font_ru);
for (int i = 0; i < w + 1; i++) {
delay(200);
scrollLeft();
refreshAll();}
Строчка побежала, но по одной букве, по очереди.[/uquote]
Часы на Arduino NANO + MAX7219 + FM приемник, добавил дни рождения и сам текст выходит за рамки самой матрицы, при этом текст статичный, где это исправи