Помогите реализовать

Вопросы от новичков
DanilaWERT
Сержант
Сообщения: 147
Зарегистрирован: 01 дек 2018, 14:20
Имя: danila

Помогите реализовать

Сообщение DanilaWERT »

У меня задача такая..В зависимости от количества прошедших дней снижать плавно температуру.С этим справился,но..Отсчет должен начинаться в 0 часов.Вот здесь засада.Никак не получается.Да и чувствую неправильно с записью в епром сделал.Ведь будет каждый 0й час перезаписывать переменную.Так?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
grin-mpx
Лейтенант
Сообщения: 477
Зарегистрирован: 17 июл 2017, 18:39
Откуда: Днепр. UA
Имя: Григорий

Помогите реализовать

Сообщение grin-mpx »

Запись в EEPROM я бы сделал через R триггер.
Еще нюанс, если перезапустить ардуину, то счетчик естественно обнулится и цикл сброса температуры начнется с начала. Не знаю цель данного проекта, но возможно имеет смысл записывать в память день, время старта и далее сравнивать с текущими временными данными.
Для этого придется либо делать блок нелинейного масштабирования или сделать массив количество часов -температура.
DanilaWERT
Сержант
Сообщения: 147
Зарегистрирован: 01 дек 2018, 14:20
Имя: danila

Помогите реализовать

Сообщение DanilaWERT »

[ref]grin-mpx[/ref], совершенно верно,так и есть.Сбрасывается.Это скетч для брудера,где с начального дня до определенного должна сброситься температура.

Отправлено спустя 2 часа 40 минут 34 секунды:
Вот такое намутил )) Но сдается мне что при прохождении 0 часов следующих суток значение в епром перепишется.ТАК?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Webq
Сержант
Сообщения: 131
Зарегистрирован: 15 фев 2020, 13:59
Имя: Юрий

Помогите реализовать

Сообщение Webq »

[ref]DanilaWERT[/ref],

А если с 23:59 сравнивать?
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Помогите реализовать

Сообщение edyapd »

[ref]DanilaWERT[/ref], сделайте кнопку и триггер. И записывайте в ЕЕПРОМ при двух условиях.
1-триггер установлен нажатием на кнопку.
2-переход через 0 часов.
После записи триггер кнопки должен быть сброшен.
SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06 фев 2016, 11:01
Откуда: Ярославль
Имя: Сергей

Помогите реализовать

Сообщение SSSergeich »

[ref]DanilaWERT[/ref], Сделайте отдельную плату выполняющуюся по условию старт=0, в ней задание дня первого старта и запись его в память. в конце платы ставите старт=1 и далее работает уже Ваша основная программа
DanilaWERT
Сержант
Сообщения: 147
Зарегистрирован: 01 дек 2018, 14:20
Имя: danila

Помогите реализовать

Сообщение DanilaWERT »

Webq писал(а): 07 мар 2020, 03:32 [ref]DanilaWERT[/ref],

А если с 23:59 сравнивать?
Не,смысла нет,также и останется.Только не в 0.В следующее 23:59 перезапись будет.

Отправлено спустя 4 минуты 13 секунд:
edyapd писал(а): 07 мар 2020, 05:00 [ref]DanilaWERT[/ref], сделайте кнопку и триггер. И записывайте в ЕЕПРОМ при двух условиях.
1-триггер установлен нажатием на кнопку.
2-переход через 0 часов.
После записи триггер кнопки должен быть сброшен.
Как вариант..кнопку только мострячить не хочется. ))лишняя.

Отправлено спустя 2 минуты 29 секунд:
SSSergeich писал(а): 07 мар 2020, 09:44 [ref]DanilaWERT[/ref], Сделайте отдельную плату выполняющуюся по условию старт=0, в ней задание дня первого старта и запись его в память. в конце платы ставите старт=1 и далее работает уже Ваша основная программа
НЕ умею я так.Ща попробую

Отправлено спустя 4 минуты 32 секунды:
SSSergeich писал(а): 07 мар 2020, 09:44 в конце платы ставите старт=1
как это сделать?

Отправлено спустя 5 минут 8 секунд:
получается только опять через EEPROM...
dsfbuy
Сержант
Сообщения: 172
Зарегистрирован: 03 ноя 2018, 12:40
Откуда: Братск
Имя: Виктор

Помогите реализовать

Сообщение dsfbuy »

[ref]DanilaWERT[/ref], а если не использовать календарь?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
DanilaWERT
Сержант
Сообщения: 147
Зарегистрирован: 01 дек 2018, 14:20
Имя: danila

Помогите реализовать

Сообщение DanilaWERT »

dsfbuy писал(а): 07 мар 2020, 23:59 [ref]DanilaWERT[/ref], а если не использовать календарь?
Я так изначально задумывал,но по такой схеме епром затираться будет быстрей.
dsfbuy
Сержант
Сообщения: 172
Зарегистрирован: 03 ноя 2018, 12:40
Откуда: Братск
Имя: Виктор

Помогите реализовать

Сообщение dsfbuy »

Почему Вы так думаете?
Раз в сутки запись. Боитесь за дурину, пишите в EEPROM модуля часов.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Помогите реализовать

Сообщение edyapd »

DanilaWERT писал(а): 07 мар 2020, 22:52 кнопку только мострячить не хочется. ))лишняя.
Если у вас, во время работы есть вероятность перезагрузки микроконтроллера, то проще именно с кнопкой.
Если просто надо считать сколько часов прошло с первого включения после перепрошивки, то можете инициализировать любую ячейку памяти при первом старте, каким-либо значением. Скажем A5. А во вторую ячейку записать показание часов. После этого при каждом старте сравнивать значения с ячейкой, в которой у вас записано А5. Если так есть это значение, значит часы прописывать не надо. Если нет А5, значит это был первый старт.
Но это получится одноразовое устройство. Для вторичного использования, вам придётся его перепрошивать (как минимум ЕЕПРОМ)
SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06 фев 2016, 11:01
Откуда: Ярославль
Имя: Сергей

Помогите реализовать

Сообщение SSSergeich »

DanilaWERT писал(а): 07 мар 2020, 22:52 Как вариант..кнопку только мострячить не хочется. ))лишняя.
Кнопка сброса по любому нужна будет, иначе как инициализировать устройство будете?
DanilaWERT
Сержант
Сообщения: 147
Зарегистрирован: 01 дек 2018, 14:20
Имя: danila

Помогите реализовать

Сообщение DanilaWERT »

[ref]edyapd[/ref], [ref]SSSergeich[/ref], Я уже это додул...))Мострячил кнопку полночи.И в конец запутался..Я напишу проект сначала,как его вижу,а вы если не трудно проверите.Может это же самое можно как то по другому нарисовать.
DanilaWERT
Сержант
Сообщения: 147
Зарегистрирован: 01 дек 2018, 14:20
Имя: danila

Помогите реализовать

Сообщение DanilaWERT »

Вот что получилось...Все работает вроде как и хотелось...)))Посмотрите кому ни лень пожалуйста.Может как то проще и надежнее сделать можно?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
DanilaWERT
Сержант
Сообщения: 147
Зарегистрирован: 01 дек 2018, 14:20
Имя: danila

Помогите реализовать

Сообщение DanilaWERT »

Появилась закавыка.)) Должно быть так..С 1по 5 день освещение вкл постоянно,а с 5 дня начинает выключаться сперва на час ,в следующий день +20мин, в следующий день еще +20мин, и т.д.Собрал схемку на блоке Poligon.В него вписал параметры в миллисекундах,так как TOF на вход считает в миллисекундах.И Poligon начал выдавать чуш...Подумав)),решил что числа слишком большие для Integer.В Poligon отрезал от них по три ноля.Poligon начал работать адекватно.И получилась вот такая схемка.Проверить на работоспособность не знаю как.Скажите ,теоретически будет так работать? Или как то по другому делается это?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось DanilaWERT 11 мар 2020, 01:50, всего редактировалось 1 раз.
edyapd
Капитан
Сообщения: 768
Зарегистрирован: 20 сен 2019, 11:38
Имя: Эдуард

Помогите реализовать

Сообщение edyapd »

Вот так вроде должно работать
112.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
DanilaWERT
Сержант
Сообщения: 147
Зарегистрирован: 01 дек 2018, 14:20
Имя: danila

Помогите реализовать

Сообщение DanilaWERT »

[ref]edyapd[/ref], неожиданное решение )) Я б не додумался так.. Но к сожалению так не пойдет.Там в 5 день на час вырубаться должно а уже потом по 20 минут.А раз TOF сможет обработать Unsigned long Integer,то оставлю свой варик.Спасибо.

Отправлено спустя 4 часа 2 минуты 31 секунду:
Перепутал TON c TOF ,полночи блин зря просидел..не получается и все ))))Разобрался.Вот так получилось.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
DanilaWERT
Сержант
Сообщения: 147
Зарегистрирован: 01 дек 2018, 14:20
Имя: danila

Помогите реализовать

Сообщение DanilaWERT »

Подскажите,как правильней? Плата 1 или плата 2?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
Phazz
Полковник
Сообщения: 3125
Зарегистрирован: 17 окт 2016, 15:38
Откуда: Сургут
Имя: Анатолий
Благодарил (а): 233 раза
Поблагодарили: 114 раз

Помогите реализовать

Сообщение Phazz »

[ref]DanilaWERT[/ref], первый вариант избыточен счетчик сам умеет сбрасывать при достижении максимума.
DanilaWERT
Сержант
Сообщения: 147
Зарегистрирован: 01 дек 2018, 14:20
Имя: danila

Помогите реализовать

Сообщение DanilaWERT »

[ref=#404040]Phazz[/ref], с счетчиком то понятно.Он у меня досчитывает до 255 и останавливается.И обратно также.Я за генераторы волнуюсь ))) они же так и продолжают генерировать постоянно.И соответственно задействуют мощности ардуинки,наверно...

Отправлено спустя 1 час 49 минут 32 секунды:
С тригерами как на схеме не прокатило...Пришлось их заменить на переключатели.

Отправлено спустя 37 минут 6 секунд:
Помогайте пожалуйстА!! Не работает эта схема.Вернее работает но не так как надо.
Как сейчас..Допустим наступило время выключения света.Он выключился.Таймер начал отсчет времени выключеного состояния.Досчитал-включился свет.Но если в этот период перезагрузить ардуину,то соответственно отсчет начинается с начала.Это очень плохо...
Так как используется таймер,то думаю сохранение чего либо в епром не решит проблему.Надо координально новую логику.
Помогайте пожалуйста.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Начинающим»

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

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