Czujnik wilgotności gleby

Czujnik wilgotności gleby – Hygrometer sensor

Układ jest dość prosty i nie powinien Wam sprawić problemów w montowaniu, i uruchamianiu dość ciekawego i fajnego projektu. Tak więc od początku. Ja w swoim projekcie użyłem mikro kontrolera Arduino NANO V3.0, 5szt. diod (trzy zielone, jedna żółta i jedna czerwona), czujnika wilgotności gleby z bagnetem, i przewodów do połączenia elementów w układ. Stan wilgotności gleby sprawdzamy poprzez zapalające się diody. Zapalą się wszystkie oznacza że jest wilgotno, trochę mniej palą się cztery, sucho pali się tylko czerwona.

WP_20160311_08_06_37_Pro WP_20160311_08_06_11_Pro WP_20160311_07_44_24_Pro

WP_20160311_07_41_34_Pro WP_20160311_07_15_04_Pro

schemat czujnik wilgotności gleby

W skrócie diody podpinamy pod wyjścia cyfrowe od D2 do D6 , tak jak na schemacie i podajemy wspólne zasilanie, z Arduino wyprowadzamy zasilanie oraz masę. Do czujnika oczywiście również podpinamy zasilanie, masa i wyjście analogowe A0 łączymy z wejściem analogowym A0. Pozwoli to nam mierząc proporcjonalny sygnał napięciowy, dokładniej określić poziom wilgotności gleby.

Poniżej program który należy wgrać do arduino.

/*
Flower Pot Soil Mosture Sensor

A0 – Soil Mosture Sensor
D2:D6 – LEDS 1,2,3,4,5

LED1 – Green
LED2 – Green
LED3 – Green
LED4 – YELLOW
LED5 – RED

Connect the Soil Mosture Sensor to anolog input pin 0,
and your 5 led to digital out 2-6

*/
int led1 = 2;
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;

int mostureSensor = 0;

void setup() {
// Serial Begin so we can see the data from the mosture sensor in our serial input window.
Serial.begin(9600);
// setting the led pins to outputs
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(mostureSensor);
// print out the value you read:

Serial.println(sensorValue);

if (sensorValue >= 820)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, LOW);
}
else if (sensorValue >= 615 && sensorValue < 820)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}
else if (sensorValue >= 410 && sensorValue < 615)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}
else if (sensorValue >= 250 && sensorValue < 410)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}
else if (sensorValue >= 0 && sensorValue < 250)
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}
delay(1000); // delay 1 second between reads
}

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *