تحديد مستوى الماء باستخدام الاردوينو

مبتدئ

image_pdf

الكود البرمجي

ارفع كود نظام تحديد مستوى الماء على لوحة الاردوينو باستخدام برنامج اردوينو IDE.

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

int resval = 0; // holds the value
int respin = A5; // sensor pin used

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("WATER LEVEL: ");
}
void loop() {
// set the cursor to column 0, line 1
lcd.setCursor(0, 1);

resval = analogRead(respin); //Read data from analog pin and store it to resval variable

if (resval<=20)
{
lcd.println("Empty ");
}
else if (resval>20 && resval<=350)
{
lcd.println("Low ");
}
else if (resval>350 && resval<=400)
{ lcd.println("Medium ");
}
else if (resval>400){
lcd.println("High ");
}
delay(1000);
}

شرح الكود البرمجي

هذا السطر يستدعي مكتبة الشاشة الكرستالية.

نستطيع تحميلها بتتبع المسار التالي:

Sketch > Include libraries > Manage libraries

ثم نكتب بخانة البحث Liquid crystal by Arduino

ثم نضغط على Install.

#include <LiquidCrystal.h>

بعد ذلك عرفنا المتغيرات اللازمة مثل المتغيرات الخاصة بمنافذ الشاشة الكرستالية التي تم توصيلها مع الاردوينو .

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

عرفنا المتغير resval عند قيمة ابتدائية تساوي صفر وعرفنا المتغير respin يمثل قيمة قراءة المدخل التناظري A5.

int resval = 0; // holds the value
int respin = A5; // sensor pin used

في دالة ()setup، التي ستبدأ عند بدء التشغيل، تتم تهيئة الشاشة وتشغيل الإضاءة الخلفية وطباعة النص “WATER LEVEL: “.

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("WATER LEVEL: ");
}

في الدالة ()loop، سيتم حساب كمية الماء المحيطة بحساس مستوى الماء.

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

إذا كانت بين 20 و350 سينطبع على الشاشة مستوى الماء منخفض.

إذا كانت أكبر من 350 وأقل من 400 سينطبع على الشاشة مستوى الماء متوسط.

إذا كانت أكبر من 400 سينطبع على الشاشة مستوى الماء مرتفع.

void loop() {
// set the cursor to column 0, line 1
lcd.setCursor(0, 1);

resval = analogRead(respin); //Read data from analog pin and store it to resval variable

if (resval<=20)
{
lcd.println("Empty ");
}
else if (resval>20 && resval<=350)
{
lcd.println("Low ");
}
else if (resval>350 && resval<=400)
{ lcd.println("Medium ");
}
else if (resval>400){
lcd.println("High ");
}
delay(1000);
}

يمكنك اختبار نظام تحديد مستوى الماء.

لا تنسَ فصل وحدة الطاقة بعد الانتهاء من استخدام النظام.

X
تم إضافة المنتج إلى السلة بنجاح