Можно ли смоделировать часы без подключенного RTC?

Я хочу запрограммировать таймер, который работает как установленный таймер, например, в духовке, где пользователь может устанавливать свое собственное время. Один из известных мне способов — использовать IC(RTC) для таймера. Однако у меня пока нет IC, только кодировка и Arduino.

Можно ли симулировать код Arduino без RTC? Или есть какой-либо электрический компонент, который я могу использовать для замены IC на данный момент? Спасибо за вашу помощь и комментарий. Я действительно это ценю.

, 👍0


2 ответа


0

Существуют программы для симуляции кода Arduino, но они очень ограничены. Чтобы действительно симулировать схему, программа также должна знать об используемой вами микросхеме. Вы не сказали нам, что это за микросхема, поэтому мы можем только предполагать, что это может быть что-то, что эти программы знают (хотя вы можете попробовать). И иногда у симуляторов Arduino возникают проблемы с симуляцией чувствительного ко времени кода. Если вы хотите попробовать, просто наберите в Google Arduino Simulator и проверьте возможности. Я не могу предложить ни одну, так как я не использовал ее до сих пор.

На этом этапе, возможно, лучшим вариантом будет написать код для хронометража с использованием функции millis(), которая возвращает количество миллисекунд с момента запуска Arduino. Сохраните временную метку с момента запуска и сравните разницу между millis() и вашей временной меткой с желаемым временем выпечки.

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

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


Если микросхема, о которой вы говорите, является модулем RTC (Real Time Clock), код для него должен быть довольно простым для написания. Существуют библиотеки для наиболее распространенных RTC. Вы можете попробовать библиотеку Arduino Time.

,

2

TimeLib.h имеет виртуальные часы, которые можно обновлять и корректировать из нескольких источников, включая чип RTC или сервер NTP в Интернете (при наличии подключения к Интернету).

Однако ему не нужен этот источник часов, но он будет дрейфовать со временем. После того, как вы правильно установите часы, они будут показывать время, близкое к правильному (при условии отсутствия сброса или отключения питания Arduino). Не идеально (потому что основные часы Arduino неидеальны), но достаточно близко для многих простых приложений.

,