Заголовок сообщения: Re: часы ардуино ds3231 max7219 ds18b20
Добавлено: Чт окт 29, 2020 21:33:31
Родился
Зарегистрирован: Сб май 09, 2020 21:45:21 Сообщений: 5
Рейтинг сообщения:0
Скажите Пожалуйста. как выставить дату точнее 10 месяц с помощью кнопок. этот месяц проскакивает?не выставить ноль в еденицах месяца. (заменил батарейку в модуле часов и 10 месяц выставить не могу)
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Здравствуйте. Помогите пожалуйста. Я не много переделал часы, исходник с амперки, под свои нужды. Добавил датчик давления ВМР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 пробел между символами) } // }
Здравствуйте. Помогите пожалуйста. Я не много переделал часы, исходник с амперки, под свои нужды. Добавил датчик давления ВМР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 пробел между символами) } // }
Привет друг, когда это режим «Р-АВТО»? Можно менять скорость отображения, меняется очень быстро. спасибо, хорошая работа.
Именно то, что я имел в виду, время длительности 2 секунды можно увеличить, чтобы оно не менялось так быстро, Можете ли вы сказать мне, можете ли вы и как это изменить, Спасибо
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();}
if(hour==22&&minute==55){ // disp=dispTab2255[second/10]; // prevTrans=0; // Если режим Авто - дисплей меняется каждые 3 секунды согласно таблице дисплеев } //[
Цитата:
Я пытаюсь добавить этот код, но он не работает, вы можете поместить код, который вы изменили Спасибо
novax1, Опишите пожалуйста, подробно вашу проблему, поскольку у меня такого не было. Есть ли какая то закономерность? Можно даже в личные сообщения писать, так как тема посвящена немного другой прошивке, не очень хочется засорять ее.
novax1, Опишите пожалуйста, подробно вашу проблему, поскольку у меня такого не было. Есть ли какая то закономерность? Можно даже в личные сообщения писать, так как тема посвящена немного другой прошивке, не очень хочется засорять ее.
Цитата:
Здравствуйте, буду еще несколько дней тестировать, если проблема не исчезнет, постараюсь объяснить проблему. Спасибо
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 приемник, добавил дни рождения и сам текст выходит за рамки самой матрицы, при этом текст статичный, где это исправи
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения