物联网智能家居总体设计与实现

news2024/11/19 22:39:57

物联网智能家居突出特点就在于家居都连接入网,且都可以通过一定手段进行智能控制。

 

图3-1 物联网智能家居框架

       如图3-1所示,构建了一个现代家庭中所涉及到的所有物联网智能家居相关的框架。包括了安防、照明、互联网、影音、饮水、停车等方方面面。下面本设计将从其中一个方面具体阐述方案的设计与实现过程。

3.1 智能水温液面控制系统

       在家居生活中,热水器是一个必不可少的家电产品,这里面就需

要一个智能的水温液面控制系统。可以监测内部水温及加热桶内的液面高度,保证热水器的安全、正常的运行。本设计就针对这一系统进行设计与实现。

        本设计选择了一个智能水温液面控制系统,该系统可以应用于家庭饮水机中。主要实现的功能有:水温测量与显示,预设温度加热,水温长时间保持在预设值,程控分段加热,液面高度测量,低液位加热报警保护。

本方案主要使用89C52单片机作为MCU进行控制,以DS18B20作为温度传感器将水温反馈给单片机,单片机处理后通过LED数码管进行显示。单片机外接按键,通过外部中断触发的方式接受按键设定加热温度值。

液面部门采用超声波传感器测量,当液面高度低于最小加热高度时,返回一个停止加热信号并由单片机输出一个电平驱使蜂鸣器报警。加热部件主要利用继电器控制两个20W的加热棒,进行加热,可以同时工作快速加热也可以单个工作维持温度稳定。

        根据上面的概述,本系统将实现一个如图3-2的水温加热控制系统,具有水温加热、温度保持,液面高度测量、液位低报警功能。根据上述功能,形成了如下这个系统框图:

LED液位显示

                                         

超声波测距模块

单片机

蜂鸣报警器

                                                

按键

                      

                               

加热继电器

DS18B20

与门电路

指示灯

单  片  机

LED温度显示

按键

图3-2 智能水温液面控制系统框图

3.1.1  温控检测子系统

框图上部,实现温度控制。该部分所采用的温度传感器为Dallas半导体公司的数字化温度传感器DS18B20,它是世界上第一片支持“一线总线”接口的温度传感器。“一线器件”体积更小、适用电压更宽、更经济。全部传感元件及转换电路集成在形如一只三极管的集成电路内。

DSl8B20数字温度计提供9位(二进制)温度读数,指示器件的温度信息经过单线接口送入DSl8B20或从DSl8B20送出,因此从主机CPU到DSl8B20仅需一条线,当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。

当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。

图3-3 温度控制电路

TO-92封装的DS18B20引脚功能描述见表3.1。

序号

名称

引脚功能描述

1

GND

地信号

2

DQ

数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。

3

VDD

可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。

表3.1 DS18B20详细引脚功能描述

因为一线通信接口,必须先完成ROM设定,否则记忆和控制功能将无法使用。主要首先DS18B20提供以下功能命令之一:读ROM, ROM匹配,搜索ROM,跳过ROM,报警检查。若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20所测温度。测量结果将被放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM 的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置字节利用一个记忆功能的指令完成。所有的数据的读、写都是从最低位开始。

3.1.2  按键控制子系统

      键盘共有三个键,判断K3~K5键是否按下,可采用软件查询和中断的方法,当某个键按下时,低电平有效。3个键K3~K5的功能定义如表所示。

K3~K5键的定义

按键

键名

功能

K2

功能转换键

此键按下,显示温度设定值,按键松开,显示当前温度

K3

加1键

设定温度值加1

K4

减1键

设定温度值减1

3-4 按键控制电路

3.1.3  继电器控制子系统

          继电器主要用来控制加热棒工作,实现强弱电隔离,保证操作安全。在这里,就需要温度检测子系统和液位控制子系统联合协调工作。因为,决定是否加热需要满足两个条件,其一水温低于设定温度,其二液面高度大于最小加热高度。只要当这两个条件同时满足时,才允许系统开始加热。因此从温度检测子系统过来的加热使能信号和液位控制子系统发出的加热开启信就需要通过一个与门芯片,然后将输出结果传递给继电器控制端P10。

控制P10的高低电平来控制继电器的断开和闭合,当P10口为低电平时,三极管导通,发光二极管亮,控制继电器开始加热,当P10为高电平时,三极管截止,继电器断开,停止加热。

图3-4 继电器控制电路

3.1.4  LED显示子系统

LED数码管是一种半导体发光器件,其基本单元是发光二极管。按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳极数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。

动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,通过由各自独立的I/O线控制,当单片机的P0口输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对P2.0-P2.3位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。

在本设计中采用了四位八段数码管,用动态驱动来显示温度的值,如图3-5所示。

图3-5  LED显示电路

3.1.5  液位控制子系统

3-6 液位控制子系统框图

3-7 超声波模块原理图

 液位控制子系统主要完成两个功能,其一测量液位高度并通过LED显示;其二根据液面高度决定是否继续加热,防止加热棒干烧烧毁。超声波传感器通过J1口的2、3端口(TX、RX)与单片机进行数据通信。将4口接5V电源供电,1口直接共地。

超声波测距模块的工作时序图:

图3-8 超声波模块工作时序

 以上时序图表明你只需要提供一个10uS 以上脉冲触发信号,该模块内部将发出8 个40kHz 周期电平并检测回波。一旦检测到有回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式:uS/58=厘米或者uS/148=英寸;或是:距离=高电平时间*声速(340M/S)/2;测量时周期为60ms以上,以防止发射信号对回响信号的影响。

在这里,液面信号和温度信号协调工作。因为在温度不到预设温度需要加热工作时,还需要判断一下液面的高度是否符合加热要求。所以,这时温度控制子系统的加热使能信号和液面控制子系统的使能信号需要通过一个与门电路来实现。只有当两种使能信号同时满足条件输出后,才能开始加热动作。这里我们使用74LS08芯片,这是一个四路二输入芯片。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/29327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入理解MySQL索引的数据结构和事务的四大特性、隔离性的四种级别

1.索引1.2 使用索引2.索引的数据结构【重点】3. 事务3.1 使用3.2 事务的四大特性1.索引 概念 索引是一种特殊的文件,饱含着对数据表里所有记录的引用指针。可以对表中的一列或者多列创建索引,并指定索引的类型,各类索引有各自的数据结构实现。 作用 …

Linux学习-46-LVM逻辑卷管理机制

11.9 LVM逻辑卷管理机制(硬盘分区管理) 我们在实际使用 Linux 服务器的时候,随着业务的增加,文件系统负载会越来越大,当到了空间不足的情况时,如果我们还在使用传统的分区方式管理硬盘,就不得不…

项目管理的核心是什么?

管理的核心是目标管理 目标管理通俗来讲是对做什么的思考,作为管理者在面向业务的开展过程中,根据业务的动态调整目标,大目标不变的情况下,去不断思考做什么更好地完成目标。 目标发展的几个阶段 1、相关的概念 项目启动&…

做测试8年,刚升主管,还是没逃过裁员....

我做测试8年,半年前被升为测试部门主管,本以为马上到达人生巅峰,没想到公司今天通知跟我解约。 回想晋升的这半年,我也曾激情满满,想着一定要好好干出一番成绩。可做了之后才发现这是个坑: 每天不是在开会…

一个简单的HTML网页 故宫学生网页设计作品 dreamweaver作业静态HTML网页设计模板 旅游景点网页作业制作

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有…

计算机网络第七章知识点回顾(自顶向下)

第七章知识点回顾1.网络层1.1网络层服务1.1.1网络层的两个主要功能1.1.2选路和转发的关系1.2网络层: 数据面和控制面1.网络层 Chapter goals: 理解网络层服务原理,主要关注数据面 网络层服务模型网络层上的重要功能:转发和选路路由器工作原理编址因特网…

【linux】cpu过高解决方法

CPU过高情况: 1、使用top命令查看cpu的进程占用情况: 2、发现11443的进程占比过高,通过top -Hp 11443 查看线程的占用情况,发现11459、11460、11461线程的占比过高: 解决swap占用CPU: 设置vm.swappiness0…

win10录屏快捷键是什么?电脑录屏快捷键ctrl+alt+

​在我们日常生活中,经常会使用电脑。我们在使用win10电脑的时候,有时候经常会遇到一些好看的视频或者是一些十分有用的知识教程,想要对其进行保存与分享,这个时候就需要用到电脑自带的录屏功能了。那么win10录屏快捷键是什么&…

Ubuntu22 Docker运行SRS流媒体服务,推拉流,yolov5训练自定义模型进行视频流识别

首先安装docker,设置系统启动 sudo apt-get install -y docker.io sudo systemctl start docker 查看docker进程 ps -ef|grep docker 拉去srs镜像 sudo docker pull registry.cn-hangzhou.aliyuncs.com/ossrs/srs:v4.0.198 启动镜像 sudo docker run -p 193…

PPT设置“只读模式”的两种方法

想要防止PPT文件被意外更改,或者禁止他人随意更改,我们可以给PPT设置保护模式,而PPT的“只读模式”就起到了这样的作用。 ​具体的设置方法有两种,我们可以根据不同需求选择合适的方法。 方法一: 防止意外更改&…

Linux安装Nexus3搭建maven私服超详细搭建上传步骤

下载nexus3.x 上传nexus压缩包并解压 启动 开启端口号 浏览器访问 ​编辑 设置开机自启动 运行用户为root (编辑nexus bin下的nexus.rc) 修改nexus3启动时要使用的jdk版本 修改nexus3默认端口 私服新建自定义的仓库 添加角色和用户 添加角色 添加用户 使用 Mave…

[附源码]java毕业设计学生实习管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

12.5 Hierarchical names (层次化名称)

Verilog HDL描述中的每个标识符应具有唯一的分层路径名。模块的层次结构和项目的定义(如模块内的任务和命名块)应定义这些名称。名称的层次结构可以被视为树结构,其中每个模块实例、生成块实例、任务、函数或命名的begin-end 或者 fork-join块…

【Git】一文带你入门Git分布式版本控制系统(简介,安装,Linux命令)

Git 系列文章目录 文章目录Git 系列文章目录一、前言二、安装 Git三、基本 Linux 命令一、前言 [ 什么是Git?] Git 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。【百度百科】 Git 是分布式版本控制系统&#…

Scratch、Python、C++,谁才是少儿编程的第一选择?

前言 面对市面上形形色色的编程语言类型,经常有家长犯难问我们该如何为孩子选择合适的课程: “那种拖块看起来像玩游戏,不如 Python、C 这样的代码编程语⾔⾼级。” “现在是人工智能时代,直接让孩子从Python学习,以…

【0147】当参数shared_memory_type分别为sysv和mmap时,差异为何如此大?

文章目录 1. sysv和mmap差异如此大2. 底层原理2.1 创建匿名mmap()共享内存段2.2 确定huge page大小2.3 创建ipcs看见的64字节shared memory1. sysv和mmap差异如此大 在【0145】postmaster创建System V shared memory默认值大小(2)一文中的第1节里,我有给出过当postgresql.c…

Hystrix 请求合并、请求隔离、优化

文章目录请求合并引入依赖启动类 加注解EnableHystrixservice服务测试请求隔离线程池隔离&#xff08;大部分情况下&#xff09;信号量隔离线程池隔离演示引入依赖启动类 加注解EnableHystrixservice服务测试信号量隔离演示Hystrix的其他用法请求合并 引入依赖 <dependenc…

linux文件的隐藏属性

1.查看隐藏属性 lsattr 查看文件隐藏属性 lsattr -d 查看目录隐藏属性 lsattr -a 显示隐藏文件隐藏属性 lsattr -R 连同子目录的数据也一并列出来 2.修改隐藏属性 chattr 修改隐藏属性 属性A &#xff1a;当设定了 A 这个属性时&#xff0c;若你有存取此文件(或目录)时&a…

ACM-BCB2019 | SMILES-BERT:基于大规模无监督预训练的分子属性预测模型

原文标题&#xff1a;SMILES-BERT: Large Scale Unsupervised Pre-Training for Molecular Property Prediction 链接&#xff1a;https://doi.org/10.1145/3307339.3342186 一、问题提出 分子指纹&#xff1a;可用于分子性质分类、回归或生成新分子等各种应用。传统的分子指纹…

【强化学习论文合集】IJCAI-2022 强化学习论文 | 2022年合集(五)

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。 本专栏整理了近几年国际顶级会议中,涉及强化学习(Rein…