كيفية إعداد 5V Relay على Arduino

 من أكثر الأشياء المفيدة التي يمكنك القيام بها باستخدام Arduino التحكم في أجهزة الجهد العالي (120-240 فولت) مثل المراوح ، والأضواء ، والسخانات ، والأجهزة المنزلية الأخرى. نظرًا لأن Arduino يعمل بجهد 5 فولت ، فإنه لا يمكنه التحكم في هذه الأجهزة ذات الجهد العالي مباشرةً ، ولكن يمكنك استخدام   relay  5v  لتبديل تيار 120-240 فولت واستخدام Arduino للتحكم في relay.


يمكن برمجة Arduino لتشغيل المرحل عند حدوث حدث معين ، على سبيل المثال عندما ترتفع درجة حرارة الثرمستور عن 30 درجة مئوية. أو عندما تنخفض مقاومة المقاوم الضوئي إلى أقل من 400 أوم. يمكن استخدام أي مستشعر تقريبًا لتشغيل المرحل أو إيقاف تشغيله. لا يلزم حتى أن يكون الزناد من جهاز استشعار. يمكن أن يحدث في فترات زمنية محددة ، ويمكن تشغيله من الضغط على زر ، أو حتى عندما تتلقى رسالة بريد إلكتروني.

كيف يعمل Relay 5V

يحتوي مرحل SRD-05VDC-SL-C على ثلاثة أطراف عالية الجهد (NC و C و NO) تتصل بالجهاز الذي تريد التحكم فيه. يحتوي الجانب الآخر على ثلاثة دبابيس منخفضة الجهد (أرضي ، Vcc ، وإشارة) تتصل بـ Arduino. 


دائرة Relay يتم التحكم في درجة حرارتها

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


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

يتم إعداد جزء الثرمستور من الدائرة كمقسم جهد. يجب أن تكون قيمة المقاوم بنفس حجم الثرمستور. على سبيل المثال ، أنا أستخدم ثرمستور 10K ، لذا يجب أن يكون المقاوم 10K Ω أيضًا. إذا كنت تستخدم الثرمستور 100K ، فاستخدم المقاوم 100K.

كود المشروع:

#include <math.h>

int pinOut = 10;

double Thermistor(int RawADC) {
double Temp;
Temp = log(10000.0*((1024.0/RawADC-1)));
Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
Temp = Temp - 273.15;
Temp = (Temp * 9.0)/ 5.0 + 32.0;
return Temp;
}

void setup() {
Serial.begin(9600);
pinMode(10, OUTPUT);
}

void loop() {
int val;
double temp;
val=analogRead(0);
temp=Thermistor(val);
Serial.print("Temperature = ");
Serial.print(temp);
Serial.println(" F");
if (temp >= 150){
digitalWrite(pinOut, LOW);
}
else {
digitalWrite(pinOut, HIGH);
}
delay(500);
}

 
 

إرسال تعليق

أحدث أقدم