البرمجة :
في هذا المشروع، سيتم التحقق ما إذا كان هنالك أمطار، وعرض كمية الأمطار المتساقة. قم برفع الكود التالي إلى لوحة الأردوينو :
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);