часы ардуино ds3231 max7219 ds18b20
- Сообщения: 5
- Зарегистрирован: Сб май 09, 2020 21:45:21
Скажите Пожалуйста. как выставить дату точнее 10 месяц с помощью кнопок. этот месяц проскакивает?не выставить ноль в еденицах месяца. (заменил батарейку в модуле часов и 10 месяц выставить не могу)
- Реклама
- Сообщения: 5
- Зарегистрирован: Сб май 09, 2020 21:45:21
В установке еденицы месяца ноль не выставить только 9 месяц или сразу 11
Вечером посмотрю
Добавлено after 2 hours 59 minutes 59 seconds:
попробуй в протеусе работает.
Добавлено after 2 hours 59 minutes 59 seconds:
попробуй в протеусе работает.
- Вложения
-
- chasy_matrica_temp_otricatelnaay.zip
- (209.44 КБ) 423 скачивания
спасибо, не доглядел.(теперь даже есть месяц 00 и 19).
исправил.
- Вложения
-
- chasy_matrica_temp_otricatelnaay.zip
- (209.45 КБ) 577 скачиваний
- Реклама
- Сообщения: 9
- Зарегистрирован: Чт авг 26, 2021 22:57:07
Здравствуйте. Помогите пожалуйста. Я не много переделал часы, исходник с амперки, под свои нужды. Добавил датчик давления ВМР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 КБ) 277 скачиваний
- Сообщения: 7
- Зарегистрирован: Пн авг 23, 2021 10:31:41
[quote="novax1"]Здравствуйте, стараюсь поставить 3 буквы, чтобы лучше обозначить дни недели
У меня часы с испанским переводом.
И снова здравствуйте, я решил текст,
Спасибо
это измененный текст с тремя буквами
Добавлено after 7 minutes 1 second:
[uquote="Papotyreg",url="/forum/viewtopic.php?p=4082571#p4082571"]Здравствуйте. Помогите пожалуйста. Я не много переделал часы, исходник с амперки, под свои нужды. Добавил датчик давления ВМР280 и датчик температуры и естественно убрал радио. Все вроде как нормально. Но есть одно но, при выводе текста (стринг) он не помещается в область матрицы. Я понимаю что вся проблема в самой функции "стринг" но как ее исправить незнаю. Всем откликнувшимся - Благодарю![/uquote]
Привет друг, когда это режим «Р-АВТО»? Можно менять скорость отображения,
меняется очень быстро.
спасибо, хорошая работа.
Код: Выделить всё
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, // символ градуса и буква С
};[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 пробел между символами)
} //
} Привет друг, когда это режим «Р-АВТО»? Можно менять скорость отображения,
меняется очень быстро.
спасибо, хорошая работа.
может разбить показания ... скажем три секунды показывает температуру, три секунды давление, три секунды влажность, а остальное время.Но есть одно но, при выводе текста (стринг) он не помещается в область матрицы.
- Сообщения: 7
- Зарегистрирован: Пн авг 23, 2021 10:31:41
Именно то, что я имел в виду, время длительности 2 секунды можно увеличить, чтобы оно не менялось так быстро,
Можете ли вы сказать мне, можете ли вы и как это изменить,
Спасибо
- Сообщения: 9
- Зарегистрирован: Чт авг 26, 2021 22:57:07
novax1, Это не моя разработка, я только немного добавил чужого кода. Я далеко не программист.
Скорость отображения можно менять путем правки строчки else disp=dispTab[second/10];
Режим "АВТО" Включается нажатием кнопки, и идет про счету как "Режим 9", кажется.
Serzh2000, ну программа так и работает. Просто сам текст выходит за рамки самой матрицы, при этом текст статичный. Я бы хотел чтоб если текст занимает больше 32 точек то он отображался как бегущая строка, тоесть чтоб было читаемо.
Я пытался в функцию стринг добавить вот такую часть:
Строчка побежала, но по одной букве, по очереди.
Скорость отображения можно менять путем правки строчки 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();}
- Сообщения: 7
- Зарегистрирован: Пн авг 23, 2021 10:31:41
решено спасибо
if(hour==22&&minute==55){ //
disp=dispTab2255[second/10]; //
prevTrans=0; // Если режим Авто - дисплей меняется каждые 3 секунды согласно таблице дисплеев
} //[
Я пытаюсь добавить этот код, но он не работает, вы можете поместить код, который вы изменили
Спасибо
- Сообщения: 9
- Зарегистрирован: Чт авг 26, 2021 22:57:07
novax1,Попробуйте так. Протестировать не могу но должно измениться
- Вложения
-
- Moi_Czasy8x32-50Secund.rar
- (32.87 КБ) 296 скачиваний
- Сообщения: 7
- Зарегистрирован: Пн авг 23, 2021 10:31:41
- Сообщения: 7
- Зарегистрирован: Пн авг 23, 2021 10:31:41
есть какое-то решение.
Спасибо
- Сообщения: 9
- Зарегистрирован: Чт авг 26, 2021 22:57:07
novax1, Опишите пожалуйста, подробно вашу проблему, поскольку у меня такого не было. Есть ли какая то закономерность?
Можно даже в личные сообщения писать, так как тема посвящена немного другой прошивке, не очень хочется засорять ее.
Можно даже в личные сообщения писать, так как тема посвящена немного другой прошивке, не очень хочется засорять ее.
- Сообщения: 7
- Зарегистрирован: Пн авг 23, 2021 10:31:41
[uquote="Papotyreg",url="/forum/viewtopic.php?p=4084886#p4084886"]novax1, Опишите пожалуйста, подробно вашу проблему, поскольку у меня такого не было. Есть ли какая то закономерность?
Можно даже в личные сообщения писать, так как тема посвящена немного другой прошивке, не очень хочется засорять ее.[/uquote]
Можно даже в личные сообщения писать, так как тема посвящена немного другой прошивке, не очень хочется засорять ее.[/uquote]
Здравствуйте, буду еще несколько дней тестировать, если проблема не исчезнет, постараюсь объяснить проблему.
Спасибо
да не ребята пишите здесь очень интереснотак как тема посвящена немного другой прошивке, не очень хочется засорять ее.
- Сообщения: 10
- Зарегистрирован: Пт сен 03, 2021 16:47:09
[uquote="Papotyreg",url="/forum/viewtopic.php?p=4083156#p4083156"]novax1, Это не моя разработка, я только немного добавил чужого кода. Я далеко не программист.
Скорость отображения можно менять путем правки строчки else disp=dispTab[second/10];
Режим "АВТО" Включается нажатием кнопки, и идет про счету как "Режим 9", кажется.
Serzh2000, ну программа так и работает. Просто сам текст выходит за рамки самой матрицы, при этом текст статичный. Я бы хотел чтоб если текст занимает больше 32 точек то он отображался как бегущая строка, тоесть чтоб было читаемо.
Я пытался в функцию стринг добавить вот такую часть:
Строчка побежала, но по одной букве, по очереди.[/uquote]
Часы на Arduino NANO + MAX7219 + FM приемник, добавил дни рождения и сам текст выходит за рамки самой матрицы, при этом текст статичный, где это исправи
Скорость отображения можно менять путем правки строчки 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 приемник, добавил дни рождения и сам текст выходит за рамки самой матрицы, при этом текст статичный, где это исправи


