Hysteresis-gebaseerd Arduino-temperatuurregelsysteem
Componenten en benodigdheden
| Arduino 101 | 1 | |
| DHT22 Temperatuursensor | 1 | |
| Draadbruggen (algemeen) | 1 | |
| LED (algemeen) | 2 | |
| Weerstand 10k ohm | 1 | |
| Weerstand 330 ohm | 2 | |
| DFRobot LCD Button Shield | 1 | |
| Breadboard (algemeen) | 1 |
Apps en online diensten
- Arduino IDE
Over dit project
Het project
We willen de werking van een temperatuurregelsysteem demonstreren met behulp van hysteresis.
Componenten
De gebruikte componenten zijn hierboven weergegeven.
Temperatuurregeling
Het project voert een temperatuurregeling uit. We modelleren de volgende situatie:
Het systeem start en toont de temperatuur. Als de temperatuur 25°C bereikt, gaat de groene LED aan (airconditioning aan) en de ruimte begint te koelen tot de temperatuur daalt tot 23°C. Dan schakelt de airconditioning uit (rode LED) tot de temperatuur weer stijgt.
Een video toont de werking van het systeem.
Code
Temperatuurregeling (Arduino)
/*By Alexis Santiago Allende */ /*Last update: 12/03/2017*/
#include "DHT.h"
#include <LiquidCrystal.h>
#define DHTPIN 12
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
boolean a=LOW,b=HIGH;
float h=0,t=0;
const int ledPin = 3;
const int ledPin2 = 2;
long previousMillis = 0;
long interval = 2000;
void setup() {
lcd.begin(16, 2);
lcd.setCursor(0,0);
pinMode(ledPin, OUTPUT);
pinMode(ledPin2, OUTPUT);
dht.begin();
digitalWrite(ledPin2,LOW);
digitalWrite(ledPin,LOW);
lcd.print("Tempera:");
lcd.setCursor(0,1);
lcd.print("Humedad:");
}
void loop() {
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval) {
previousMillis = currentMillis;
h = dht.readHumidity();
t = dht.readTemperature();
lcd.setCursor(10,0);
lcd.print(t);
lcd.setCursor(10,1);
lcd.print(h);
if(t>=25 && a==LOW) {
digitalWrite(ledPin,HIGH);
digitalWrite(ledPin2,LOW);
a=HIGH; b=LOW;
} else if(t<=23&&b==LOW) {
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin,LOW);
a=LOW; b=HIGH;
}
}
}
Schema's
Aansluitschema voor het hysteresis-gebaseerde temperatuurregelsysteem.
Productieproces
- Arduino Digitale Dobbelsteen: Bouw Je Eigen LCD-willekeurige Getalgenerator
- Slimme Jaloezieën: Geautomatiseerd Lichtbeheer met Arduino & Zonne-energie
- Slimme spaarpot bouwen: Muntenacceptor besturen met Arduino Nano
- Arduino Power Control Center: N-FET, P-FET, Relais & RTC Kit
- Arduino temperatuur- en vochtigheidslogger met DHT11 en Ethernet Shield
- Een LED bedienen via Bluetooth met Arduino – Eenvoudige DIY Handleiding
- Een Arduino Iron Man bouwen: onderdelen, sensoren en stapsgewijze handleiding
- Een eenvoudige obstakelsensor bouwen met Arduino – IR LED & Fotodiodo Tutorial
- Find Me: Slimme Item Locator met Arduino en Bluetooth
- Bouw een Functionele, Arduino-aangedreven 3D-geprinte Robotarm – Stap-voor-Stap Handleiding
- DIY Arduino Luchtbevochtiger Controller met Relais – Veilige Hoogspanningsopstelling