电子说
第1步:收集组件
该项目所需的组件:
Max7219点矩阵显示
RTC DS3231
3V CR3032电池(用于DS3231)
此外,您需要一个Arduino电池种类(最好是Nano,以最小化项目的大小),面包板,跳线以及PC上安装的Arduino IDE。
步骤2:库
下载以下库并通过将
转到 Sketch》 Include Library》 Add .Zip将.zip文件安装到Arduino IDE中。库
注意:版本问题!!!
* 下载前使用正确的版本。为了安全起见,我建议下载Arduino IDE中的每个库。
MD_Parola 3.0.1:https://github.com/MajicDesigns/MD_Parola
MD_MAX72XX 3.0 .2:https://github.com/MajicDesigns/MD_MAX72XX
DS3231 1.0.2:https://github.com/NorthernWidget/DS3231
或者,
在Arduino IDE中,转到 Sketch》 Include Library》 Manage Libraries ,然后在搜索栏中键入“ MAX72XX”,您应该看到以下内容(参见图片):
仅安装MD_MAX72XX和MD_Parola。 不需要 。
步骤3:测试组件
之后安装库,分别测试组件,以确保它们可以正常工作。在将所有组件连接在一起之前,请先执行以下步骤。
要测试DS3231 RTC模块,请将DS3231连接到Arduino(请参见下面的接线)。然后在Arduino IDE中,转到文件》示例》 DS3231》 DS3231_Test 并上传草图。打开串行监视器,检查是否获得正确的日期,时间,日期等。
要测试矩阵显示,请首先将其连接到Arduino(请参见下面的接线)。接下来,在Arduino IDE中,转到文件》示例》 MD_Parola》 Parola_HelloWorld 并上传草图。您应该会在显示屏上看到 HELLO ,并且它可能会或可能不会向后打印。如果文本是向后的,则必须更改以下行:
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
To
#define HARDWARE_TYPE MD_MAX72XX::FC16_HW
再次上传草图,该问题应得到解决。/p》
现在我们已经测试了组件,我们准备将所有组件连接在一起!
步骤4:接线
请参阅图表或原理图或表格
第5步:代码
在此处获取代码
注意:我最初使用的是Electronic Projects的代码,但对其进行了修改以支持当前的库(在完成时)。
时钟功能:
时钟会自动设置为以24小时制显示时间,但可以轻松更改为12小时。时钟还将显示温度(以摄氏度和华氏度为单位)。我还包括一个名为“睡眠模式”的功能,该功能设置为“关闭”(有关详细信息,请参见下面的睡眠模式)。
12hr格式: 要设置时钟以12小时格式显示时间,您必须注释第88行
hour =Clock.gethour(h12,PM); //24hr Format
,并取消注释第93至100行
if (Clock.getHour(h12,PM)》=13 || Clock.getHour(h12,PM)==0)
{
h = Clock.getHour(12,PM) - 12;
}
else
{
h = Clock.getHour(h12,PM);
}
睡眠模式:
此功能有助于降低时钟的亮度,尤其是在我们睡觉的时间。我不认为您想在深夜醒来并被这个时钟蒙蔽。即使处于最低设置,它也非常明亮。要启用睡眠模式,请取消注释行177到184
if(h == 12 || h《8) //Time intervals (in this case, from 12AM to 8AM)
{
P.setIntensity(0); //Set display brightness to lowest setting
}
else
{
P.setIntensity(6); //Set display brightness to 6 (15 is the brightest)
}
注意:当时钟设置为12hr模式时,使用睡眠模式时遇到了一个问题。您会注意到,由于将上午8点和晚上8点都解释为8,所以它将每天运行两次。因此,如果将睡眠模式设置为从晚上9点至早上7点处于活动状态,则它将从上午9点至晚上7点处于活动状态。但是,如果时钟设置为24小时模式,则不会发生此问题。
全部0条评论
快来发表一下你的评论吧 !