西电A测|基于Arduino uno的温度检测控制仿真系统

  • 温度检测控制仿真系统
    • Proteus仿真电路图
    • Arduino IDE编写程序
    • 结果验证
    • 功能拓展

温度检测控制仿真系统

功能要求:Arduino UNO(Atmega328P)控制驱动直流电机,当环境温度低于预定的温度(摄氏25°)时,直流电机停止转动;当环境温度等于或高于预定的温度(摄氏25°)时,启动直流电机转动。同时,实时环境温度在LCD 上显示。LCD 第一行显示TEMPRATURE:第二行显示摄氏温度值。

Proteus仿真电路图

本次实验电路包含Arduino微控制器,LCD显示屏,L298直流电机驱动模块,LM35温度传感器。LM35可以将温度转化为电压输入,其关系为摄氏温度值 = (传感器值 /1024.0 )*500。L298直流电机驱动模块可以同时驱动两个电机转动,其引脚控制和功能见表。

IN1/IN3 IN2 /IN4 ENA/ENB 电机1/电机2
1 0 PWM 正转
1 1 PWM 制动
0 0 PWM 制动
0 1 PWM 反转

如果不需要对电机进行速度调控,则ENA和ENB不需要连接,否则需要接到Arduino uno带有PWM功能的数字引脚上。

Arduino IDE编写程序

#include<LiquidCrystal.h>
const int rs=12,en=11,d4=5,d5=4,d6=3,d7=2;
LiquidCrystal lcd(rs,en,d4,d5,d6,d7);
int ena = 10;
int input1 = 6,input2 = 7;
void setup() {lcd.begin(16,2);lcd.print("TEMPERATURE");pinMode(input1,OUTPUT);pinMode(input2,OUTPUT);
}void loop() {float temp;int tem;temp = analogRead(A0);temp = (temp/1024)*500;tem = int(temp+0.5);lcd.setCursor(0,1);lcd.print(tem);if(tem<25){digitalWrite(input1,LOW);}else{digitalWrite(input1,HIGH);}
}

结果验证

找到Arduino IDE编译产生的hex文件,在Porteus中将此文件置入ATmega328P中,即可开始仿真。当温度高于或等于25°时,电机开始工作。

功能拓展

Arduino uno和L298电机带有速度调控功能。现在,将本实验予以改进,电机开始工作时,转速将和温度成正相关,当温度为85°时,电机转速达到最高值。Arduino uno的PWM功能可以模拟一个0~5v变化的电压输出,以8为二进制表示。

#include<LiquidCrystal.h>
const int rs=12,en=11,d4=5,d5=4,d6=3,d7=2;
LiquidCrystal lcd(rs,en,d4,d5,d6,d7);
int ena = 10;
int input1 = 6,input2 = 7;
void setup() {lcd.begin(16,2);lcd.print("TEMPERATURE");pinMode(input1,OUTPUT);pinMode(input2,OUTPUT);
}void loop() {float temp;int tem;temp = analogRead(A0);temp = (temp/1024)*500;tem = int(temp+0.5);lcd.setCursor(0,1);lcd.print(tem);if(tem<25){digitalWrite(input1,LOW);}else{digitalWrite(input1,HIGH);if(tem*3<=255)analogWrite(ena,tem*3);elseanalogWrite(ena,255);}

仿真结果如下:

西电A测|基于Arduino uno的温度检测控制仿真系统相关推荐

  1. 西电A测 | 基于Arduino uno的电子密码锁仿真系统 | 使用Proteus仿真 | Arduino IDE编写

    西电A测 | 基于Arduino uno的电子密码锁仿真系统 | 使用Proteus仿真 | Arduino IDE编写 | ATMEGA328P 电子密码锁系统 Arduino UNO Arduin ...

  2. 西电B测——基于simulink的2PSK和2DPSK调制解调系统实现

    这是学校的B级测试实验,仅供学习交流使用 误码率曲线绘制需要用到bertool工具: bertool工具教程: 通信专业Simulink---画误码率曲线(使用bertool工具)_Enpiyahh的 ...

  3. 基于单片机的饮水机温度控制系统、基于单片机继电器及双向可控硅控制照明设备、基于单片机的液位自动检测控制仿真设计、基于单片机家用厨房天然气火灾报警器系统-设计全套资料

    1347基于单片机的饮水机温度控制系统-电设资料 随着社会的发展和科技的不断进步,人们的生活水平也在逐渐提高.与之而来的问题也很多,例如能源危机与环境污染,绿色环保理念因而开始深入人心.太阳能作为新兴 ...

  4. 基于51单片机多路温度检测proteus仿真 ds18b20

    本设计是基于51单片机多路温度检测proteus仿真_ds18b20(仿真+程序+原理图) 仿真图proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:C0042 ...

  5. 基于 stm32f103 芯片的直流电机驱动控制仿真系统

    西电2022年A测(线上)题目 文章目录 前言 一.Keil5的安装 1.获取安装包 2.安装Keil5 3.运行注册机 4.安装器件库 二,运行工程文件,获取HEX可执行文件 1,获取工程文件 2. ...

  6. 基于嵌入式的远程温度检测控制(论文)

    摘 要:该文设计了基于嵌入式树莓派为核心控制器的远程温度监测系统,并通过温度传感器DS18B20获得数据加以融合以及模糊算法对其进行处理,用户可在手机或电脑客户终端上了解到居室温度变化情况.该系统可以 ...

  7. 基于Arduino UNO的楼道人体感应灯

    基于Arduino UNO的楼道人体感应灯 文章目录 前言 一.认识人体热释电红外传感器 二.模块连接图及程序 1.setup()初始化程序 2.loop()主函数 总结 前言 生活中经常看到一些自动 ...

  8. 基于Arduino Uno开发板的红外遥控开发

    基于Arduino Uno开发板的红外遥控开发 1 准备 1.1 硬件与软件 1.2 走线 2 代码 2.1 ReceiveDump 2.2 SendRawDemo 1 准备 1.1 硬件与软件 单片 ...

  9. Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法

    Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法 首先,我们来看一下Arduino UNO开发板的具体引脚排列,如下图所示, 再了解一下三色RGB LED模块,如下图所示 ...

最新文章

  1. 深入讲解配置Cisco路由器日志中的速率限制问题(三)
  2. 基于cropper和sweetalert的简单图片/头像裁剪上传
  3. Meditation Guide
  4. android文章链接
  5. 学生管理系统(C++)
  6. MySQL Performance-Schema(二) 理论篇
  7. Time除了监控程序运行时间还能干这个?
  8. TeamCity : 安装 Server
  9. 【ES6】Class 类的使用与继承方法详解
  10. 8月13日见!三星Note 20国行版官宣:唯一悬念只剩价格
  11. 【Android手机测试】OOM
  12. 怎样识别一个人是否可交
  13. [No000013F]WPF学习之X名称空间详解
  14. delphi java jni 互通_编程应用实例:Java通过JNI与Delphi交互
  15. (01)Structs初学笔记——开篇
  16. DSP2812/28335 调试问题记录
  17. 克鲁斯卡尔算法、并查集
  18. alpha因子常见问题_因子体系(一):从因子确定到ALPHA和风险的界定
  19. 关于电脑开机自检声音的检测
  20. linux公社_如何在Linux上搭建个人流媒体服务器

热门文章

  1. FP6291 输出5V1A,12V0.4A升压芯片
  2. 记一次练手的项目经历-事件管理系统
  3. C语言实现扫雷游戏(完整版)
  4. SQL DDL 生成建表语句(可自动生成主键约束,字段默认值等)
  5. matlab内存映射文件操作
  6. 30个珍藏的程序员超实用自学网站,干货!
  7. 关于自制Arduino MEGA2560的一点记录
  8. 艾思软件教你, 自己动手,从0到1开发一个App
  9. 北斗定位与GPS定位的区别
  10. 更智能的商务办公邮箱,TOM vip商务邮—全新6.0,带来全面革新