Например TDA7294

Форум РадиоКот • Просмотр темы - Часы на 12864_ks0108 глупые вопросы
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс дек 14, 2025 09:38:05

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 39 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Чт сен 25, 2025 14:45:00 
Открыл глаза

Зарегистрирован: Сб дек 22, 2012 00:08:43
Сообщений: 77
Откуда: На семи холмах
Рейтинг сообщения: 0
Добрый день уважаемые коты!
Нашел скетч Ардуино часов на 12864, время ds3231 устанавливается скетчем SetTime.
Проблема в том:
1. Если часы установить в воскресенье ,то именно в этот день будет индикация будет "ВОСКРЕСЕНЬЕ" но уже на следующей неделе будет "ЯНВАРЯ" ,если в другой день то следующее "воскресенье" будет "января"

char * den[7]{"ВОСКРЕСЕНЬЕ","ПОНЕДЕЛЬНИК","ВТОРНИК","СРЕДА","ЧЕТВЕРГ","ПЯТНИЦА","СУББОТА"};

Если в этой строке изменить положение дней недели то первый день всегда будет "января"
2. Как изменить значение в строке

u8g.drawStr(75, 10, den[DateTime.dayOfWeek]);

Чтоб день недели отображался не с 75 строки а с -128, т.е. с правого верхнего угла в другую сторону.
Спасибо!


Вложения:
IMG_3080.jpg [80.95 KiB]
Скачиваний: 59
PG12864K_KS0108_clock.7z [1.13 KiB]
Скачиваний: 33
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Чт сен 25, 2025 16:15:56 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4593
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
rezak писал(а):
1. Если часы установить в воскресенье ,то именно в этот день будет индикация будет "ВОСКРЕСЕНЬЕ" но уже на следующей неделе будет "ЯНВАРЯ" ,если в другой день то следующее "воскресенье" будет "января"

char * den[7]{"ВОСКРЕСЕНЬЕ","ПОНЕДЕЛЬНИК","ВТОРНИК","СРЕДА","ЧЕТВЕРГ","ПЯТНИЦА","СУББОТА"};

Если в этой строке изменить положение дней недели то первый день всегда будет "января"
Мне почему-то кажется, что Вы сами не поняли, что тут написали :)))

rezak писал(а):
2. Как изменить значение в строке

u8g.drawStr(75, 10, den[DateTime.dayOfWeek]);

Чтоб день недели отображался не с 75 строки а с -128, т.е. с правого верхнего угла в другую сторону.
Что за 75-ая строка ? И что за строка "-128" ? Что за дисплей у Вас там ? Ещё и в другую сторону :)))

PS: Можно более подробнее и понятнее вопросы задать ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Чт сен 25, 2025 16:31:38 
Открыл глаза

Зарегистрирован: Сб дек 22, 2012 00:08:43
Сообщений: 77
Откуда: На семи холмах
Рейтинг сообщения: 0
Как подробнее объяснить Первый вопрос-не знаю! Ошибка в скетче.
Вместо первого дня недели в строке которую Я написал всегда будет «ЯНВАРЯ»
Сама строка здесь не причем - ошибка в скетче!

Изначально пишется с 75 линии (не принципиально можно с любой) с лево на право!
Нужно: День недели написать от 128 линии СПРАВО на ЛЕВО!


Вложения:
IMG_3080.jpeg [86.46 KiB]
Скачиваний: 44
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Чт сен 25, 2025 17:09:44 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4593
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
rezak писал(а):
Как подробнее объяснить Первый вопрос-не знаю!
Ну, я тоже с трудом представляю, как понять вот это предложение (разбил его на 2 части) :
rezak писал(а):
Если часы установить в воскресенье ,то именно в этот день будет индикация будет "ВОСКРЕСЕНЬЕ"
rezak писал(а):
но уже на следующей неделе будет "ЯНВАРЯ"

Теперь Вы пишете совсем другое :
rezak писал(а):
Вместо первого дня недели в строке которую Я написал всегда будет «ЯНВАРЯ»

Вопрос - так на следующей неделе будет "ЯНВАРЯ", или постоянно ?

rezak писал(а):
Нужно: День недели написать от 128 линии СПРАВО на ЛЕВО!
Это нужно смотреть, умеет ли библиотека зеркалить текст.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Чт сен 25, 2025 17:25:01 
Открыл глаза

Зарегистрирован: Сб дек 22, 2012 00:08:43
Сообщений: 77
Откуда: На семи холмах
Рейтинг сообщения: 0
[uquote="Аlex",url="/forum/viewtopic.php?p=4748477#p4748477"]
rezak писал(а):
rezak писал(а):
Вместо первого дня недели в строке которую Я написал всегда будет «ЯНВАРЯ»

Вопрос - так на следующей неделе будет "ЯНВАРЯ", или постоянно ?

ПОСТОЯННО!!! Постоянней некуда! Первый день недели будет «ЯНВАРЯ» утащу «воскресенье» в конец строки значит «понедельник» будет «января»


Вложения:
IMG_3081.jpeg [93.96 KiB]
Скачиваний: 43
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Чт сен 25, 2025 17:59:20 
Мудрый кот

Карма: 25
Рейтинг сообщений: 486
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1791
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
DS3231 Day = [1–7], а массив: [0..6]

Попробуйте:
Код:
u8g.drawStr(75, 10, den[DateTime.dayOfWeek-1]);

Насколько понимаю, хотите, чтобы день недели был "зеркальным"? Назовите объективную причину?
Насколько зеркальным должен быть? С перевернутыми или переставленными буквами?
(+ транслейт БГ->РУ)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Чт сен 25, 2025 20:16:14 
Открыл глаза

Зарегистрирован: Сб дек 22, 2012 00:08:43
Сообщений: 77
Откуда: На семи холмах
Рейтинг сообщения: 0
DS3231 Day = [1–7], а массив: [0..6]

Попробуйте:
Код:
u8g.drawStr(75, 10, den[DateTime.dayOfWeek-1]);

Насколько понимаю, хотите, чтобы день недели был "зеркальным"? Назовите объективную причину?
Насколько зеркальным должен быть? С перевернутыми или переставленными буквами?
(+ транслейт БГ->РУ)


Я не программист: u8g.drawStr(75, 10, den[DateTime.dayOfWeek-1]); Вот это Я пробовал,
но без DS3231 Day = [1–7]; [0..6] это куда вставить?
В скетче который в 1-ом посте показать можете?

Я хотел отцентровать верхнюю строку справа иначе получается так: 75 линия( я увеличил было 63 линия "Сентября" самый длинный по буквам месяц+ воскресенье или понедельник) верхняя надпись сливалась полностью в одну строку. с 75-ой не отображает 2 последние буквы воскресенье и понедельник ,но хотя бы не сливается.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Пт сен 26, 2025 09:02:21 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4593
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
rezak писал(а):
Я не программист
Вам бы ещё научиться правильно свои мысли выражать.
Ну вот что тут написано :
rezak писал(а):
Я хотел отцентровать верхнюю строку справа иначе получается так: 75 линия( я увеличил было 63 линия "Сентября" самый длинный по буквам месяц+ воскресенье или понедельник) верхняя надпись сливалась полностью в одну строку. с 75-ой не отображает 2 последние буквы воскресенье и понедельник ,но хотя бы не сливается.
?
Это же никаким расшифровщиком не расшифровать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Пт сен 26, 2025 09:30:47 
Мудрый кот

Карма: 25
Рейтинг сообщений: 486
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1791
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Надпись "скручиваем" как на старинных часах, где дисплей был маленьким. Вариантов много. Пример:
Код:
char * den[7]{"ВОС","ПОН","ВТ","СР","ЧЕТ","ПЯТ","СУБ"};

Подумайте о других вариантах, поэкспериментируйте. В этом и заключается хобби.
Уверен, что в комнате, где находитесь, есть как минимум 10 устройств, по которым можете узнать время.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Пт сен 26, 2025 10:26:50 
Открыл глаза

Зарегистрирован: Сб дек 22, 2012 00:08:43
Сообщений: 77
Откуда: На семи холмах
Рейтинг сообщения: 0
Надпись "скручиваем" как на старинных часах, где дисплей был маленьким. Вариантов много. Пример:
Код:
char * den[7]{"ВОС","ПОН","ВТ","СР","ЧЕТ","ПЯТ","СУБ"};

Подумайте о других вариантах, поэкспериментируйте. В этом и заключается хобби.
Уверен, что в комнате, где находитесь, есть как минимум 10 устройств, по которым можете узнать время.


Дело не в этом, а в том что отображение не правильно. Вы выше писали как сделать покажите пожалуйста в скетче как это прописать.

Добавлено after 8 minutes 45 seconds:
DS3231 Day = [1–7], а массив: [0..6]

Попробуйте:
Код:
u8g.drawStr(75, 10, den[DateTime.dayOfWeek-1]);


Я вот это имею ввиду

Добавлено after 25 minutes 1 second:
В скетче прописана координата для всех дней недели(в данном случае 75.И получается вот так:
ВОСКРЕСЕНЬЕ
ПОНЕДЕЛЬНИК
ВТОРНИК
СРЕДА
ЧЕТВЕРГ
ПЯТНИЦА
СУББОТА
а хотелось вот так:
ВОСКРЕСЕНЬЕ
ПОНЕДЕЛЬНИК
-----ВТОРНИК
--------СРЕДА
------ЧЕТВЕРГ
-----ПЯТНИЦА
-----СУББОТА
u8g.drawStr(75, 10, den[DateTime.dayOfWeek])
Эта строка задает координату с 75-128 линии отображения дня недели, можно ее изменить для каждого дня недели отдельно.
Спасибо!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Пт сен 26, 2025 11:01:57 
Мудрый кот

Карма: 25
Рейтинг сообщений: 486
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1791
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
x12 символов, замените '-' на 'пробел'
Код:
char * den[7]{"-ВОСКРЕСЕНЬЕ","-ПОНЕДЕЛЬНИК","-----ВТОРНИК","--------СРЕДА","------ЧЕТВЕРГ","-----ПЯТНИЦА","-----СУББОТА"};


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Пт сен 26, 2025 12:05:45 
Открыл глаза

Зарегистрирован: Сб дек 22, 2012 00:08:43
Сообщений: 77
Откуда: На семи холмах
Рейтинг сообщения: 0
veso74 Спасибо, все оказалось очень просто.
Тем не менее "ЯНВАРЬ" никуда не делся.


Вложения:
IMG_3083.jpg [229.63 KiB]
Скачиваний: 45
IMG_3082.jpg [255.14 KiB]
Скачиваний: 46
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Пт сен 26, 2025 15:56:45 
Говорящий с текстолитом

Карма: 11
Рейтинг сообщений: 93
Зарегистрирован: Вт янв 05, 2016 10:14:25
Сообщений: 1632
Откуда: поселок Мелеуз
Рейтинг сообщения: 0
Тебе же написали-напиши u8g.drawStr(75, 10, den[DateTime.dayOfWeek-1]); ,что не понятного?
DS3231 выдает день недели в формате 1,2,3,4,5,6,7-тебе об этом писали
Цитата:
DS3231 Day = [1–7]

,а массив начинается с 0,то есть 0,1,2,3,4,5,6,тебе и об этом писали
Цитата:
массив: [0..6]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Сб сен 27, 2025 09:35:20 
Открыл глаза

Зарегистрирован: Сб дек 22, 2012 00:08:43
Сообщений: 77
Откуда: На семи холмах
Рейтинг сообщения: 0
Тебе же написали-напиши u8g.drawStr(75, 10, den[DateTime.dayOfWeek-1]); ,что не понятного?
[/quote]

Я писал выше что делал так. При листании да, все дни недели правильные. Но при синхронизации модуля NTP DS3231 отображать будет на 1 день меньше. На фото сегодняшняя синхронизация: день "ПЯТНИЦА".
Прописал строку: u8g.print(DateTime.dayOfWeek+1); не помогло.


Вложения:
2025-09-27_093411.jpg [74.85 KiB]
Скачиваний: 26
IMG_3085.jpg [223.51 KiB]
Скачиваний: 28
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Сб сен 27, 2025 09:54:04 
Мудрый кот

Карма: 25
Рейтинг сообщений: 486
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1791
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
хотя в документации DS3231 нет так, в пример RTClib. Попробуйте:
Код:
char * mes[]{"x", "ЯНВАРЯ","ФЕВРАЛЯ","МАРТА","АПРЕЛЯ","МАЯ","ИЮНЯ","ИЮЛЯ","АВГУСТА","СЕНТЯБРЯ","ОКТЯБРЯ","НОЯБРЯ","ДЕКАБРЯ"};   
char * den[7]{"-ВОСКРЕСЕНЬЕ","-ПОНЕДЕЛЬНИК","-----ВТОРНИК","--------СРЕДА","------ЧЕТВЕРГ","-----ПЯТНИЦА","-----СУББОТА"}

и
Код:
u8g.drawStr(26, 10, mes[DateTime.month]);
u8g.drawStr(75, 10, den[DateTime.dayOfWeek]);


Последний раз редактировалось veso74 Сб сен 27, 2025 11:09:07, всего редактировалось 3 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Сб сен 27, 2025 09:55:24 
Открыл глаза

Зарегистрирован: Сб дек 22, 2012 00:08:43
Сообщений: 77
Откуда: На семи холмах
Рейтинг сообщения: 0
В скетче используется не стандартная библиотека ds3231.h С ней не компилируется выдает ошибки.
Вот эта: jarzebski DS3231 master
Ниже скетч и библиотека 3231, все остальное стандартное из пакета Ардуино.


Вложения:
часы.txt [2.51 KiB]
Скачиваний: 20
PG12864K_KS0108_clock.7z [1.13 KiB]
Скачиваний: 17
Arduino-DS3231-dev.zip [16.65 KiB]
Скачиваний: 18


Последний раз редактировалось rezak Сб сен 27, 2025 10:17:00, всего редактировалось 4 раз(а).
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Сб сен 27, 2025 10:00:52 
Мудрый кот

Карма: 25
Рейтинг сообщений: 486
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1791
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
Как правило для вопроса: поделитесь всем кодом, включая используемые библиотеки и модификации.
В противном случае не узнаем, кто что заменил.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Сб сен 27, 2025 10:58:06 
Открыл глаза

Зарегистрирован: Сб дек 22, 2012 00:08:43
Сообщений: 77
Откуда: На семи холмах
Рейтинг сообщения: 0
veso74 Как Вы предложили выше не компилируется.

char * mes[12]{"x", "ЯНВАРЯ","ФЕВРАЛЯ","МАРТА","АПРЕЛЯ","МАЯ","ИЮНЯ","ИЮЛЯ","АВГУСТА","СЕНТЯБРЯ","ОКТЯБРЯ","НОЯБРЯ","ДЕКАБРЯ"};
Ошибка в этой строке: "x",


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Сб сен 27, 2025 11:08:39 
Мудрый кот

Карма: 25
Рейтинг сообщений: 486
Зарегистрирован: Сб май 05, 2012 20:24:52
Сообщений: 1791
Откуда: KN34PC, Болгария
Рейтинг сообщения: 0
char * mes[] ...

в примерах DS3231: customWire_DS3231onSAMD21:
Спойлер
Код:
String daysNames[] = {
  "Sunday",
  "Monday",
  "Tuesday",
  "Wednesday",
  "Thursday",
  "Friday",
  "Saturday"
};
String monthsNames[] = {
  "-",
  "January",
  "February",
  "March",
  "April",
  "May",
  "June",
  "July",
  "August",
  "September",
  "October",
  "November",
  "December"
};

Код:
Serial.print(daysNames[dt.dayOfTheWeek()]);
  Serial.print(" ");
  Serial.print(monthsNames[dt.month()]);
  Serial.print(" ");


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Часы на 12864_ks0108 глупые вопросы
СообщениеДобавлено: Сб сен 27, 2025 11:33:05 
Открыл глаза

Зарегистрирован: Сб дек 22, 2012 00:08:43
Сообщений: 77
Откуда: На семи холмах
Рейтинг сообщения: 0
veso74 char * mes[] ...

Вот так

Добавлено after 2 minutes 11 seconds:
Serial.print(daysNames[dt.dayOfTheWeek()]);
Serial.print(" ");
Serial.print(monthsNames[dt.month()]);
Serial.print(" ");

12864_KS0108_clock:19: error: 'daysNames' was not declared in this scope


Вложения:
IMG_3087.jpg [209.35 KiB]
Скачиваний: 31
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 39 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y