مواجهة حساس جهد التيار المتردد ZMPT101B AC Voltage Sensor مع اردوينو اكتب تعليقُا

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

شرح فكرة المشروع

  • في هذا المشروع، سنقوم بمواجهة حساس الجهد المتردد ZMPT101B AC Voltage Sensor مع اردوينو.
  • يتيح هذا الحساس قياس الجهود المترددة التي قد تصل قيمتها إلى 250 فولت.
  • يكون الجهد المخرج للحساس موافقا لتغير الجهد المُدخَل.
  • عند عدم وجود أي حمل متصل بالمدخل، يكون للحساس جهد أولي يساوي VCC/2.
  • وبمعنى آخر، إذا لم يتم توصيل أي شيء بالمدخل وكان جهد التغذية للحساس هو 5 فولت، فسيكون إخراج الحساس 2.5 فولت.
  • يجب التأكد من أن منحنى الموجة الجيبية يظهر بشكل مكتمل على شاشة (Serial Plotter)، وبشكلٍ خاص ظهور القيم الحدية الدنيا والقصوى في الرسم البياني.
  • إذا لم يكن المنحنى مكتملًا، فيجب تدوير المقاومة المتغيرة (Potentiometer) الموجودة في الحساس حتى يتم عرض منحنى الموجة كليا.
  • هذا الحساس يقيس جهد الذروة إلى ذروة (Peak-to-Peak voltage).
  • في هذا الكود، يتم أولاً العثور على القيمة القصوى المقاسة (جهد الذروة) ثم يتم تحويلها إلى القيمة الفعالة RMS.
  • كن حذرًا فيما يتعلق بنصائح السلامة، وخصوصا عند توصيل الجهد المُدخَل (مثل 220 فولت)

ادوات المشروع

مخطط المشروع

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

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.
  • للتعرف على تجهيز لوحة أردوينو للبرمجة قم بزيارة الرابط التالي.
  • قبل تحميل الكود البرمجي، عليك تحميل المكتبات التالية:
  • Wire.h
  • ZMPT101B.h من هنا
  • في حال لم يعمل هذا الكود البرمجي، قم بتحميل ملف الكود بالضغط على زر التحميل الموجود في الأسفل.

/**
* This program shows you how to use the basics of this library.
*/

#include <ZMPT101B.h>

#define SENSITIVITY 500.0f

// ZMPT101B sensor output connected to analog pin A0
// and the voltage source frequency is 50 Hz.
ZMPT101B voltageSensor(A0, 50.0);

void setup() {
Serial.begin(115200);
// Change the sensitivity value based on value you got from the calibrate
// example.
voltageSensor.setSensitivity(SENSITIVITY);
}

void loop() {
// read the voltage and then print via Serial.
float voltage = voltageSensor.getRmsVoltage();
Serial.println(voltage);

delay(1000);
}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *