Обсуждаем электронику на колесах. Нужен увлажнитель воздуха для Камаза? Вам сюда.
Ответить

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

Чт окт 29, 2020 21:33:31

Скажите Пожалуйста. как выставить дату точнее 10 месяц с помощью кнопок. этот месяц проскакивает?не выставить ноль в еденицах месяца. (заменил батарейку в модуле часов и 10 месяц выставить не могу)

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

Пт окт 30, 2020 06:47:41

а в чем проблема? заходите в установки выбираете дату и ...

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

Пт окт 30, 2020 07:21:15

В установке еденицы месяца ноль не выставить только 9 месяц или сразу 11

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

Пт окт 30, 2020 12:27:32

Вечером посмотрю

Добавлено after 2 hours 59 minutes 59 seconds:
попробуй в протеусе работает.
Вложения
chasy_matrica_temp_otricatelnaay.zip
(209.44 KiB) Скачиваний: 318

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

Сб окт 31, 2020 09:35:08

(теперь даже есть месяц 00 и 19).

спасибо, не доглядел.
исправил.
Вложения
chasy_matrica_temp_otricatelnaay.zip
(209.45 KiB) Скачиваний: 455

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

Пн ноя 02, 2020 08:30:12

спасибо дружище!

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

Сб авг 28, 2021 11:05:55

Здравствуйте. Помогите пожалуйста. Я не много переделал часы, исходник с амперки, под свои нужды. Добавил датчик давления ВМР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 пробел между символами)
  }                                                                       //
}   
Вложения
Moi_Czasy8x32-_____.rar
(32.84 KiB) Скачиваний: 183

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

Сб авг 28, 2021 13:25:27

Извините, если беспокоюсь, если повторяю сообщения, я новичок.
Спасибо
Последний раз редактировалось novax1 Вс авг 29, 2021 11:43:02, всего редактировалось 1 раз.

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

Вс авг 29, 2021 12:52:25

[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:
Здравствуйте. Помогите пожалуйста. Я не много переделал часы, исходник с амперки, под свои нужды. Добавил датчик давления ВМР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

Вс авг 29, 2021 15:22:24

Но есть одно но, при выводе текста (стринг) он не помещается в область матрицы.

может разбить показания ... скажем три секунды показывает температуру, три секунды давление, три секунды влажность, а остальное время.

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

Вс авг 29, 2021 16:14:42

Именно то, что я имел в виду, время длительности 2 секунды можно увеличить, чтобы оно не менялось так быстро,
Можете ли вы сказать мне, можете ли вы и как это изменить,
Спасибо

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

Вс авг 29, 2021 16:58:17

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

решено спасибо

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


Я пытаюсь добавить этот код, но он не работает, вы можете поместить код, который вы изменили
Спасибо

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

Вс авг 29, 2021 23:25:55

novax1,Попробуйте так. Протестировать не могу но должно измениться
Вложения
Moi_Czasy8x32-50Secund.rar
(32.87 KiB) Скачиваний: 201

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

Пн авг 30, 2021 23:47:45

Спасибо

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

Ср сен 01, 2021 19:42:55

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

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

Ср сен 01, 2021 21:35:59

novax1, Опишите пожалуйста, подробно вашу проблему, поскольку у меня такого не было. Есть ли какая то закономерность?
Можно даже в личные сообщения писать, так как тема посвящена немного другой прошивке, не очень хочется засорять ее.

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

Ср сен 01, 2021 23:33:43

novax1, Опишите пожалуйста, подробно вашу проблему, поскольку у меня такого не было. Есть ли какая то закономерность?
Можно даже в личные сообщения писать, так как тема посвящена немного другой прошивке, не очень хочется засорять ее.


Здравствуйте, буду еще несколько дней тестировать, если проблема не исчезнет, ​​постараюсь объяснить проблему.
Спасибо

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

Чт сен 02, 2021 00:36:11

так как тема посвящена немного другой прошивке, не очень хочется засорять ее.
да не ребята пишите здесь очень интересно :shock:

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

Пт сен 03, 2021 16:52:26

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();}


Строчка побежала, но по одной букве, по очереди.

Часы на Arduino NANO + MAX7219 + FM приемник, добавил дни рождения и сам текст выходит за рамки самой матрицы, при этом текст статичный, где это исправи
Ответить