Arduino - Temperatuur Regelen

In deze handleiding gaan we de kamertemperatuur regelen binnen een comfortabele range met behulp van een Arduino, DS18B20 temperatuursensor, ventilator en verwarmingselement. Wanneer de temperatuur te hoog is, wordt de koelventilator aangezet om te ventileren. Wanneer het te koud is, wordt de koelventilator uitgeschakeld en gaat het verwarmingselement aan.

Hardware Benodigd

1×Arduino Uno R3
1×USB 2.0 kabel type A/B
1×DS18B20 Temperatuursensor (MET adapter)
1×DS18B20 Temperatuursensor (ZONDER adapter)
1×Relay (relais)
1×12V DC Koelventilator
1×(Alternatief) 5V DC Koelventilator
1×12V Verwarmingselement
1×12V Voedingsadapter
1×DC Stroomconnector
1×Jumper Draden (verbindingskabels)
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.

Aankoopadvies: Veel DS18B20-sensoren op de markt zijn van lage kwaliteit. We raden u ten zeerste aan de sensor van het merk DIYables te kopen via de bovenstaande link. We hebben het getest en het werkte goed.

Over het Kamertemperatuur Regelsysteem

Kort gezegd zal de Arduino de ventilator aanzetten wanneer het te warm is in de kamer en het verwarmingselement inschakelen wanneer het te koud is. Hieronder wordt uitgelegd hoe een kamertemperatuur regelsysteem werkt aan de hand van het voorbeeld waarbij de kamertemperatuur wordt geregeld tussen 18°C en 26°C:

  • Arduino leest de temperatuur van de temperatuursensor
  • Als de temperatuur boven 26°C komt, zet Arduino de ventilator aan en schakelt het verwarmingselement uit
  • Als de temperatuur onder 18°C daalt, schakelt Arduino de ventilator uit en zet het verwarmingselement aan

Dit proces wordt continu herhaald in de loop.

De ventilator functioneert als een ventilator voor luchtcirculatie.

Als u nog niet bekend bent met de temperatuursensor, het verwarmingselement of de ventilator (pinout, werking, programmeren, enz.), kunt u de volgende tutorials raadplegen:

Aansluitschema

Arduino bestuurt temperatuur aansluitschema

This image is created using Fritzing. Click to enlarge image

Let op: ter vereenvoudiging toont het bovenstaande schema twee 12V DC voedingsadapters, maar in de praktijk kunt u één 12V DC adapter gebruiken voor zowel de ventilator als het verwarmingselement.

Arduino Code

/* * 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-control-temperature */ #include <OneWire.h> #include <DallasTemperature.h> const int TEMP_THRESHOLD_UPPER = 26; // °C, upper threshold of temperature, change to your desire value const int TEMP_THRESHOLD_LOWER = 18; // °C, lower threshold of temperature, change to your desire value const int SENSOR_PIN = 2; // Arduino pin connected to DS18B20 sensor's DQ pin const int RELAY_FAN_PIN = A5; // Arduino pin connected to relay which connected to fan const int RELAY_HEAT_PIN = A4; // Arduino pin connected to relay which connected to the heating element OneWire oneWire(SENSOR_PIN); // setup a oneWire instance DallasTemperature sensors(&oneWire); // pass oneWire to DallasTemperature library float temperature; // temperature in Celsius void setup() { Serial.begin(9600); // initialize serial sensors.begin(); // initialize the sensor pinMode(RELAY_FAN_PIN, OUTPUT); // initialize digital pin as an output } void loop() { sensors.requestTemperatures(); // send the command to get temperatures temperature = sensors.getTempCByIndex(0); // read temperature in Celsius if(temperature > TEMP_THRESHOLD_UPPER){ Serial.println("HOT! The fan is turned on and the heating element is turned off"); digitalWrite(RELAY_FAN_PIN, HIGH); // turn on the fan digitalWrite(RELAY_HEAT_PIN, LOW); // turn off the heating element } else if(temperature < TEMP_THRESHOLD_LOWER){ Serial.println("COLD! The fan is turned off and the heating element is turned on"); digitalWrite(RELAY_FAN_PIN, LOW); // turn off the fan digitalWrite(RELAY_HEAT_PIN, HIGH); // turn on the heating element } delay(500); }

In de bovenstaande code zet de Arduino de ventilator aan zodra de temperatuur boven de 25°C komt, en houdt de ventilator aan totdat de temperatuur onder de 20°C daalt.

Snel aan de slag

  • Verbind de Arduino met de pc via de USB-kabel
  • Open de Arduino IDE, selecteer het juiste board en de juiste poort
  • Ga naar het Libraries icoon in de linkerzijbalk van de Arduino IDE
  • Zoek op “DallasTemperature” en selecteer de DallasTemperature library van Miles Burton
  • Klik op de Installeren knop om de DallasTemperature library te installeren
Arduino Dallas Temperature library
  • Er zal gevraagd worden om de afhankelijkheid te installeren
  • Klik op Alles installeren om de OneWire library te installeren
Arduino onewire library
  • Kopieer de bovenstaande code en open die met de Arduino IDE
  • Klik op de Uploaden knop in de Arduino IDE om de code naar de Arduino te uploaden
  • Maak de omgeving rond de sensor warmer of kouder
  • Observeer de status van de ventilator en het verwarmingselement

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.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en helpt u het temperatuurregelsysteem beter te begrijpen.

※ 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!