Onderdelen nodig:
-Bodem vochtigheid sensor (dealextreme $3)
-Arduino van welke aard (dealextreme $10)
-mini servo van welke aard (9gm ~ $5)
-aquarium ventiel
-10K potentiometer
-waterleiding (dunne aquarium type)
Eerste duik van de vork van de vochtigheid sensor voor de bodem volledig... sensor aansluiten aan A0 en 10K pot op A1 pinnen van Arduino. servo verbinden met D9 pin. macht van het systeem met alles wat die je wilt... (Muur adapter of accu)... Uploaden van de schets aan de arduino, aanpassen van de pot en daar ga je... u kunt het niveau van het water nodig op elk moment door de potentiometer... dat is alles... Kun je het systeem in het vak van een kleine waterdichte project van welke aard... u kunt een batterij handheld-systeem en a16x2 LCD-scherm om te tonen van vocht en drenken status... alstublieft aarzel dan niet om contact met mij op voor alle hulp en vergeet niet te stemmen voor mij als je het wilt toevoegen... :) Mijn andere projecten zijn op mijn website... http://borsaci06.com
Hier is het programma, kopieer en plak deze op de Arduino IDE en uploaden:
/ * Dincer Hepguler 2013
* http://borsaci06.com
* Analoge waarden van de vochtigheid sensor leest via de seriële poort
* Opdracht een servo gecontroleerd water systeem
*
*/
Const int numReadings = 20; aantal lezingen voor het vloeiend maken
int lezingen [numReadings]; de lezingen van de analoge ingang
int index = 0; de index van de huidige lezing
int totaal = 0; het lopend totaal
int val = 0; het gemiddelde
#include
Servo myservo; maken van servo-object om te bepalen van een servo
int sensorPin = A0; vochtigheid sensor op A0 (analog0)
int pos = 90; variabele instellen servo naar het midden te winkel servo positie
int thresholdPin = a1 worden verkregen; drempel pot op A1
int val = analogRead(sensorPin);
int drempel = analogRead(thresholdPin);
VOID Setup {}
Serial.begin(9600);
myservo.attach(9); hecht de servo op pin 9
Initialiseer alle lezingen op 0:
voor (int thisReading = 0; thisReading < numReadings; thisReading ++)
lezingen [thisReading] = 0;
}
void loop {}
de laatste lezing aftrekken:
totaal = totaal - lezingen [index];
lezen van de sensor:
lezingen [index] = analogRead(sensorPin);
de lezing aan het totaal toevoegen
totaal = totaal + lezingen [index];
verder naar de volgende positie in de matrix:
index = index + 1;
Als we aan het einde van de array...
Als (index > = numReadings)
.. .wrap rond naar het begin:
index = 0;
int drempel = analogRead(thresholdPin);
Val = totaal / numReadings; het gemiddelde berekenen
Als (val > drempel) {pos = 180;} Open klep als droog
else {pos = 60 ;} Houd de klep gesloten anders
myservo.write(POS); stelt u de positie van de servo volgens de geschaalde waarde
delay(15); wacht tot de servo om er te komen
Serial.Print(Threshold);
Serial.Print("");
Serial.Print(val);
Serial.Print("");
Serial.println(POS);
delay(10); vertraging in tussen leest voor stabiliteit
}
Nota: ik kon niet beheren toe te voegen Neem verklaring, it verdwijnt tijdens kopiëren en plakken... Vergeet dus niet om een #include servo bibliotheek te voegen...