Stap 6: Laten we doen wat code!
Gelukkig hebben we enkele bronnen online die ons te voorzien van de meeste code, we moeten ertoe brengen om samen te werken.
Dit is de code voor de Sunkee Sensor van Steve Spence's Blog
De (int bodem = 0) is de bodem-variabele die overgaat van de lezing die treedt op de sensor een %, zal dit een belangrijke variabele in dit project
int bodem = 0;
de installatieroutine loopt zodra wanneer u drukt op reset, en communicatie met de seriële poort is ingesteld:
VOID Setup {}
Initialiseer seriële communicatie met 9600 bits per seconde:
Serial.begin(9600);
}
de routine van de lus wordt uitgevoerd over en weer forever:
void loop {}
Lees de input op analoge pin 0:
int sensorValue = analogRead(A0);
sensorValue = beperken (sensorValue, 485, 1023);
de waarde die u leest uitprinten:
Serial.println(sensorValue);
de waarde toewijzen aan een percentage
bodem = kaart (sensorValue, 485, 1023, 100, 0);
print uit de bodem water percentage die u berekend:
Serial.Print(Soil);
Serial.println("%");
delay(1000); vertraging tussen leest voor de stabiliteit, de vertraging is in millieseconds, dus dit een 1 seconden vertraging is
}
Het volgende is publiek domein code die wordt gebruikt op de Arduino website. Deze code signaal wat we willen naar het LCD-scherm. In dit geval toont het "Hello World" op de eerste regel en een telling van de seconden sinds reset op de tweede.
#include
initialiseren van de bibliotheek met de nummers van de pennen van de interface
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
VOID Setup {}
de LCD's aantal kolommen en rijen instellen:
LCD.begin (16, 2);
Een bericht op het LCD-scherm afdrukt.
LCD.Print ("hello, world!");
}
void loop {}
Stel de cursor op de kolom 0, lijn 1
(Opmerking: lijn 1 is de tweede rij, aangezien tellen met 0 begint):
lcd.setCursor (0, 1);
het aantal seconden sinds reset afdrukken
LCD.Print(Millis()/1000);
}