在本项目中,我们将使用Arduino开发板制作一个温度数据记录仪,该设备从温度传感器LM35获取温度值,并从DS3231实时时钟模块获取时间。然后我们将使用mini SD卡模块将这些值存储在SD卡文件中。之后,我们从PC访问该文件,并在Microsoft Excel中创建这些数值的图表。

所需组件

该项目所需的组件如下

●    Arduino Uno开发板

●    DS3231实时时钟模块

●    mini SD卡模块

●    LM35温度传感器

●    连接导线

●    面包板

电路原理图

Arduino开发板与DS3231时钟模块的连接方式如下所示

●    DS3231的GND连接到Arduino的GND

●    DS3231的VCC连接到Arduino的5V引脚

●    DS3231的SDA连接到Arduino上的A4

●    DS3231的SCL连接到Arduino的A5

Arduino开发板与SD卡模块的连接方式如下所示

●    mini SD卡模块的CS连接到Arduino的数字引脚10

●    mini SD卡模块的SCK连接到Arduino的数字插针13

●    mini SD卡模块的MOSI连接到Arduino的数字引脚11

●    mini SD卡模块的MISO连接到Arduino的数字引脚12

●    Mini SD卡模块的VCC连接到Arduino的数字5V

●    Mini SD卡模块的GND连接到Arduino的数字GND

Arduino开发板与LM35温度传感器的连接方式如下所示

●    LM35的VCC引脚连接到Arduino的5V引脚

●    LM35的OUT引脚连接到Arduino的A0

●    LM35的GND引脚连接到Arduino的GND

工作原理

LM35温度传感器以模拟方式输出信号。我们需要使用ADC转换此输出,以便能够测量温度。 Arduino开发板内置了一个ADC,通过它可以将LM35的输出转换成温度值。

DS3231时钟模块通过I2C通信连接到Arduino。因此,我们只需要将DS3213上的SCL和SDA引脚与Arduino连接,模块就会开始通信。该模块有一个独立的电池,使得其在即使它没有Arduino供电时也能正常运行。

然后使用SD卡模块将温度和时间存储在SD卡中。 SD卡模块将打开SD卡并在里面存储数据。之后,我们在PC上打开该文件,并且在Microsoft Excel中使用这些值生成一个图表。

注意:如果您是第一次使用DS3231模块,则必须先设置时间和数据。要实现这一点,请根据您的时间更改代码中的时间和日期,并上传以下代码:

更多内容请参见:https://www.yiboard.com/thread-704-1-1.html

如何制作一个Arduino温度数据记录仪的更多相关文章

  1. Arduino+温度、湿度传感器

    Arduino语言注解Arduino语言是建立在C/C++基础上的,其实也就是基础的C语言,Arduino语言只不过把AVR单片机(微控制器)相关的一些参数设置都函数化,不用我们去了解他的底层,让我们 ...

  2. 张高兴的 .NET IoT 入门指南:(七)制作一个气象站

    距离上一篇<张高兴的 .NET Core IoT 入门指南>系列博客的发布已经过去 2 年的时间了,2 年的时间 .NET 版本发生了巨大的变化,.NET Core 也已不复存在,因此本系 ...

  3. 使用CocosSharp制作一个游戏 - CocosSharp中文教程

    注:本教程翻译自官方<Walkthrough - Building a game with CocosSharp>,官方教程有很多地方说的不够详细,或者代码不全,导致无法继续,本人在看了G ...

  4. ios学习-制作一个浏览图片的Demo

    一.项目要求:制作一个浏览图片的Demo,要求包含夜间模式,以及改变图片大小,能够显示不同的图片描述 二.开发步骤: 1.在storyboard上添加一个空白的View,然后添加”设置“按钮,添加im ...

  5. iOS学习——制作一个小型加法计算器

    一.项目要求:制作一个加法计算器.在第1个和第2个文本框中输入两个整数,然后点击“计算”按钮,可将计算结果显示在第3个文本框中. 二.开发步骤: 1.搭建UI界面 2.监听按钮的点击事件 3.获取文本 ...

  6. 制作一个简洁的jquery插件

    原文:http://mp.weixin.qq.com/s?__biz=MzAxMzgwNDU3Mg==&mid=401571467&idx=1&sn=08cb00963e6ef ...

  7. 用Phaser来制作一个html5游戏——flappy bird (二)

    在上一篇教程中我们完成了boot.preload.menu这三个state的制作,下面我们就要进入本游戏最核心的一个state的制作了.play这个state的代码比较多,我不会一一进行说明,只会把一 ...

  8. 用Phaser来制作一个html5游戏——flappy bird (一)

    Phaser是一个简单易用且功能强大的html5游戏框架,利用它可以很轻松的开发出一个html5游戏.在这篇文章中我就教大家如何用Phaser来制作一个前段时间很火爆的游戏:Flappy Bird,希 ...

  9. Android学习笔记(十二)——实战:制作一个聊天界面

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 运用简单的布局知识,我们可以来尝试制作一个聊天界面. 一.制作 Nine-Patch 图片 : Nine-Pa ...

随机推荐

  1. js 延迟函数

    1.对于 setTimeout函数 普通函数: 100ms后执行时,this指向window对象. function foo(){ setTimeout(function(){ console.log ...

  2. STM32F405的 ADC参考电压选择问题

    1. STM32F405没有参考电压的输入引脚,那么可能是接的VDDA和VSSA 2. 看下文档的说明

  3. C# .NET 判断输入的字符串是否只包含数字和英文字母

    FROM :   https://www.cnblogs.com/ilookbo/p/4828722.html /// <summary> /// 判断输入的字符串是否只包含数字和英文字母 ...

  4. C# 邮件发送遇到的错误

    记录写邮件发送功能遇到的一些错误 1.System.Net.Mail.SmtpException:“Transaction failed. The server response was: DT:SP ...

  5. ztree通过id获取节点对象

    var treeObj = $.fn.zTree.getZTreeObj("treeId"); var node = treeObj.getNodeByParam("id ...

  6. LeetCode 189. 旋转数组(Rotate Array)

    189. 旋转数组 LeetCode189. Rotate Array 题目描述 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 示例 1: 输入: [1,2,3,4,5,6, ...

  7. SpringBoot中使用@Scheduled创建定时任务

    SpringBoot中使用@Scheduled创建定时任务 定时任务一般会在很多项目中都会用到,我们往往会间隔性的的去完成某些特定任务来减少服务器和数据库的压力.比较常见的就是金融服务系统推送回调,一 ...

  8. QT 创建本地数据库(SQLite数据库)存储数据

    注意:QT自带SQLITE数据库,不需要再安装 1.创建一个包含创建.查询.修改和删除数据库的数据库类(DataBase) DataBase.h头文件 #pragma once #include &l ...

  9. Git config 使用说明(转)

    原文:https://blog.csdn.net/gdutxiaoxu/article/details/79253737

  10. Angular 学习笔记 (Angular 9 & ivy)

    refer : https://blog.angularindepth.com/all-you-need-to-know-about-ivy-the-new-angular-engine-9cde47 ...