كيف يعمل مستشعر مستوى الماء وكيفية ربطه مع Arduino

يحتوي المستشعر على سلسلة من عشرة آثار نحاسية مكشوفة ، خمسة منها عبارة عن آثار للقدرة وخمسة آثار حسية.

تتشابك هذه الآثار بحيث يكون هناك أثر حاسة واحد بين كل تتبعين للقوة.

عادة ما تكون هذه الآثار غير متصلة ولكن يتم تجسيرها بالماء عند غمرها.

يوجد مؤشر LED للطاقة على اللوحة والذي سيضيء عند تشغيل اللوحة.

كيف يعمل مستشعر مستوى الماء؟

إن عمل مستشعر مستوى الماء واضح ومباشر.

تعمل سلسلة الموصلات المتوازية المكشوفة معًا كمقاوم متغير (تمامًا مثل مقياس الجهد) الذي تختلف مقاومته وفقًا لمستوى الماء.

يتوافق التغيير في المقاومة مع المسافة من أعلى المستشعر إلى سطح الماء.


 

المقاومة تتناسب عكسيا مع ارتفاع الماء:

     كلما زاد الماء الذي يغمر فيه المستشعر ، ينتج عنه توصيل أفضل وينتج عنه مقاومة أقل.
     كلما قل الماء الذي يغطس فيه المستشعر ، ينتج عنه توصيل ضعيف وسيؤدي إلى مقاومة أعلى.

ينتج المستشعر جهد خرج وفقًا للمقاومة ، والتي من خلال القياس يمكننا تحديد مستوى الماء.

 مستشعر مستوى الماء Pinout

مستشعر مستوى الماء سهل الاستخدام للغاية ويحتوي على 3 دبابيس فقط للتوصيل.

مستشعر مستوى المياه بالأسلاك مع اردوينو

دعنا نعلق مستشعر مستوى الماء في Arduino.

تحتاج أولاً إلى توفير الطاقة لجهاز الاستشعار. لذلك يمكنك توصيل دبوس + (VCC) على الوحدة النمطية بجهد 5 فولت على Arduino و- (GND) دبوس على الأرض.

ومع ذلك ، فإن إحدى المشكلات الشائعة الشائعة في هذه المستشعرات هي قصر عمرها عند تعرضها لبيئة رطبة. يؤدي تطبيق الطاقة على المسبار إلى تسريع معدل التآكل بشكل كبير باستمرار.

للتغلب على هذا ، نوصي بعدم تشغيل المستشعر باستمرار ، ولكن شغله فقط عندما تأخذ القراءات.

تتمثل إحدى الطرق السهلة لتحقيق ذلك في توصيل دبوس VCC بدبوس رقمي من Arduino وضبطه على HIGH أو LOW وفقًا لمتطلباتك. لذلك ، سنقوم بتوصيل دبوس VCC بالدبوس الرقمي رقم 7 في Arduino.

يوضح الرسم التوضيحي التالي الأسلاك.

مثال أساسي لاستشعار مستوى المياه

#define sensorPower 7
#define sensorPin A0

// Value for storing water level
int val = 0;

void setup() {
	// Set D7 as an OUTPUT
	pinMode(sensorPower, OUTPUT);
	
	// Set to LOW so no power flows through the sensor
	digitalWrite(sensorPower, LOW);
	
	Serial.begin(9600);
}

void loop() {
	//get the reading from the function below and print it
	int level = readSensor();
	
	Serial.print("Water level: ");
	Serial.println(level);
	
	delay(1000);
}

//This is a function used to get the reading
int readSensor() {
	digitalWrite(sensorPower, HIGH);	// Turn the sensor ON
	delay(10);							// wait 10 milliseconds
	val = analogRead(sensorPin);		// Read the analog value form sensor
	digitalWrite(sensorPower, LOW);		// Turn the sensor OFF
	return val;							// send current reading
}

 



 


 





 

إرسال تعليق

أحدث أقدم