Arduino 温度控制
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 |
应用和在线服务
|
关于这个项目
项目
我们想展示使用滞后的温度控制系统的操作。
组件
我们使用的组件如下:
温度控制
项目做了一个温度控制,我们模拟如下情况:
系统启动并显示温度,如果温度达到25度,则绿色LED激活,房间开始冷却,直到温度降至23度,空调关闭(红色LED),直到温度再次升高。
最后,我们有一个视频,您可以在其中看到操作:
代码
- 温度控制
温度控制Arduino
/* By Alexis Santiago Allende *//*最后更新:12/03/2017*/#include "DHT.h"//DHT 传感器库#include//LCD 库 #define DHTPIN 12 //定义sensor pin(pin 12)#define DHTTYPE DHT22 //使用什么sensor DHT dht(DHTPIN, DHTTYPE);//创建sensor对象LiquidCrystal lcd(8, 9, 4, 5, 6, 7);//创建lcd对象使用这个引脚 8,9,4,6,7boolean a=LOW,b=HIGH;float h=0,t=0;const int ledPin =3; //LED 温度控制引脚 const int ledPin2 =2;long previousMillis =0;long interval =2000; //每2秒读取一次传感器void setup() {lcd.begin(16, 2); //启动lcd lcd.setCursor(0,0); //设置在0,0位置//设置数字引脚为输出:pinMode(ledPin, OUTPUT);//改为输出我的pinspinMode(ledPin2, OUTPUT);dht.begin();//启动DHT22 sensordigitalWrite(ledPin2 ,LOW);//关闭LEDdigitalWrite(ledPin,LOW);//关闭LEDlcd.print("Tempera:");//在lcd中打印这个字lcd.setCursor(0,1);//改变光标位置lcd .print("Humedad:");//在lcd中打印这个词 }void loop(){ unsigned long currentMillis =millis();//经过的时间 if(currentMillis - previousMillis> interval) //经过时间和执行动作的时间 { previousMillis =currentMillis; //"Last time is now" h =dht.readHumidity();//湿度值t =dht.readTemperature();//温度值摄氏度,如果你想把华氏温度改成//t =dht.readTemperature(true); //下面是lcd中的打印数据传感器lcd.setCursor(10,0);液晶打印(t); lcd.setCursor(10,1);液晶显示(h); if(t>=25 &&a==LOW)//如果温度高于 25 度 { digitalWrite(ledPin,HIGH);//有源空调 digitalWrite(ledPin2,LOW); a=高; b=低; } else if(t<=23&&b==LOW)//如果温度低于23度{ digitalWrite(ledPin2,HIGH); digitalWrite(ledPin,LOW);//关闭空调a=LOW; b=高; } }}
示意图
制造工艺