Дни недели.

Ответить
hatul
Сержант
Сообщения: 147
Зарегистрирован: 06 май 2017, 18:40
Откуда: Netanya

Дни недели.

Сообщение hatul »

Решил в свои часики добавить показ дней недели.Реализовать решил через сдвиговый регистр 74НС595.Схема такова:7 светодиодов подключаем к модулю часов через сдвиговый регистр. Каждый день загорается свой светодиод.Вроде ничего сложного,но довести до ума не получается.Пробовал два варианта. Первый вариант: просто подключил к часам сдвиговый регистр. Неделю работало нормально,а с субботы на воскресенье все светодиоды погасли. Начал разбираться.В FLProg зашел в настройки часов,а там стоит вместо воскресенья суббота.Пробую другие дни,просто устанавливаю время 23ч.58мин.,жду пару минут,все работает,день переключается.Доходит до субботы,конец,дальше день не переключается.Хотя время идет нормально.[spoiler]
Screen9.jpg
[/spoiler]
Попробовал второй вариант.Подключил счетчик.Здесь неважно какой день установлен в часах,после загрузки скетча загорается понедельник.
[spoiler]
Screen8.jpg
[/spoiler]
Подскажите,где собака зарылась!
Pr_1.flp
Pr_2.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Goosr
Сержант
Сообщения: 184
Зарегистрирован: 07 июн 2016, 08:25
Откуда: Тольятти
Имя: Дмитрий

Дни недели.

Сообщение Goosr »

А он дни недели не с 0 ли считает? :smile37:
FLProg 6.3.1 - 7.3.4 - Linux
mgr
Рядовой
Сообщения: 83
Зарегистрирован: 07 ноя 2015, 10:22

Дни недели.

Сообщение mgr »

Считает от 1 до 7. 1 - воскресенье..7- суббота
Dgordg
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Дни недели.

Сообщение Sancho »

[ref]mgr[/ref],
Вот что говорит код :)
[spoiler]

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

//Плата:1
get3231Date(0x68, &_RTC1);
_RTC1_GetTime1_StrOut = ( _dayNameFromRealTimeClockNumber(_RTC1.weekday)); 
// получаем день недели строкой функцией

_RTC1_GetTime1_DowOut = _RTC1.weekday; 
// получаем день недели числом

//Сама функция получения строки из числа
String _dayNameFromRealTimeClockNumber(byte value)
{
  switch (value) {
    case 1:                     // для 1
      return  String("Mon");  // вернём, по буржуйски, понедельник
      break;
    case 2:                       // для 2
      return  String("Tue"); // вторник и т.д.
      break;
    case 3:
      return  String("Wed");
      break;
    case 4:
      return  String("Thu");
      break;
    case 5:
      return  String("Fri");
      break;
    case 6:
      return  String("Sat");
      break;
    case 7:
      return  String("Sun");
      break;
  }
  return  String("");
[/spoiler]
Обратите внимание на цифры case и вызов функции в строке 3 :)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
mgr
Рядовой
Сообщения: 83
Зарегистрирован: 07 ноя 2015, 10:22

Дни недели.

Сообщение mgr »

[ref=#ff8000]Sancho[/ref], я сегодня код посмотреть не смогу к сожалению, но на выходе "Dow" (Byte) - 1 будет в воскресение.
Сегодня четверг - у меня на выходе пятёрка.
А вы наверное про стринговую говорите?
Dgordg
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Дни недели.

Сообщение Sancho »

mgr писал(а): 18 апр 2019, 11:43 Сегодня четверг - у меня на выходе пятёрка.
А вы наверное про стринговую говорите?
Странно - у меня сегодня, в четверг, 4 :)
[spoiler]
2019-04-18 09-07-32.JPG
[/spoiler]
[ref]hatul[/ref], или перед селектором прибавьте единицу, или добавьте ещё один выход Q7 и Q0 освободите.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
mgr
Рядовой
Сообщения: 83
Зарегистрирован: 07 ноя 2015, 10:22

Дни недели.

Сообщение mgr »

[ref=#ff8000]Sancho[/ref], Я сегодня всё равно не смогу посмотреть ничего. А вы можете проверить такое, у меня 3231 синхронизируются по NTP (и день в том числе) встроенному в flprog, может быть из за этого у меня так?
Ну по крайней мере не с 0-я начинается, как сделано у hatul, с чего пост то начался.
Dgordg
mgr
Рядовой
Сообщения: 83
Зарегистрирован: 07 ноя 2015, 10:22

Дни недели.

Сообщение mgr »

у него отсчёт с нуля наверное поэтому и пропадают показания?!
Dgordg
hatul
Сержант
Сообщения: 147
Зарегистрирован: 06 май 2017, 18:40
Откуда: Netanya

Дни недели.

Сообщение hatul »

Спасибо всем кто откликнулся.Приношу свои извинения,что долго не отвечал. Дело в том,что моя работа никаким образом не связана с компьютером,поэтому проверить советы,и отвечать я могу только вечером.
Goosr писал(а): 18 апр 2019, 07:42 А он дни недели не с 0 ли считает?
mgr писал(а): 18 апр 2019, 12:59 у него отсчёт с нуля наверное поэтому и пропадают показания?!
Да,с Q0. А как иначе? Если Q0 не подцеплен к сдв.регистру,то просто один день не горит.
Sancho писал(а): 18 апр 2019, 11:59 или перед селектором прибавьте единицу
Не совсем понял.Если Вы имели в виду так
Screen9.jpg
Просто дни стали показывать на день больше,но один день все равно не горит.
Sancho писал(а): 18 апр 2019, 11:59 или добавьте ещё один выход Q7 и Q0 освободите.
Так?
Screen8.jpg
Тоже самое.Первый день не горит.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Дни недели.

Сообщение Sancho »

[ref]hatul[/ref], У Вас дисплей есть, типа 1602?
Если да - загрузите проект из поста выше.
Насчёт прибавить 1 - ошибся, нужно в Вашем случае отнять.
Но для начала проект попробуйте :)
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
hatul
Сержант
Сообщения: 147
Зарегистрирован: 06 май 2017, 18:40
Откуда: Netanya

Дни недели.

Сообщение hatul »

Sancho писал(а): 18 апр 2019, 19:02 У Вас дисплей есть
Нет. Да и дело то я думаю не в дисплее. Вот нашел пост с похожей проблемой [scroll]при установке часов через соответствующее меню, воскресенье записывается как нулевой день недели, а при компиляции рабочего проекта - как седьмой. При выводе значений строкой параметр "D" не отображает воскресенье. Проблема незначительная, можно подправлять значение case sun на нуль. Заметил в последней версии, в 2.5 работало без проблем. В описании блока версии 3.0.3 воскресенье обозначено седьмым днем, а в 2.5 - нулевым.[/scroll]
К автору поста обратится не могу.Он последний раз был на форуме пол года назад.
Буду разбираться.
Ответить

Вернуться в «Помогите, а то я "нимагу"»

Кто сейчас на конференции

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