Automatiserad vattning av krukväxter med Intel Edison (7 / 28 steg)
Steg 7: Arduino koden för att ställa in
Följande är Arduino koden för att köra automatisk vattning system för krukväxter. Jag har gått igenom många referensmaterial och prov koder och kom med detta något modifierad version. Koden är självförklarande som jag har gett en beskrivning av varje rad efter / / (par snedstreck)
Här kan du se att vi har satt värdet torr som 350 när vattenpumpen börjar vattna växterna och våta värdet som 700 då vattenpumpen slutar. Den fukt sensorn kommer att anslutas till analoga kontakten "A0" på Grove Base sköld. Utsignalen att starta och stoppa vattenpumpen är genom Digital stift 9 på Edison styrelsen.
Programmet berättar Intel Edison att läsa värden från fukt sensor ansluten till analoga kontakten "A0". När sensorn värdet understiger 350, är små nuvarande en signal till Pin 9 vilket kommer att aktivera den vattenpump ansluten till en enkel elektronisk krets. När sensorn värdet når 700, stoppas signalen nuvarande Pin 9 som också slutar (eller öppnar) kretsen bedriver vattenpumpen.
Koden har även bestämmelserna för övervakning sensor värdena via seriell övervaka, ansluten till en datorer med Micro USB-kablar.
Du kan kopiera / klistra in koden i din Arduino IDE och ladda upp till din Edison styrelse. Se till att ange de com-portnummer du antecknade ner från din dator innan du laddar upp.
/ * Automatisk vattning med Intel Edison med hjälp av en vattenpump
* Grove fukt sensorn känner marken fukt villkora och utlöser den vattenpump
*/
int moistureSensor = A0; Ingångsstift för fukt sensor
int packningssats = 9. Utgångsstiftet ansätta den vattenpump
CONST int dryValue = 350; Detta värde är när växterna behöver vattnas
CONST int wetValue = 700; Detta värde är när växterna är helt vattnas
booleska DEBUG = sant; Visa utdata på den seriella porten
void setup() {
IF(debug){Serial.BEGIN(9600);}
pinMode (moistureSensor, ingång); Deklarera fukt sensorn som indata:
pinMode (packningssats, produktionen); Deklarera vattenpumpen som en utgång:
digitalWrite (packningssats, låg); Se till att den vattenpump är avstängd.
}
void loop() {
int sensorValue = analogRead(moistureSensor); läsa värdet från fukt Sensor:
IF(debug) {
Serial.Print ("Sensor värde:");
Serial.println(sensorValue);
}
om (sensorValue
digitalWrite (packningssats, hög); Driva vattenpumpen
}
om (sensorValue > wetValue) {/ / om sensor värdet är större än värdet för våta
digitalWrite (packningssats, låg); Stoppa vattenpumpen
}
}
Eftersom vår kod är klar, låt oss bygga den krets som styr driften av vattenpump.