Часы на 12864_ks0108 глупые вопросы

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить
Поставщик валерьянки для Кота
Сообщения: 1916
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Мои предложения о коде были "на первый взгляд". Вероятно необходима небольшая поправка. Ищите решение.
Контактная информация:
Реклама
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

Ждём, когда у veso74 закончится терпение :)))

Добавлено after 1 minute 19 seconds:
rezak, Вы хоть немного будете думать ? Хотя-бы чууууточку ?
Контактная информация:
Реклама
Открыл глаза
Сообщения: 77
Зарегистрирован: Сб дек 22, 2012 00:08:43
Откуда: На семи холмах

Сообщение rezak »

[uquote="Аlex",url="/forum/viewtopic.php?p=4748891#p4748891"]Добавлено after 1 minute 19 seconds:
rezak, Вы хоть немного будете думать ? Хотя-бы чууууточку ?[/uquote]

К чему эти сарказмы? Не знаете помолчите.
К Вам применима пословица: Умный промолчит, дурак никогда.

Добавлено after 1 hour 22 minutes 8 seconds:
Я написал что Я не программист:
И что вот эта строка изначально правильная!
u8g.drawStr(75, 10, den[DateTime.dayOfWeek-1]);
Осталось что-то добавить.

Радиокот стал похож на Вегалаб!
Там аудиозадроты начинают плевать через губу при расчете простого ООС-ника.
НО там хотя бы участники форума, здесь Модератор!!!
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

rezak писал(а):К чему эти сарказмы?
К тому, что Вы взялись за написание кода и говорите тут нам "Я не программист, сделайте всё за меня.", не желая вообще вникать в эту тему и думать.
rezak писал(а):НО там хотя бы участники форума, здесь Модератор!!!
Давно ли модератор перестал быть участником форума ? :facepalm:
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Мудрый кот
Сообщения: 1710
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

[uquote="rezak",url="/forum/viewtopic.php?p=4748894#p4748894"][uquote="Аlex",url="/forum/viewtopic.php?p=4748891#p4748891"]Добавлено after 1 minute 19 seconds:
rezak, Вы хоть немного будете думать ? Хотя-бы чууууточку ?[/uquote]
Радиокот стал похож на Вегалаб!
Там аудиозадроты начинают плевать через губу при расчете простого ООС-ника.
НО там хотя бы участники форума, здесь Модератор!!![/uquote]
Ты даже суть проблемы описать не можешь,то у тебя отображение не правильное-
1. Если часы установить в воскресенье ,то именно в этот день будет индикация будет "ВОСКРЕСЕНЬЕ" но уже на следующей неделе будет "ЯНВАРЯ" ,если в другой день то следующее "воскресенье" будет "января"
то синхронизация с чем то не понятным-
при синхронизации модуля NTP DS3231 отображать будет на 1 день меньше
Потому такие ответы,и зачем использовать тупые библиотеки которые не работают-
В скетче используется не стандартная библиотека ds3231.h С ней не компилируется выдает ошибки.
если полно правильных библиотек,которые работают исправно годами!

Добавлено after 5 minutes 36 seconds:
Или попробуй в лоб (правда это глупо)-
char * den[8]{"ВОСКРЕСЕНЬЕ","ПОНЕДЕЛЬНИК","ВТОРНИК","СРЕДА","ЧЕТВЕРГ","ПЯТНИЦА","СУББОТА","ВОСКРЕСЕНЬЕ"};
Реклама
Открыл глаза
Сообщения: 77
Зарегистрирован: Сб дек 22, 2012 00:08:43
Откуда: На семи холмах

Сообщение rezak »

Ты даже суть проблемы описать не можешь,то у тебя отображение не правильное-
1. Если часы установить в воскресенье ,то именно в этот день будет индикация будет "ВОСКРЕСЕНЬЕ" но уже на следующей неделе будет "ЯНВАРЯ" ,если в другой день то следующее "воскресенье" будет "января"
Что тут непонятного, НО учитывая следующий вопрос становится ясно.

то синхронизация с чем то не понятным-
при синхронизации модуля NTP DS3231 отображать будет на 1 день меньше
Ну..... если "Говорящий с текстолитом" не знает что такое NTP? тогда действительно зря Я задал вопрос.
Синхронизация модуля выглядит как-то так!
Synh.jpg
(194.69 КБ) 145 скачиваний
Потому такие ответы,и зачем использовать тупые библиотеки которые не работают-
В скетче используется не стандартная библиотека ds3231.h С ней не компилируется выдает ошибки.
если полно правильных библиотек,которые работают исправно годами!

Библиотека здесь не причем, Вы об этом прекрасно знаете, или нет? По крайней мере всегда можно открыть файл ds3231.h и например "Sublime_Text" посмотреть или подправить.

Добавлено after 5 minutes 36 seconds:
Или попробуй в лоб (правда это глупо)-
char * den[8]{"ВОСКРЕСЕНЬЕ","ПОНЕДЕЛЬНИК","ВТОРНИК","СРЕДА","ЧЕТВЕРГ","ПЯТНИЦА","СУББОТА","ВОСКРЕСЕНЬЕ"};

Здесь Вы сами ответили на свое предложение. Меня заставляют думать, Вы не думая даете глупые советы.
Реклама
Мудрый кот
Сообщения: 1710
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

Я не знаю что такое NTP и знать не хочу-оно мне не надо!
Тебе уже объяснили почему вместо воскресенья вылазит января,потому я и добавил в массив еще раз "воскресенье",но ты не хочешь думать зачем я такое предложил,а зря...
Я написал "глупо" потому что предложил ее как вариант-по хорошему надо рыться в библиотеке,которую кроме тебя никто ее не видел,а искать твою библиотеку которая у тебя не компилировалась но ты ее все равно используешь я не собираюсь-проще иголку в стоге сена найти!
Удачи!

Добавлено after 1 minute 16 seconds:
[uquote="rezak",url="/forum/viewtopic.php?p=4749131#p4749131"]Меня заставляют думать.[/uquote]
Думать полезно!
Открыл глаза
Сообщения: 77
Зарегистрирован: Сб дек 22, 2012 00:08:43
Откуда: На семи холмах

Сообщение rezak »

Novice user библиотеку и скетч Я выкладывал несколько постов назад! Это 2-я страница!!! Не нужно начинать читать книгу с середины ,понять потом очень сложно, о чем она вообще.
Мудрый кот
Сообщения: 1710
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

Читал с первого поста,где нет намека на NTP и библиотеки.Эту библиотеку нашел после того как написал предыдущий пост,прошу прощения!
Поставщик валерьянки для Кота
Сообщения: 1916
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

rezak, мы не знаем, откуда взялся код, есть ли какие-либо исправления и все ли сгенерировано корректно. Но вы можете отслеживать/debug простым способом/ происходящее - синхронизировать время и дату, выводить данные в Serial, сохранять данные в DS программой, извлекать данные из DS и выводить их в Serial и сравните, что не так. Фактически это 5-10 строк доп. кода. Так что неизвестных будет 0.

Вы даете мало информации (ничтожно мало, бы даже сказал: никакой. Только то, что является результатом загрузки программы). А без информации нам остается только гадать. Но не все умеют обращаться с магическим "стеклянным шаром" волшебнику, как бы мы ни хотели вам помочь.

На самом деле все просто. Если что-то сложное и с неясными данными, "разбейте" на простые и разбирайся в них последовательно. Если все еще сложно - новое разделение на более простые... Так все с программным кодом. (частично пользуюсь болгарско-русским переводчиком).

Прочитайте, как пользоваться Serial.begin(9600); ... Serial.println(x);
Контактная информация:
Открыл глаза
Сообщения: 77
Зарегистрирован: Сб дек 22, 2012 00:08:43
Откуда: На семи холмах

Сообщение rezak »

[uquote="Novice user",url="/forum/viewtopic.php?p=4749208#p4749208"]Тебе уже объяснили почему вместо воскресенья вылазит января,потому я и добавил в массив еще раз "воскресенье" !
Удачи![/uquote]

Да, не нужно ничего МАССИВеть, все гораздо проще. Я несколько раз написал что вот эта строка правильная:
u8g.drawStr(63, 10, den[DateTime.dayOfWeek-1]);
Вытащив из модуля аккумулятор LIR, начал листать числа,месяц,год и понял что день недели выставляет календарь DS3231.
Поэтому прописал в скетче вот так:

u8g.setPrintPos(0, 10); u8g.print(DateTime.day-1);
u8g.drawStr(13, 10, mes[DateTime.month-1]);
u8g.drawStr(63, 10, den[DateTime.dayOfWeek-1]);


Все установилось! НО!!! вместо 31-го числа месяца отображался 0!
Поэтому ниже пришлось прописать изменение диапазона чисел месяца +1:

(date>32){date=2;} и вуаля! Все заработало! Всем спасибо.
Вложения
28.09.jpg
(109.42 КБ) 132 скачивания
Мудрый кот
Сообщения: 1710
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

А зачем сделал так?

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

u8g.print(DateTime.day-1);
Тебе об этом никто не говорил!!!
А массивить-я тебе написал-это лишь предлоложение,я бы его попробовал !!!глупое,потому что тема твоя "глупая"-сам так в названии написал!
Я уже в протеусе схему нарисовал,думал покопатся,зря старался!
Вот так превый исходник с 1 поста-
Изображение

Добавлено after 5 minutes 19 seconds:
А вот только исправил массив (замассивил на твоем сленге :) )

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

char * den[8]{"ВОСКРЕСЕНЬЕ","ПОНЕДЕЛЬНИК","ВТОРНИК","СРЕДА","ЧЕТВЕРГ","ПЯТНИЦА","СУББОТА","ВОСКРЕСЕНЬЕ"};   
Изображение
Открыл глаза
Сообщения: 77
Зарегистрирован: Сб дек 22, 2012 00:08:43
Откуда: На семи холмах

Сообщение rezak »

[uquote="Novice user",url="/forum/viewtopic.php?p=4749293#p4749293"]А зачем сделал так?

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

u8g.print(DateTime.day-1);
Тебе об этом никто не говорил!!!
А массивить-я тебе написал-это лишь предлоложение,я бы его попробовал !!!глупое,потому что тема твоя "глупая"-сам так в названии написал!
Я уже в протеусе схему нарисовал,думал покопатся,зря старался!


[[/uquote]
Рисовать Тебе долго пришлось бы. Такие дисплеи подключаются не только по 8-bit но и по SPI_HW там всего 3pin без питания, рисовать в 5 раз меньше, а симулятору по барабану тип подключения дисплея.
Мудрый кот
Сообщения: 1710
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

Что там рисовать то?5 минут!!!В скетче подключение прописано-там включение по параллельной шине!

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

U8GLIB_KS0108_128 u8g(3, 4, 5,  6,  7,  8,  9,  10,   A0,  11,  12,   13, 2);     
                     //D0, D1, D2,  D3, D4, D5, D6, D7,  E,   CS1,CS2, DI, RW
Я так в протеусе и соединил,только пин14,которого нет в ардуино уно,заменил на А0
Изображение
Заменил вложение,выставил субботу,время 23-59-50,в 00-00-00 включилось воскресение.


----------------------------------------------------------------------------------------------------------
А вот с первого поста исходник-после субботы пишет "января"-
Изображение
Открыл глаза
Сообщения: 77
Зарегистрирован: Сб дек 22, 2012 00:08:43
Откуда: На семи холмах

Сообщение rezak »

Novice userпин14,которого нет в ардуино уно,заменил на А0

Оно так и есть 13, 14-А0, 15-А1, 16-А2........
НО! программно именно 13,14,15,16....... Поэтому в коде измени назад на 14, иначе ошибка будет.
Мудрый кот
Сообщения: 1710
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

Никакой ошибки нет-всегда так пишу,компилируется без проблем! Иначе как бы я получил файл HEX,чтоб его использовать в симуляторе?
Открыл глаза
Сообщения: 77
Зарегистрирован: Сб дек 22, 2012 00:08:43
Откуда: На семи холмах

Сообщение rezak »

Попробовал, да компилируется, но Я обычно смотрю в текстовом редакторе, IDE слишком тормозная, обрати внимание на подсветку синтаксиса.
Вложения
14.jpg
(60.29 КБ) 132 скачивания
А0.jpg
(60.3 КБ) 134 скачивания
OKF
Это не хвост, это антенна
Сообщения: 1423
Зарегистрирован: Вт июн 07, 2011 08:03:18

Сообщение OKF »

Умозаключения такие же как и вопросы.

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

#define LED_BUILTIN 13

#define PIN_A0   (14)
#define PIN_A1   (15)
#define PIN_A2   (16)
#define PIN_A3   (17)
#define PIN_A4   (18)
#define PIN_A5   (19)
#define PIN_A6   (20)
#define PIN_A7   (21)

static const uint8_t A0 = PIN_A0;
static const uint8_t A1 = PIN_A1;
static const uint8_t A2 = PIN_A2;
static const uint8_t A3 = PIN_A3;
static const uint8_t A4 = PIN_A4;
static const uint8_t A5 = PIN_A5;
static const uint8_t A6 = PIN_A6;
static const uint8_t A7 = PIN_A7;
Открыл глаза
Сообщения: 77
Зарегистрирован: Сб дек 22, 2012 00:08:43
Откуда: На семи холмах

Сообщение rezak »

[uquote="OKF",url="/forum/viewtopic.php?p=4749423#p4749423"]Умозаключения такие же как и вопросы.

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

#define LED_BUILTIN 13

#define PIN_A0   (14)
#define PIN_A1   (15)
#define PIN_A2   (16)
#define PIN_A3   (17)
#define PIN_A4   (18)
#define PIN_A5   (19)
#define PIN_A6   (20)
#define PIN_A7   (21)

static const uint8_t A0 = PIN_A0;
static const uint8_t A1 = PIN_A1;
static const uint8_t A2 = PIN_A2;
static const uint8_t A3 = PIN_A3;
static const uint8_t A4 = PIN_A4;
static const uint8_t A5 = PIN_A5;
static const uint8_t A6 = PIN_A6;
static const uint8_t A7 = PIN_A7;
[/uquote]
Опять двадцать пять массивов. Понял судя по этому: #define LED_BUILTIN 13 Это выдернуто из корневого каталога Ардуино. Тем не менее это ничего не меняет.

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

void setup() {
  //pinMode(20,INPUT);          // УСТ. ВРЕМЯ
  pinMode(16,INPUT_PULLUP);   // ЧАСЫ / ДАТА
  pinMode(17,INPUT_PULLUP);   // МИНУТЫ / МЕСЯЦ
  pinMode(15,INPUT_PULLUP);   // ОБНУЛЕНИЕ СЕКУНД / ГОД / УСТ. БУДИЛЬНИКА
  //pinMode(21,INPUT);          // УСТ. ДАТА-МЕСЯЦ-ГОД
  Wire.begin();
  clock.begin();
Так все же проще.
Ответить

Вернуться в «Arduino»