Arduino-Temperaturkontrolle
Komponenten und Verbrauchsmaterialien
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 |
Apps und Onlinedienste
|
Über dieses Projekt
Das Projekt
Wir wollen die Funktionsweise eines Temperiersystems mit Hysterese zeigen.
Komponenten
Die von uns verwendeten Komponenten waren die folgenden:
Temperaturregelung
Das Projekt führt eine Temperaturkontrolle durch, wir modellieren die folgende Situation:
Das System startet und zeigt die Temperatur an, wenn die Temperatur 25 Grad erreicht, dann wird die grüne LED aktiviert und der Raum beginnt abzukühlen, bis die Temperatur auf 23 Grad fällt, die Klimaanlage schaltet sich aus (rote LED), bis die Temperatur wieder ansteigt.
Und zum Schluss haben wir noch ein Video, in dem Sie die Operation sehen können:
Code
- Temperaturkontrolle
TemperaturkontrolleArduino
/*von Alexis Santiago Allende *//*Letzte Aktualisierung:12.03.2017*/#include "DHT.h"//DHT sensor Library#include//LCD Library #define DHTPIN 12 // Sensor-Pin definieren (Pin 12) # definieren DHTTYPE DHT22 // Welcher Sensor verwendetDHT dht (DHTPIN, DHTTYPE); // Sensorobjekt erstellenLiquidCrystal lcd (8, 9, 4, 5, 6, 7); // lcd-Objekt erstellen mit diesen Pins 8,9,4,6,7boolean a=LOW,b=HIGH;float h=0,t=0;const int ledPin =3; // LED-Pins für Temperaturregelung const int ledPin2 =2; lange vorherigeMillis =0; langes Intervall =2000; // Sensor alle 2 Sekunden lesenvoid setup () {lcd.begin (16, 2); // lcd starten lcd.setCursor(0,0); // Setze in Position 0,0 // setze den digitalen Pin als Ausgang:PinMode (ledPin, OUTPUT); // Ändern Sie die Ausgabe meiner PinspinMode (ledPin2, OUTPUT); dht.begin (); // Starte DHT22 sensordigitalWrite (ledPin2 ,LOW); // LEDdigitalWrite ausschalten (ledPin, LOW); // LEDlcd.print ausschalten ("Tempera:"); // dieses Wort in LCD drucken lcd.setCursor (0,1); // Cursorposition ändernlcd .print("Humedad:"); // Dieses Wort in LCD ausgeben }void loop () { unsigned long currentMillis =millis (); // verstrichene Zeit if (currentMillis - previousMillis> interval) //Vergleich zwischen der verstrichenen Zeit und die Zeit, in der die Aktion ausgeführt werden soll { previousMillis =currentMillis; //"Das letzte Mal ist jetzt" h =dht.readHumidity();//Feuchtigkeitswert t =dht.readTemperature();//Temperaturwert in Celsius, wenn Sie die Fahrtenheit auf //t =dht.readTemperature(true) ändern möchten; // Unten ist für Druckdatensensoren in lcd lcd.setCursor (10,0); lcd.print (t); lcd.setCursor(10,1); lcd.print (h); if (t>=25 &&a==LOW) // wenn die Temperatur über 25 Grad liegt { DigitalWrite (ledPin, HIGH); // Aktive Klimaanlage digitalWrite (ledPin2, LOW); a =HOCH; b =NIEDRIG; aufrechtzuerhalten. Sonst if (t<=23&&b==LOW) // wenn die Temperatur unter 23 Grad liegt { DigitalWrite (ledPin2,HIGH); digitalWrite (ledPin, LOW); // Klimaanlage ausschalten a =LOW; b =HOCH; } }}
Schaltpläne
Herstellungsprozess