22 sij Mjerenje razine vlažnosti zemlje
Zadatak
Izmjerite razinu vlažnosti zemlje u tegli sa cvijetom. Na Arduino MKR1000 shield spojite senzor vlažnosti i zvučnik. Kada razina vlažnosti padne ispod određene vrijednosti (u ovom primjeru vrijednost je 500), neka zvučnik svira melodiju te obavještava vlasnika da zalije cvijet.
Prikaz spajanja
Senzor vlažnosti spojite na izvod A0.
Zvučnik spojite na izvod 8.
Arduino kod
// definiranje nota #define NOTE_C4 262 #define NOTE_G3 196 #define NOTE_A3 220 #define NOTE_B3 247 // definiranje melodije int melodija[] = { NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, NOTE_B3, NOTE_C4 }; // definiranje vremena trajanja nota int notaTrajanjaSve[] = { 4, 8, 8, 4, 4, 4, 4 }; int razinaVlage = 0; // definiranje varijable u koju se pohranjuje očitanje senzora vlažnosti void setup() { } void loop() { razinaVlage = analogRead(A0); // očitavanje razine vlažnosti i spremanje u odgovarajuću varijablu if(razinaVlage < 500){ // vrijednost 500 moguće mijenjati ovisno o željenoj razini vlažnosti zemlje for (int nota = 0; nota < 7; nota++) { int notaTrajanja = 1000 / notaTrajanjaSve[nota]; tone(8, melodija[nota], notaTrajanja); int pauza = notaTrajanja * 1.30; delay(pauza); noTone(8); } } }