在没有任何外部信息的情况下,我如何才能知道今天是哪一天?

How would I find out what day it is on an arduino without any external stuff?

试图在没有外部时钟或互联网的情况下找出今天在 Arduino 上的星期几。

我在寄宿学校,我正在制作一个程序,告诉我星期六(当我回家时)还剩下多少 sleeps/days。我已经了解 LCD 的工作原理,但我正在努力找出今天是哪一天。我是 Arduino 的新手,所以不要轻易使用术语 :)

您可以使用 millis() 从 arduino 开始计算天数,但如果您需要倒计时到特定日期,则必须使用 RTC 同步正确的日期。

arduino 启动后计算天数的代码:

float days = millis()/1000/60/60/24;

恐怕每次断电时,Arduino 本身都会忘记时间。即使它保持开机状态,内部时钟也不是 too accurate.

通常的解决方法是使用由纽扣电池供电的附加 RTC(实时时钟)电路,例如 Adafruit DS3231 Precision RTC Breakout

RTC 通常具有与典型时钟或手表相似的精度。

其中一个关键部分是即使设备断电也能保持时间的电池。 (此外,Adafruit 包含指向用于连接到 Arduino 的代码的链接。)

如果您愿意经常在 Arduino 上设置时间(也许每天调差一分钟?),您可以使用这样的解决方案: https://create.arduino.cc/projecthub/plouc68000/simplest-uno-digital-clock-ever-4613aa

millis()delay() 在大多数 Arduino 上都不是很准确,并且会有几个百分点的偏差。更糟糕的是,该精度会根据当地条件(例如温度)而变化。 (你总是可以走运,得到电路板和环境条件的完美结合,使你的更准确,但不要指望它。)