Arduino - Koelsysteem met DHT Sensor

In deze tutorial gaan we de temperatuur regelen met behulp van een ventilator en een DHT11 of DHT22 sensor. Wanneer de temperatuur te hoog is, wordt de koelingventilator aangezet. Wanneer de temperatuur weer koel is, wordt de ventilator uitgezet. Wilt u in plaats van de DHT sensor de DS18B20 sensor gebruiken, zie dan Arduino - Koelsysteem met DS18B20 Sensor.

Hardware Benodigd

1×Arduino Uno R3
1×USB 2.0-kabel type A/B
1×DHT11 Temperatuur- en Vochtigheidssensor
1×Relais
1×12V DC Koelventilator
1×(Alternatief) 5V DC Koelventilator
1×12V Voedingsadapter
1×DC Voedingsconnector
1×Jumperdraden

U kunt ook een DHT22 sensor gebruiken in plaats van de DHT11 sensor.

1×(Aanbevolen) Schroefklem Block Shield voor Arduino Uno
1×(Aanbevolen) Breadboard-Shield voor Arduino Uno
1×(Aanbevolen) Behuizing voor Arduino Uno
1×(Aanbevolen) Prototyping Basisplaat & Breadboard Kit voor Arduino Uno

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over Koelventilator en DHT Sensor

De koelventilator die in deze handleiding wordt gebruikt werkt op een 12V voeding. Wanneer er stroom wordt geleverd aan de ventilator, draait deze en andersom stopt hij. Om de ventilator via Arduino te kunnen aansturen, is het nodig om een relais tussen te schakelen.

Als u niet bekend bent met temperatuursensoren en ventilatoren (pinout, werking, programmeren, etc.), leer er meer over in de volgende tutorials:

Aansluitschema

  • Aansluitschema met DHT11 module
Arduino koelsysteem ventilator aansluitschema

This image is created using Fritzing. Click to enlarge image

  • Aansluitschema met DHT22 module
Arduino koelsysteem ventilator aansluitschema

This image is created using Fritzing. Click to enlarge image

Hoe het Systeem Werkt

  • Arduino leest de temperatuur van de temperatuursensor
  • Als de temperatuur boven een ingestelde bovengrens komt, zet Arduino de ventilator aan
  • Als de temperatuur onder een ingestelde ondergrens komt, zet Arduino de ventilator uit

Bovenstaand proces wordt eindeloos herhaald in de loop.

Wilt u de ventilator aan en uit laten gaan bij precies dezelfde temperatuurwaarde, dan stelt u de bovengrens en ondergrens simpelweg op diezelfde waarde in.

Arduino Code

Arduino Code voor Koelsysteem met DHT11 sensor

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-cooling-system-using-dht-sensor */ #include "DHT.h" #define RELAY_FAN_PIN A5 // Arduino pin connected to relay which connected to fan #define DHTPIN 12 // Arduino pin connected to relay which connected to DHT sensor #define DHTTYPE DHT11 const int TEMP_THRESHOLD_UPPER = 25; // upper threshold of temperature, change to your desire value const int TEMP_THRESHOLD_LOWER = 20; // lower threshold of temperature, change to your desire value DHT dht(DHTPIN, DHTTYPE); float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // initialize serial dht.begin(); // initialize the sensor pinMode(RELAY_FAN_PIN, OUTPUT); // initialize digital pin as an output } void loop() { // wait a few seconds between measurements. delay(2000); temperature = dht.readTemperature();; // read temperature in Celsius if (isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); } else { if(temperature > TEMP_THRESHOLD_UPPER){ Serial.println("The fan is turned on"); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on } else if(temperature < TEMP_THRESHOLD_LOWER){ Serial.println("The fan is turned off"); digitalWrite(RELAY_FAN_PIN, LOW); // turn on } } }

Arduino Code voor Koelsysteem met DHT22 sensor

/* * Deze Arduino code is ontwikkeld door newbiely.nl * Deze Arduino code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino/arduino-cooling-system-using-dht-sensor */ #include "DHT.h" #define RELAY_FAN_PIN A5 // Arduino pin connected to relay which connected to fan #define DHTPIN 12 // Arduino pin connected to relay which connected to DHT sensor #define DHTTYPE DHT22 const int TEMP_THRESHOLD_UPPER = 25; // upper threshold of temperature, change to your desire value const int TEMP_THRESHOLD_LOWER = 20; // lower threshold of temperature, change to your desire value DHT dht(DHTPIN, DHTTYPE); float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // initialize serial dht.begin(); // initialize the sensor pinMode(RELAY_FAN_PIN, OUTPUT); // initialize digital pin as an output } void loop() { // wait a few seconds between measurements. delay(2000); temperature = dht.readTemperature();; // read temperature in Celsius if (isnan(temperature)) { Serial.println("Failed to read from DHT sensor!"); } else { if(temperature > TEMP_THRESHOLD_UPPER){ Serial.println("The fan is turned on"); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on } else if(temperature < TEMP_THRESHOLD_LOWER){ Serial.println("The fan is turned off"); digitalWrite(RELAY_FAN_PIN, LOW); // turn on } } }

In bovenstaande codes zet de Arduino de ventilator aan wanneer de temperatuur boven 25°C komt, en houdt de ventilator aan tot de temperatuur weer onder 20°C daalt.

Snelle Stappen

  • Verbind Arduino met de pc via USB-kabel
  • Open de Arduino IDE, selecteer het juiste board en poort
  • Klik op het Libraries icoon in de linkerzijbalk van Arduino IDE.
  • Zoek op “DHT” en zoek de DHT sensor bibliotheek van Adafruit
  • Klik op de Installeren knop om de bibliotheek te installeren.
Arduino DHT sensor library
  • U wordt gevraagd enkele aanvullende bibliotheek afhankelijkheden te installeren
  • Klik op de Alles Installeren knop om alle afhankelijkheden te installeren.
Arduino Adafruit Unified sensor library
  • Kopieer de correcte code hierboven die bij uw sensor hoort en open deze in Arduino IDE
  • Klik op de Upload knop in Arduino IDE om de code naar Arduino te laden
  • Maak de omgeving rond de sensor warmer of kouder
  • Bekijk de status van de ventilator

Gevorderde Kennis

Bovenstaande besturingsmethode is een aan-uitregelaar, ook bekend als een signaalregelaar of "bang-bang" controller. Deze methode is zeer eenvoudig te implementeren.

Er bestaat ook een alternatieve methode, de PID-regelaar. Met een PID-regelaar is de gewenste temperatuur stabieler, maar het is moeilijker te begrijpen en te implementeren. Daarom is de PID-regelaar minder populair bij temperatuurregeling.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!