مؤشر مستوى الماء اللاسلكي بالموجات فوق الصوتية - يعمل بالطاقة الشمسية

جرب أداة القضاء على المشاكل





جهاز التحكم في مستوى الماء بالموجات فوق الصوتية هو جهاز يمكنه اكتشاف مستويات المياه في الخزان دون اتصال مادي وإرسال البيانات إلى مؤشر LED بعيد في وضع GSM لاسلكي.

في هذا المنشور ، سنقوم بإنشاء مؤشر مستوى المياه اللاسلكي الذي يعمل بالطاقة الشمسية باستخدام الموجات فوق الصوتية باستخدام Arduino حيث يقوم Arduinos بالإرسال والاستقبال بتردد لاسلكي 2.4 جيجا هرتز. سنقوم باكتشاف مستوى الماء في الخزان باستخدام الموجات فوق الصوتية بدلاً من طريقة الإلكترود التقليدية.



ملخص

يعد مؤشر مستوى المياه أداة ضرورية ، إذا كنت تمتلك منزلًا أو حتى تعيش في منزل مستأجر. أ مؤشر مستوى الماء تُظهر إحدى البيانات المهمة لمنزلك والتي لا تقل أهمية عن قراءة عداد الطاقة لديك ، أي ما هي كمية المياه المتبقية؟ حتى نتمكن من تتبع استهلاك المياه ولسنا بحاجة إلى الصعود إلى الطابق العلوي للوصول إلى خزان المياه للتحقق من كمية المياه المتبقية وعدم التوقف المفاجئ للمياه من الصنبور.

نحن نعيش في عام 2018 (وقت كتابة هذا المقال) أو في وقت لاحق ، يمكننا التواصل مع أي مكان في العالم على الفور ، أطلقنا سيارة سباق كهربائية إلى الفضاء ، وأطلقنا الأقمار الصناعية والمركبات الجوالة إلى المريخ ، حتى أننا قادرون على هبوط الإنسان كائنات على سطح القمر ، لا يوجد حتى الآن منتج تجاري مناسب للكشف عن كمية المياه المتبقية في خزانات المياه لدينا؟



يمكننا العثور على مؤشرات مستوى المياه بواسطة طلاب الصف الخامس في science fair في المدرسة. كيف لم تدخل مثل هذه المشاريع البسيطة في حياتنا اليومية؟ الجواب هو أن مؤشرات مستوى خزان المياه ليست مشاريع بسيطة يمكن لطالب الصف الخامس أن يصنعها لمنزلنا. هناك العديد اعتبارات عملية قبل أن نصمم واحدة.

• لا أحد يريد حفر حفرة في جسم خزان المياه بحثًا عن أقطاب كهربائية قد تتسرب منها المياه لاحقًا.
• لا أحد يريد تشغيل سلك 230/120 فولت تيار متردد بالقرب من خزان المياه.
• لا أحد يريد استبدال البطاريات كل شهر.
• لا أحد يرغب في تشغيل أسلاك طويلة إضافية معلقة على غرفة لبيان مستوى المياه حيث أنه ليس مخططًا مسبقًا أثناء بناء المنزل.
• لا أحد يريد استخدام الماء الممزوج بالتآكل المعدني للإلكترود.
• لا أحد يريد إزالة إعداد مؤشر مستوى الماء أثناء تنظيف الخزان (من الداخل).

قد تبدو بعض الأسباب المذكورة أعلاه سخيفة ، لكنك ستجد أقل إرضاءً مع المنتجات المتاحة تجاريًا مع هذه العيوب. هذا هو السبب في أن تغلغل هذه المنتجات أقل بكثير بين الأسر المتوسطة *.
* في السوق الهندي.

بعد النظر في هذه النقاط الرئيسية ، قمنا بتصميم مؤشر عملي لمستوى المياه والذي يجب أن يزيل العيوب المذكورة.

تصميمنا:

• يستخدم جهاز استشعار فوق صوتي لقياس مستوى الماء حتى لا توجد مشكلة تآكل.
• إشارة لاسلكية لمستوى المياه في الوقت الحقيقي عند 2.4 جيجا هرتز.
• قوة إشارة لاسلكية جيدة تكفي لمباني شاهقة من طابقين.
• الطاقة الشمسية لا مزيد من التيار المتردد أو استبدال البطارية.
• إنذار امتلاء الخزان / فيضان الخزان أثناء ملء الخزان.

دعونا نتحرى عن تفاصيل الدائرة:

المرسل:

ال دارة الارسال اللاسلكية الذي يتم وضعه على الخزان سيرسل بيانات مستوى الماء كل 5 ثوانٍ على مدار الساعة طوال أيام الأسبوع. يتكون جهاز الإرسال من Arduino nano ومستشعر الموجات فوق الصوتية HC-SR04 ووحدة nRF24L01 التي ستوصل جهاز الإرسال والاستقبال لاسلكيًا بسرعة 2.4 جيجا هرتز.

ستعمل لوحة شمسية من 9 فولت إلى 12 فولت مع خرج تيار 300 مللي أمبير على تشغيل دائرة الإرسال. ستقوم لوحة دائرة إدارة البطارية بشحن بطارية Li-ion ، حتى نتمكن من مراقبة مستوى الماء حتى في حالة عدم وجود ضوء الشمس.

دعونا نستكشف كيفية وضع جهاز الاستشعار بالموجات فوق الصوتية في خزان المياه:

يرجى ملاحظة أنه يجب عليك استخدام إبداعك لتلويح الدائرة والحماية من المطر وأشعة الشمس المباشرة.

اقطع ثقبًا صغيرًا فوق غطاء الخزان لوضع المستشعر فوق الصوتي وختمه ببعض المواد اللاصقة التي يمكنك العثور عليها.

وضع جهاز استشعار بالموجات فوق الصوتية في خزان المياه

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

رسم تخطيطي لجهاز الإرسال:

وصلات الارسال بالموجات فوق الصوتية للتحكم في مستوى الماء

ملاحظة: يستخدم nRF24L01 3.3 فولت لأن Vcc لا يتصل بإخراج 5 فولت من Arduino.

مزود الطاقة لجهاز الإرسال:

تصميم امدادات الطاقة وحدة تحكم مستوى المياه بالموجات فوق الصوتية

تأكد من أن طاقة خرج اللوح الشمسي ، أي الإخراج (فولت × تيار) أكبر من 3 واط. ال لوحة شمسية يجب أن يكون من 9 فولت إلى 12 فولت.

يوصى باستخدام لوحة 12 فولت و 300 مللي أمبير والتي يمكنك العثور عليها بسهولة في السوق. يجب أن تكون البطارية حوالي 3.7 فولت 1000 مللي أمبير.

وحدة شحن ليثيوم أيون 5 فولت 18650:

الصورة التالية تظهر معيار 18650 شاحن الدائرة

يمكن أن يكون الإدخال USB (غير مستخدم) أو 5 فولت خارجي من LM7805 IC. تأكد من حصولك على الوحدة الصحيحة كما هو موضح أعلاه ، يجب أن تحتوي عليها TP4056 الحماية ، التي تحتوي على قطع بطارية منخفضة وحماية ماس كهربائى.

يجب تغذية ناتج هذا إلى مدخلات XL6009 والتي ستعزز الجهد العالي ، باستخدام إخراج مفك لولبي صغير من XL6009 يجب تعديله إلى 9 فولت لاردوينو.

رسم توضيحي لمحول تعزيز XL6009 DC إلى DC:

هذا يخلص جهاز الإرسال.

كود المرسل:

// ----------- Program Developed by R.GIRISH / Homemade-circuits .com ----------- //
#include
#include
RF24 radio(9, 10)
const byte address[6] = '00001'
const int trigger = 3
const int echo = 2
const char text_0[] = 'STOP'
const char text_1[] = 'FULL'
const char text_2[] = '3/4'
const char text_3[] = 'HALF'
const char text_4[] = 'LOW'
float full = 0
float three_fourth = 0
float half = 0
float quarter = 0
long Time
float distanceCM = 0
float distanceM = 0
float resultCM = 0
float resultM = 0
float actual_distance = 0
float compensation_distance = 0
// ------- CHANGE THIS -------//
float water_hold_capacity = 1.0 // Enter in Meters.
float full_height = 1.3 // Enter in Meters.
// ---------- -------------- //
void setup()
{
Serial.begin(9600)
pinMode(trigger, OUTPUT)
pinMode(echo, INPUT)
digitalWrite(trigger, LOW)
radio.begin()
radio.openWritingPipe(address)
radio.setChannel(100)
radio.setDataRate(RF24_250KBPS)
radio.setPALevel(RF24_PA_MAX)
radio.stopListening()
full = water_hold_capacity
three_fourth = water_hold_capacity * 0.75
half = water_hold_capacity * 0.50
quarter = water_hold_capacity * 0.25
}
void loop()
{
delay(5000)
digitalWrite(trigger, HIGH)
delayMicroseconds(10)
digitalWrite(trigger, LOW)
Time = pulseIn(echo, HIGH)
distanceCM = Time * 0.034
resultCM = distanceCM / 2
resultM = resultCM / 100
Serial.print('Normal Distance: ')
Serial.print(resultM)
Serial.println(' M')
compensation_distance = full_height - water_hold_capacity
actual_distance = resultM - compensation_distance
actual_distance = water_hold_capacity - actual_distance
if (actual_distance <0)
{
Serial.print('Water Level:')
Serial.println(' 0.00 M (UP)')
}
else
{
Serial.print('Water Level: ')
Serial.print(actual_distance)
Serial.println(' M (UP)')
}
Serial.println('============================')
if (actual_distance >= full)
{
radio.write(&text_0, sizeof(text_0))
}
if (actual_distance > three_fourth && actual_distance <= full)
{
radio.write(&text_1, sizeof(text_1))
}
if (actual_distance > half && actual_distance <= three_fourth)
{
radio.write(&text_2, sizeof(text_2))
}
if (actual_distance > quarter && actual_distance <= half)
{
radio.write(&text_3, sizeof(text_3))
}
if (actual_distance <= quarter)
{
radio.write(&text_4, sizeof(text_4))
}
}
// ----------- Program Developed by R.GIRISH / Homemade-circuits .com ----------- //

قم بتغيير القيم التالية في الكود الذي قمت بقياسه:

// ------- CHANGE THIS -------//
float water_hold_capacity = 1.0 // Enter in Meters.
float full_height = 1.3 // Enter in Meters.
// ---------- -------------- //

هذا يختتم المرسل.

المستقبل:

جهاز تحكم استقبال مستوى المياه بالموجات فوق الصوتية التخطيطي

يمكن لجهاز الاستقبال إظهار 5 مستويات. إنذار ، عندما يصل الخزان إلى أقصى سعة مطلقة للاحتفاظ بالماء أثناء ملء الخزان. 100 إلى 75٪ - ستتوهج جميع المصابيح الأربعة ، وستتوهج 75 إلى 50٪ من المصابيح الثلاثة ، وسيتوهج 50 إلى 25٪ من مصابيح LED ، وسيتوهج 25٪ وأقل من ذلك.
يمكن تشغيل جهاز الاستقبال من بطارية 9V أو من شاحن الهاتف الذكي إلى USB كابل mini-B.

رمز المتلقي:

// ----------- Program Developed by R.GIRISH / Homemade-circuits .com ----------- //
#include
#include
RF24 radio(9, 10)
int i = 0
const byte address[6] = '00001'
const int buzzer = 6
const int LED_full = 5
const int LED_three_fourth = 4
const int LED_half = 3
const int LED_quarter = 2
char text[32] = ''
void setup()
{
pinMode(buzzer, OUTPUT)
pinMode(LED_full, OUTPUT)
pinMode(LED_three_fourth, OUTPUT)
pinMode(LED_half, OUTPUT)
pinMode(LED_quarter, OUTPUT)
digitalWrite(buzzer, HIGH)
delay(300)
digitalWrite(buzzer, LOW)
digitalWrite(LED_full, HIGH)
delay(300)
digitalWrite(LED_three_fourth, HIGH)
delay(300)
digitalWrite(LED_half, HIGH)
delay(300)
digitalWrite(LED_quarter, HIGH)
delay(300)
digitalWrite(LED_full, LOW)
delay(300)
digitalWrite(LED_three_fourth, LOW)
delay(300)
digitalWrite(LED_half, LOW)
delay(300)
digitalWrite(LED_quarter, LOW)
Serial.begin(9600)
radio.begin()
radio.openReadingPipe(0, address)
radio.setChannel(100)
radio.setDataRate(RF24_250KBPS)
radio.setPALevel(RF24_PA_MAX)
radio.startListening()
}
void loop()
{
if (radio.available())
{
radio.read(&text, sizeof(text))
Serial.println(text)
if (text[0] == 'S' && text[1] == 'T' && text[2] == 'O' && text[3] == 'P')
{
digitalWrite(LED_full, HIGH)
digitalWrite(LED_three_fourth, HIGH)
digitalWrite(LED_half, HIGH)
digitalWrite(LED_quarter, HIGH)
for (i = 0 i <50 i++)
{
digitalWrite(buzzer, HIGH)
delay(50)
digitalWrite(buzzer, LOW)
delay(50)
}
}
if (text[0] == 'F' && text[1] == 'U' && text[2] == 'L' && text[3] == 'L')
{
digitalWrite(LED_full, HIGH)
digitalWrite(LED_three_fourth, HIGH)
digitalWrite(LED_half, HIGH)
digitalWrite(LED_quarter, HIGH)
}
if (text[0] == '3' && text[1] == '/' && text[2] == '4')
{
digitalWrite(LED_full, LOW)
digitalWrite(LED_three_fourth, HIGH)
digitalWrite(LED_half, HIGH)
digitalWrite(LED_quarter, HIGH)
}
if (text[0] == 'H' && text [1] == 'A' && text[2] == 'L' && text[3] == 'F')
{
digitalWrite(LED_full, LOW)
digitalWrite(LED_three_fourth, LOW)
digitalWrite(LED_half, HIGH)
digitalWrite(LED_quarter, HIGH)
}
if (text[0] == 'L' && text[1] == 'O' && text[2] == 'W')
{
digitalWrite(LED_full, LOW)
digitalWrite(LED_three_fourth, LOW)
digitalWrite(LED_half, LOW)
digitalWrite(LED_quarter, HIGH)
}
}
}
// ----------- Program Developed by R.GIRISH / Homemade-circuits .com ----------- //

هذا يخلص المتلقي.

ملاحظة: إذا لم تكن هناك أضواء LED متوهجة ، فهذا يعني أن جهاز الاستقبال لا يمكنه الحصول على إشارة من جهاز الإرسال. يجب أن تنتظر 5 ثوان لتلقي الإشارة من جهاز الإرسال بعد تشغيل دائرة الاستقبال.

نماذج المؤلف:

المرسل:

نموذج الارسال بالموجات فوق الصوتية

المتلقي:

نموذج استقبال الموجات فوق الصوتية

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




السابق: كيفية جعل دوائر تحويل دفعة بسيطة التالي: كيفية تصميم محول Flyback - برنامج تعليمي شامل