亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino 温度。使用 3.2 显示的监视器和实时时钟

组件和用品

Arduino Due
× 1

应用和在线服务

Arduino IDE

关于这个项目

简介

亲爱的朋友们欢迎来到另一个教程!这是来自 edu8s.tv 的 Nick,今天我们将看看如何开发这个实时时钟和温度监控器!让我们开始吧!

几周前,我使用 Arduino Mega 和 Due 为 Arduino 测试了这款 3.2 英寸彩色 TFT 显示器。显示效果很好,我用它构建了一个简单的项目。它是一个温度监视器和一个实时时钟。正如您在顶部看到的,我们可以看到当前的日期和时间,我们可以看到现在的温度,在底部,Arduino 记录了它测量的最低和最高温度。我还尝试用简单的形状设计一个基本的用户界面。如您所见,一切正常,这是一个非常容易且有用的项目。来看看怎么做吧!

第 1 步:获取所有零件

构建这个项目所需的部分是:

  • Arduino到期
  • 3.2 英寸彩色 TFT 显示屏
  • DS3231 RTC 模块
  • 男头
  • 电线

该项目的成本约为 24 美元。 Arduino Due 大约需要 14 美元,显示器需要 8 美元,RTC 模块需要大约 2 美元。

第 2 步:DS3231 实时时钟模块

DS3231 实时时钟模块顾名思义就是一个实时时钟。使用它的电池,它可以保持数年的时间,因为它的功耗最小。

DS3231 是一款低成本、极其精确的 I2C 实时时钟 (RTC),具有集成的温度补偿晶体振荡器 (TCXO) 和晶体。该设备包含一个电池输入,并在设备的主电源中断时保持准确的计时。晶体谐振器的集成提高了器件的长期精度,并减少了生产线上的零件数。

RTC 维护秒、分、小时、日、日期、月和年信息。对于少于 31 天的月份,月末的日期会自动调整,包括闰年的更正。时钟以 24 小时或 12 小时格式运行,并带有 AM/PM 指示器。提供了两个可编程的时间警报和一个可编程的方波输出。地址和数据通过I2C双向总线串行传输。

模块成本极低;包括电池在内,它的成本约为 2 美元!

从这里获取。

我们将使用它来计时并从中获取温度读数!

第 3 步:3.2" 彩色 TFT 显示屏(HX8357C 或 HX8357B)

我一直想为我的 Arduino 项目配备一个大显示器。所以,几周前我决定为 Arduino Mega 和 Arduino Due 购买这款 3.2 英寸彩色 TFT 显示器,因为价格太诱人了! 3.2 英寸彩色 TFT 显示器不到 10 美元。以这个价格,你不会出错。

从这里获取。

显示器的分辨率为 480x320 像素,背面有一个 SD 卡适配器。到目前为止我还没有使用过 SD 卡功能。我将来会尝试使用它。如果仔细观察,您会发现该显示器还使用了 3.3V 稳压器,因此它可以在 5V 和 3.3V 逻辑电平下正常工作。

显示器有两种变体。其中一个使用 HX8357C 控制器,另一个使用 HX8357B 控制器。幸运的是,我们可以为它们使用相同的库。

显示库。

下载库后,如果您的显示器使用的是 HX8357C 驱动程序,就像我的一样,您必须打开 User_Setup.h 文件注释第 13 行和取消注释第 14 行。

第 4 步:连接零件

我将使用 Arduino 由于构建这个项目,虽然我可以使用稍微便宜但速度较慢的 Arduino Mega。 Arduino Due 比 Arduino Mega 快得多,而且它有很多内存,这就是我在这个项目中更喜欢它的原因。

首先,我们必须将所有部分连接在一起。我将使用这些公接头将 RTC 模块连接到 Arduino DUE。

我们需要四个头针。两个用于电源,两个用于 I2C 接口。我们像这样弯曲它们,将一个连接到 Arduino Due 板的 3.3V 引脚,另一个连接到 GND,另外两个连接到板的 SDA 和 SCL 引脚。使用一些母线,我们将模块连接到电路板上。而已。

现在我们可以将显示器连接到板上。您不必将这两个引脚连接到 Arduino 板,因此我将它们悬空。

现在我们已准备好启动项目。如您所见,它运行良好!就这么简单!现在让我们去电脑上看看项目的软件端。

第五步:项目代码

现在我们准备看一下代码。我们在这个项目中使用了两个库:

  • 显示库
  • DS3231 库

您必须安装它们,然后项目才能正常编译!

如果尚未设置实时时钟模块,我们要做的第一件事就是将时间设置为实时时钟模块。为此,请在 void setRTCTime 函数中输入当前日期和时间,

void setRTCTime(){ DateTime dt(2016, 4, 4, 13, 56, 30, 1); // 年、月、日、小时、分钟、秒、星期几 rtc.setDateTime(dt); } 

在 Setup 函数中取消对函数调用的注释:

void setup(){ rtc.begin(); tft.init(); tft.setRotation(1); tft.fillScreen(0xC618);延迟(100);打印界面(); setRTCTime();} 

并将程序上传到Arduino。现在时间已经确定。但是,我们必须再次注释 setRTCTime 函数的调用,并再次将程序上传到 Arduino。

void setup(){ rtc.begin(); tft.init(); tft.setRotation(1); tft.fillScreen(0xC618);延迟(100);打印界面(); //setRTCTime();} 

如您所见,该项目的代码很简单。我们只是打印用户界面,然后在上面显示日期、时间和时间。

void loop(){ float temperature =rtc.getTemperature(); getAndPrintTime();打印温度(温度);如果(温度> maxTemperature){ maxTemperature =温度;更新最大温度(); }if(温度 

您可以找到此步骤附带的代码。您可以从这里的项目网站下载最新版本的代码:http://eduino-real-time-clock-32/

DueRTC.ino

第 6 步:最后的想法

正如您所看到的,只需几行代码,我们就可以以非常低的成本构建一个非常有用的项目。我将在这个项目上做更多的工作,因为它将成为一个先进的气象站,拥有更多的传感器、图表和 wifi 功能。

由于 Arduino Due 速度非常快并且有大量内存,我认为它是理想的 Arduino 板。你觉得这个项目怎么样?你希望看到它如何发展?

请在下面的评论部分发表您的评论或想法。

代码

  • 代码片段#2
  • 代码片段 #3
  • 代码片段 #4
代码片段#2纯文本
void setup(){ rtc.begin(); tft.init(); tft.setRotation(1); tft.fillScreen(0xC618);延迟(100);打印界面(); setRTCTime();}
代码片段 #3纯文本
void setup(){ rtc.begin(); tft.init(); tft.setRotation(1); tft.fillScreen(0xC618);延迟(100);打印界面(); //setRTCTime();}
代码片段 #4纯文本
void loop(){ 浮动温度 =rtc.getTemperature(); getAndPrintTime();打印温度(温度);如果(温度> maxTemperature){ maxTemperature =温度;更新最大温度(); }if(温度 
Github
https://github.com/Bodmer/TFT_HX8357_Duehttps://github.com/Bodmer/TFT_HX8357_Due
Github
https://github.com/SodaqMoja/Sodaq_DS3231https://github.com/SodaqMoja/Sodaq_DS3231

制造工艺

  1. 使用真实传感器控制效果
  2. 带有伊斯兰祈祷时间的 Arduino 时钟
  3. 字时钟,以文字表示时间的分钟分辨率
  4. 玩 Nextion Display
  5. TM1637 具有时间设置和闹钟功能的数字时钟
  6. DIY 电压表与 Arduino 和诺基亚 5110 显示器
  7. BME280 Nextion Display 上的温度、湿度和压力
  8. 使用 Arduino 和 MPU6050 控制伺服电机
  9. u-blox LEA-6H 02 GPS 模块,带有 Arduino 和 Python
  10. 使用 Arduino 进行语音识别和合成
  11. 带 GPS 和 TFT 显示屏蔽的 GPS 位置显示
  12. 带 DS1302 RTC 的简单闹钟