البرمجة
#include "LiquidCrystal.h" const int voltageSensor = A0; float vOUT = 0.0; float vIN = 0.0; float R1 = 30000.0; float R2 = 7500.0; int value = 0; LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // RS, E, D4, D5, D6, D7 void setup() { //Serial.begin(9600); lcd.begin(16,2); lcd.print(" Measure > 25V "); delay(2000); } void loop() { value = analogRead(voltageSensor); vOUT = (value * 5.0) / 1024.0; vIN = vOUT / (R2/(R1+R2)); //Serial.print("Input = "); //Serial.println(vIN); lcd.setCursor(0,0); lcd.print("Input = "); lcd.setCursor(9,0); lcd.print(vIN); delay(500); }
شرح الكود البرمجي
بالبداية يتطلب استدعاء مكتبة الشاشة الكرستالية
#include "LiquidCrystal.h"
نعرف منفذ لقراءة مستشعر جهد التيار المستمر
const int voltageSensor = A0;
نعرف قيمة ابتدائية للمتغيرات
float vOUT = 0.0; float vIN = 0.0;
نعرف قيمة المقاومات الموجودة بالحساس
float R1 = 30000.0; float R2 = 7500.0; int value = 0;
نعرف منافذ الشاشة الكرستالية
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // RS, E, D4, D5, D6, D7
في دالة void setup() نكتب أوامر تهيئة الشاشة
void setup() { lcd.begin(16,2); lcd.print(" Measure > 25V "); delay(2000); }
في دالة void loop() نأخذ القراءات من المستشعر و نكتب المعادلات لحساب قيمة الجهد
ليتم طباعتها على الشاشة الكرستالية
void loop() { value = analogRead(voltageSensor); vOUT = (value * 5.0) / 1024.0; vIN = vOUT / (R2/(R1+R2)); //Serial.print("Input = "); //Serial.println(vIN); lcd.setCursor(0,0); lcd.print("Input = "); lcd.setCursor(9,0); lcd.print(vIN); delay(500); }