Components and supplies
SG90 Micro-servo motor
Buzzer
Rotary potentiometer (generic)
Grove - Water Sensor
9V battery (generic)
Arduino UNO
Breadboard (generic)
Project description
Code
code
arduino
1 2#include <Servo.h> 3 4Servo myservo; 5int potpin = A1; 6int val; 7const int waterSens = A0; //define water sensor to pin A0 8const int buzzer = 8; //define speaker to pin 8 9int SensorValue; //create sensor data variable 10 11void setup() 12{ 13 pinMode(buzzer, OUTPUT);//set speaker as an output 14 pinMode(waterSens, INPUT); //set water sensor as an input 15 myservo.attach(9); 16} 17 18void loop() 19{ 20 21 int sensorValue = analogRead(waterSens);//read the water sensor value 22 23if (sensorValue <= 250) 24{ 25 tone(buzzer, 660 ,100); 26delay ( 150); 27tone(buzzer, 660 ,100); 28delay ( 300); 29tone(buzzer, 660 ,100); 30delay ( 300); 31tone(buzzer, 510 ,100); 32delay ( 100); 33tone(buzzer, 660 ,100); 34delay ( 300); 35tone(buzzer, 770 ,100); 36delay ( 550); 37tone(buzzer, 380 ,100); 38delay ( 575); 39 40tone(buzzer, 510 ,100); 41delay ( 450); 42tone(buzzer, 380 ,100); 43delay ( 400); 44tone(buzzer, 320 ,100); 45delay ( 500); 46tone(buzzer, 440 ,100); 47delay ( 300); 48tone(buzzer, 480 ,80); 49delay ( 330); 50tone(buzzer, 450 ,100); 51delay ( 150); 52tone(buzzer, 430 ,100); 53delay ( 300); 54tone(buzzer, 380 ,100); 55delay ( 200); 56tone(buzzer, 660 ,80); 57delay ( 200); 58tone(buzzer, 760 ,50); 59delay ( 150); 60tone(buzzer, 860 ,100); 61delay ( 300); 62tone(buzzer, 700 ,80); 63delay ( 150); 64tone(buzzer, 760 ,50); 65delay ( 350); 66tone(buzzer, 660 ,80); 67delay ( 300); 68tone(buzzer, 520 ,80); 69delay ( 150); 70tone(buzzer, 580 ,80); 71delay ( 150); 72tone(buzzer, 480 ,80); 73delay ( 500); 74 75tone(buzzer, 510 ,100); 76delay ( 450); 77tone(buzzer, 380 ,100); 78delay ( 400); 79tone(buzzer, 320 ,100); 80delay ( 500); 81tone(buzzer, 440 ,100); 82delay ( 300); 83tone(buzzer, 480 ,80); 84delay ( 330); 85tone(buzzer, 450 ,100); 86delay ( 150); 87tone(buzzer, 430 ,100); 88delay ( 300); 89tone(buzzer, 380 ,100); 90delay ( 200); 91tone(buzzer, 660 ,80); 92delay ( 200); 93tone(buzzer, 760 ,50); 94delay ( 150); 95tone(buzzer, 860 ,100); 96delay ( 300); 97tone(buzzer, 700 ,80); 98delay ( 150); 99tone(buzzer, 760 ,50); 100delay ( 350); 101tone(buzzer, 660 ,80); 102delay ( 300); 103tone(buzzer, 520 ,80); 104delay ( 150); 105tone(buzzer, 580 ,80); 106delay ( 150); 107tone(buzzer, 480 ,80); 108delay ( 500); 109 110tone(buzzer, 500 ,100); 111delay ( 300); 112 113tone(buzzer, 760 ,100); 114delay ( 100); 115tone(buzzer, 720 ,100); 116delay ( 150); 117tone(buzzer, 680 ,100); 118delay ( 150); 119tone(buzzer, 620 ,150); 120delay ( 300); 121 122tone(buzzer, 650 ,150); 123delay ( 300); 124tone(buzzer, 380 ,100); 125delay ( 150); 126tone(buzzer, 430 ,100); 127delay ( 150); 128 129tone(buzzer, 500 ,100); 130delay ( 300); 131tone(buzzer, 430 ,100); 132delay ( 150); 133tone(buzzer, 500 ,100); 134delay ( 100); 135tone(buzzer, 570 ,100); 136delay ( 220); 137 138tone(buzzer, 500 ,100); 139delay ( 300); 140 141tone(buzzer, 760 ,100); 142delay ( 100); 143tone(buzzer, 720 ,100); 144delay ( 150); 145tone(buzzer, 680 ,100); 146delay ( 150); 147tone(buzzer, 620 ,150); 148delay ( 300); 149 150tone(buzzer, 650 ,200); 151delay ( 300); 152 153tone(buzzer, 1020 ,80); 154delay ( 300); 155tone(buzzer, 1020 ,80); 156delay ( 150); 157tone(buzzer, 1020 ,80); 158delay ( 300); 159 160tone(buzzer, 380 ,100); 161delay ( 300); 162tone(buzzer, 500 ,100); 163delay ( 300); 164 165tone(buzzer, 760 ,100); 166delay ( 100); 167tone(buzzer, 720 ,100); 168delay ( 150); 169tone(buzzer, 680 ,100); 170delay ( 150); 171tone(buzzer, 620 ,150); 172delay ( 300); 173 174tone(buzzer, 650 ,150); 175delay ( 300); 176tone(buzzer, 380 ,100); 177delay ( 150); 178tone(buzzer, 430 ,100); 179delay ( 150); 180 181tone(buzzer, 500 ,100); 182delay ( 300); 183tone(buzzer, 430 ,100); 184delay ( 150); 185tone(buzzer, 500 ,100); 186delay ( 100); 187tone(buzzer, 570 ,100); 188delay ( 420); 189 190tone(buzzer, 585 ,100); 191delay ( 450); 192 193tone(buzzer, 550 ,100); 194delay ( 420); 195 196tone(buzzer, 500 ,100); 197delay ( 360); 198 199 200 } //if the sensor senses water then play an alarm 201 { 202 val = analogRead(potpin); 203 val = map(val, 0, 1023, 0, 360); 204 myservo.write(val); 205 delay(15); 206} 207 208} 209
Downloadable files
case
case
wiring
wiring
case
case
wiring
wiring
Comments
Only logged in users can leave comments
Nicolo_Brizio
0 Followers
•1 Projects
4
1
Anonymous user
6 years ago
Hello Nicolo_Brizio, your project is very interesting for me because like you I want to know sometimes if it is effectively raining (and not to know if the ground is wet or how much rain had fallen). My way to do this for me is to use a speaker cover with a sealed film plastic and take the value of « the sound » produce by the air displacement. But here, can you please give more explanations about : - the role of the servo (what is he doing) - the role of the potenziometer (to regulate a “veranda”) - what is the module right after the water sensor - and what is a « veranda » for you ? Thanks !