Automatisk Garden vattning enhet - Arduino (6 / 14 steg)
Steg 6: Låt oss göra några kod!
Tack och lov har vi vissa resurser på nätet som ger oss de flesta av koden, vi måste bara få det att fungera tillsammans.
Detta är koden för Sunkee sensorn från Steve Spence blogg
Den (int jord = 0) är variabeln jord som förvandlar den behandlingen som kommer in på sensorn i en %, detta kommer att bli en viktig variabel i detta projekt
int jord = 0;
Rutinen installationsprogrammet körs en gång när du trycker på reset och sätter upp kommunikationen med den seriella porten:
void setup() {
initiera seriell kommunikation på 9600 bitar per sekund:
Serial.BEGIN(9600);
}
loop rutinen körs för evigt om och om igen:
void loop() {
Läs input på analoga stift 0:
int sensorValue = analogRead(A0);
sensorValue = begränsa (sensorValue, 485, 1023);
skriva ut värdet du läsa:
Serial.println(sensorValue);
karta värdet till procent
jord = karta (sensorValue, 485, 1023, 100, 0);
skriva ut den jord vatten procentsats som du beräknas:
Serial.Print(Soil);
Serial.println("%");
Delay(1000); fördröjningen mellan läsningar för stabilitet, förseningen är i millieseconds så detta är en 1 sekunds fördröjning
}
Följande är allmän egendom kod som används från Arduino webbplats. Denna kod skickar oavsett budskap som vi vill till LCD-skärmen. I detta fall visar det "Hello World" på första raden och antal sekunder sedan nollställning på andra.
#include
initiera bibliotek med numrerar av gränssnittet stiften
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
void setup() {
Ange den LCD antal kolumner och rader:
LCD.BEGIN (16, 2);
Skriv ut ett meddelande till LCD-skärmen.
LCD.Print ("hello, world!");
}
void loop() {
ställa markören till kolumn 0, linje 1
(Obs: linje 1 är den andra raden, sedan räknar börjar med 0):
lcd.setCursor (0, 1);
skriva ut antalet sekunder sedan återställning:
LCD.Print(Millis()/1000);
}