Hoi
Zal mij eerst even voorstellen (vorige post helemaal vergeten )
Ik ben Manfred 44 jaar en woonachtig in het zuiden des lands
Ik heb 0 ervaring met arduino tot 3 weken geleden via internet wat sketches gezocht en geprobeerd. Ledje aan uit en knipperledje servo sweep gedaan toen begonnen met de waardes te veranderen om te begrijpen wat het dan deed dit lukte allemaal.
Sinds afgelopen week ben ik aan het bouwen aan een terrarium controller eerst heel simpel en dan steeds uitgebreider
Wat ik tot nu toe heb is
Temperatuur min 24 graden en max 27 graden werkt
Vochtigheid min 80% max 95% werkt
Licht aan uit werkt
Maar nu komt het het licht moet in de toekomst in de ochtend rustig aangaan fade in ?
Rond 12 uur op zijn felst zijn en in de avond rustig minder worden fade out ?
Dan snacht`s het uv en rood licht aan (maanlicht en goed voor de planten )
Ben mij bewust dat ik dan een timer moet gaan gebruiken en deze moet combineren met de sketch die ik nu al heb maar hoe moet ik dit samen voegen is hier nog een bepaalde volgorde voor
De sketch wat ik nu al heb is deels gevonden op internet maar wel zelf aangepast naar mijn wensen
DWZ het orgineel had alleen maar een max temp en max vochtigheid
ik werk met de arduino uno
#include "DHT.h"
#define DHTPIN 2 // what pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
#define uv 3 // uv licht
#define fan 4 //pin waar warmtebron op zit
#define pump 5 //pin waar de pomp op zit
int minHum = 80; // minimale vochtichheid
int maxhum = 95; //maximale vochtigheid
int minTemp = 24; // minimale temp.
int maxtemp = 27; // maximale temp.
DHT dht(DHTPIN, DHTTYPE); // dht sensor
void setup() {
pinMode( uv, OUTPUT);
pinMode(fan, OUTPUT); // wat te doen met pin 4
pinMode(pump, OUTPUT); // wat te doen met pin 5
Serial.begin(9600);
dht.begin();
}
void loop() {
// Wait a few seconds between measurements.
delay(2000);
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius
float t = dht.readTemperature();
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
digitalWrite(uv, HIGH);
delay(1000);
digitalWrite(uv, LOW);
if ( t < minTemp) //temp lager dan 24 lamp aan
digitalWrite(fan, HIGH); // lamp aan
if ( t > maxtemp) // temp hoger dan 27 lamp uit
digitalWrite(fan, LOW);{ // lamp uit
}
if (h < minHum ) // hum. lager dan 80% pomp aan
digitalWrite(pump, HIGH); // pomp aan
if (h > maxhum ) // hum. hoger dan 95% pomp uit
digitalWrite(pump, LOW); //pomp uit
{
}
Serial.print("Humidity: "); // print humidity naar seriele monitor
Serial.print(h);
Serial.print(" %\t");
Serial.print("Temperature: "); // print temperatuur naar seriele monitor
Serial.print(t);
Serial.println(" *C ");
}
alvast bedankt