Arduino基础项目七:制作温度报警器
一、项目说明
当温度到达我们设定的限定值时,报警器就会响。这样一个功能可以用于厨房温度检测报警以及室内温度过高报警等各种需要检测温度的场合。
这里需要讲解一个知识点——传感器。这是一种能感知周围环境,并把感知到的信号转换为电信号的感应元件。感应元件再把电信号传递给控制器。就好比我们人的各个感觉器官,当我们感知周围的环境后,再将信息传递给大脑。
二、所需元件
- 1 × Arduino UNO R3(以及配套USB数据线)
- 1 × 面包板
- 5 × 彩色面包线
- 1 × 蜂鸣器
- 1 × LM35温度传感器
三、硬件连接![](/assets/blank.gif)
四、软件代码
//项目七:制作温度报警器
float sinVal;
int toneVal;
unsigned long tepTimer ; void setup(){ pinMode(10, OUTPUT); // 蜂鸣器引脚设置Serial.begin(9600); //设置波特率为9600 bps
}void loop(){ int val; //用于存储LM35读到的值double data; //用于存储已转换的温度值val=analogRead(0); //LM35连到模拟口,并从模拟口读值data = (double) val * (5/10.24); // 得到电压值,通过公式换成温度if(data>25){ // 如果温度大于27,蜂鸣器响 for(int x=0; x<180; x++){//将sin函数角度转化为弧度sinVal = (sin(x*(3.1412/180)));//用sin函数值产生声音的频率toneVal = 2000+(int(sinVal*1000));//给引脚10一个tone(10, toneVal);delay(2); } } else { // 如果温度小于27,关闭蜂鸣器noTone(10); //关闭蜂鸣器}if(millis() - tepTimer > 500){ // 每500ms,串口输出一次温度值tepTimer = millis();Serial.print("temperature: "); // 串口输出“温度”Serial.print(data); // 串口输出温度值Serial.println("C"); // 串口输出温度单位}
}
五、运行结果
Arduino基础项目七:制作温度报警器相关推荐
- Arduino基础项目九:制作感光灯
一.项目说明 这里我们会使用到光敏电阻这个元件.在黑暗的环境中,光敏电阻具有非常高阻值的电阻.光线越强,电阻值反而越低.通过读取这个电阻值,就可以检查光线的亮暗了.这里选用光敏二极管,光敏二极管其实就 ...
- Arduino基础项目六:制作报警器
一.项目说明 我们可以做一个简单的报警器,通过连接蜂鸣器到Arduino数字输出引脚,并配合相应的程序就可以产生报警器的声音.其原理是利用正弦波产生不同频率的声音. 二.所需元件 1 × Ardui ...
- Arduino基础项目篇-基于Arduino的智能小车
从这篇开始,后续会陆陆续续写一些自己入门单片机以来做过的一些项目教程,y由于不是现在做的,所以我可能没有调试的照片啥之类的,而且做的东西大多都拆了. 我刚入门Arudino时,做的第一个项目,就是Ar ...
- Arduino基础项目十四:红外对管模块
一.红外对管模块说明 红外对管模块是 Arduino 常使用的模块之一,其主要构成及部分原理如图. 红外对管即一对红外线发射与接收管,其中发射管发射出一定频率的红外线,若在检测方向遇到障碍物,红外线反 ...
- Arduino基础项目一:控制LED灯闪烁
一.所需元件 1 × Arduino UNO R3(以及配套USB数据线) 1 × 面包板 2 × 彩色面包线 1 × 5mm LED灯 1 × 220欧电阻 二.硬件连接 三.软件代码 // 项目一 ...
- 基于arduino uno 开发板制作的 智能书包项目
基于arduino uno 开发板制作的智能书包,当时收短视频启发,集合自动售货机的代码和RC522 读卡模块代码结合制作,现基本功能可以实现 ,目前代码部分尚不稳定需要继续改进 //一个智能书包小发 ...
- 圆周率计算程序图计算机基础知识,沪教版(2019)高中信息技术 必修1 项目七 用计算机计算圆周率——设计简单数值数据算法 教案(3课时)...
沪教版(2019)高中信息技术 必修1 项目七 用计算机计算圆周率--设计简单数值数据算法 教案(3课时) 项目七 用计算机计算圆周率 --设计简单数值数据算法 ■学习目标. (1)掌握数值数据的常用 ...
- Arduino基础入门篇01—进入Arduino的世界
欢迎来到Arduino的世界,本文主要介绍Arduino的优势,开发所涉及的硬件分类,开发语言及开发环境的下载.可登陆Arduino官网学习了解更多Arduino信息. 什么是Arduino Ardu ...
- Python基础(七)--模块和包
目录 Python基础(七)--模块和包 1 模块 1.1 什么是模块 1.2 模块的使用 1.3 模块的搜索路径 1.4 模块的缓存 2 包 2.1 什么是包 2.2 包的使用 3 常用模块 3.1 ...
最新文章
- C内存1:从硬盘 到 内存 到 CPU
- Pytorch和Tensorflow,谁会笑到最后?
- 回顾2017,展望2018
- vivo AI 计算平台的 ACK 混合云实践
- 阿里巴巴发布首个知识引擎研究计划,联合清华浙大等五大高校攻坚AI推理
- P1650 田忌赛马(贪心)
- 浏览器User-Agent的详细信息
- nginx转发websocket
- 新一代Web安全治理体系让“我的地盘我做主”不再只是梦
- Java Swing Mysql学生信息管理系统
- sql server alter权限_SQL
- 机器学习算法的流程总结
- 根据数据库中的数据构造treeview
- matlab基本图形处理实验,MATLAB数字图像处理实验讲义(指导书)
- git push解决办法: ! [remote rejected] master -> master (pre-receive hook declined)
- python筛选出csv满足某条件的行_Python之根据条件筛选特定行
- 理解C语言——从小菜到大神的晋级之路(15)——完结篇:C编程风格
- ubuntu qq音乐/网易云音乐 播放没有声音,播放mv有声音,解决办法
- 如何从0到1搭建电商促销系统
- 《大侦探福尔摩斯2:诡影游戏》蓝光高清720P 1080P下载[2011最新动作]
热门文章
- 轻松为您解决中文简繁转换的苦恼
- 显示器驱动程序无法启动,改为使用Microsoft基本显示器驱动程序【已解决】
- 《精通Android 5 多媒体开发》——第6章,第6.3节实现Overlay硬件抽象层
- 公众号如何设置关键词自动回复
- 6、随机仿射变化 transforms.RandomAffine()
- mysql 启动报错 ERROR The server quit without updating PID file
- 字节 React + TypeScript 实践总结篇
- MySQL 数据库存储藏文 Incorrect string value
- go mysql 监控_15_小米监控Open-Falcon:Mysql监控-Go语言中文社区
- 大学计算机李凤霞课本百度云,北京理工大学李凤霞教授来校讲学