البرمجة :
في هذا المشروع، سيتم التحقق ما إذا كان هنالك أمطار، وعرض كمية الأمطار المتساقة. قم برفع الكود التالي إلى لوحة الأردوينو :
int nRainIn = A1;
int nRainDigitalIn = 2;
int nRainVal;
boolean bIsRaining = false;
String strRaining;
void setup() {
Serial.begin(9600);
pinMode(2,INPUT);
}
void loop() {
nRainVal = analogRead(nRainIn);
bIsRaining = !(digitalRead(nRainDigitalIn));
if(bIsRaining){
strRaining = "YES";
}
else{
strRaining = "NO";
}
Serial.print("Raining?: ");
Serial.print(strRaining);
Serial.print("\t Moisture Level: ");
Serial.println(nRainVal);
delay(200);
}
لمحة عن الكود :
أولا نقوم بتعريف متغيرات إعتمادا على ما تم توصيله بين المستشعر والأردوينو. وتعريف عدد من المتغيرات التي سنحتاج استخدامها لاحقا بالكود :
int nRainIn = A1; int nRainDigitalIn = 2; int nRainVal; boolean bIsRaining = false; String strRaining;
في دله ()setup، نقوم بتهيئة شاشة الإتصال التسلسلي، وتعريف المنفذ رقم 2 كمدخل :
void setup() {
Serial.begin(9600);
pinMode(2,INPUT);
}
في دلة ()loop، نقوم بقراءة القيمة التناظرية والرقمية،
nRainVal = analogRead(nRainIn); bIsRaining = !(digitalRead(nRainDigitalIn));
والتحقق ما إذا كان هناك سقوط أمطار أم لا.
if(bIsRaining){
strRaining = "YES";
}
else{
strRaining = "NO";
}
بعد ذلك، تتم طباعة النتائج على شاشة الإتصال التسلسلي.
Serial.print("Raining?: ");
Serial.print(strRaining);
Serial.print("\t Moisture Level: ");
Serial.println(nRainVal);

