西电A测|基于Arduino uno的温度检测控制仿真系统
温度检测控制仿真系统
功能要求: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 =