الدرس العاشر : التحكم بالاجهزة الكهربائية بواسطة البلوتوث

وضاح العونيمنذ 7 سنوات

الدرس العاشر التحكم بالاجهزة الكهربائية من خلال البلوتوث .

 

20161011_221741.jpg

 

نبذة عن الدرس :

سوف نقوم بعمل جهاز نستطيع من خلاله التحكم بالاجهزة الكهربائية عن طريق البلوتوث من خلال استخدمنا للمرحل .

 

ماهو المرحل ؟

Untitled-1.jpg

هو جهاز من خلاله نستطيع توصيل الاجهزة ذو مقدار فولت عالي ب أجهزة  أخرى يكون المقدار فيها منخفض   

على سبيل المثال في هذا الدرس قمنا بتوصية اللمبة مقدار الفولت فيها 220 فولت بالاردوينو التي لا يتجاوز مقدار الفولت فيها 20 فولت . 

 

يوجد للمرحل عدة أنواع وتختلف من ناحيتين الاولى يكون من ناحية مقدار الفولت التي يعمل عليه المرحل مثل 5 فولت أو 9 فولت أو 12 فولت .

أما الناحية الثانية تختلف من ناحية عدد المرحلات الموجود في نفس الدارةالكهربائية كما في الصورة السابقة .

للمرحل ثلاث مداخل لتوصيل بالجهاز الكهربائي :

Capture.PNG

 

المدخل الرئيسي : ويوصل به السلك القادم من مصدر الطاقة .

مدخل No  : ويعني إن هذا المدخل في حالة الاصلية يكون غير موصل بالمدخل الرئيسي .

مدخل Nc  : ويعني إن هذا المدخل في حالة الاصلية يكون موصل بالمدخل الرئيسي .

في منفذ NO عندما يستقبل المرحل أمر Low من الاردوينو يكون موصل بالمدخل الرئيسي (موصل للكهرباء ).

 وأمر High  يكون غير متصل بالمدخل الرئيسي (لا يتم توصيل الكهرباء ) , والعكس صحيح بالنسبة لمنفذ NC  .

 

متطلبات المشروع :

أردوينو اونو

أسلاك توصيل

مرحل (Relay 5v)

بلوتوث (Bluetooth HR 06) للاجهزة الاندرويد 

(hm-10 bluetooth) للاجهزة الايفون 

جهاز كهربائي (الذي تريد التحكم به)

برنامج لتحكم بالاردوينو من خلال البلوتوث بإجهزة الحديثة .

 

الدائرة الكهربائية:

تنبية تتضمن هذه الدائرة توصيل تيار مقياسه 220 فولت وهذ التيار خطير ويجب التعامل معه بحذر ,

لا تقم بتوصيل الجهاز الكهربائي بالمرحل وهو في حالة إنه موصول بالكهرباء .تاكد تماما إنه في حالة عزل عن الكهرباء (غير موصل بالكهرباء).

الدائرة الكهربائية.PNG

 

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



int RELAY = 7;    
char command;  
                 
void setup()
{    
  Serial.begin(9600);
  pinMode(RELAY, OUTPUT);  
  digitalWrite(RELAY,LOW);               
}

void loop()
   { 
    if(Serial.available() > 0){ 
    command = Serial.read();
    if(command=='1')
    {digitalWrite(RELAY,LOW);} 
     
    else if(command=='0')
     {digitalWrite(RELAY,HIGH);} 
}}

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

راجع الدروس السابقة لفهم الكود بشكل الجيد .

 

Untitled-4.jpg

عندما يتم إستقبال قيمة تساوي 1 تقوم الاردوينو بتوصيل الكهرباء بين سلك مصدر الطاقة والسلك الذي موصل بالاجهزة الكهربائي من المرحل. 

Untitled-3ss.jpg

 

أما عند استقبال قيمة تساوي 0 تقوم الاردوينو بقطع توصيل الكهرباء بين سلك مصدر الطاقة والسلك الذي موصل بالاجهزة الكهربائي من المرحل.

ولإرسال قيم للاردوينو نحتاج لتثبيت  بعض البرامج على الاجهزة الذكية التي تسمح لنا بإرسال قيم للاردوينو 

لاجهزة الاندرويد : أنصح بتحميل هذا البرنامج Arduino bluetooth ثم الاقتران مع البلوتوث المتصل بالاردوينو (HC-05)من خلال البرنامج ويكون الرقم السري غالبا : 0000 أو 1234 ثم قم بإرسال أمر 0  أو 1 إلى الاردوينو .

لاجهزة الايفون :  يجب عليك بتحميل هذا البرنامج HM10 Bluetooth Serial

 

حل التحدي السابق :

هذا التحدي مذكور في هذا المقال 

https://3alam.pro/articles/microcontroller/waduino-arduino-servo-motor/

يمكنك تحميل حل التحدي من هنا :

Waduino_5.ino

 

تحدي بسيط :

عدل على البرنامج المذكور في هذا الدرس وقم بوضع شرط جديد حيث إذ تم إستقبل قيمة تساوي 2 يقوم بتشغيل الجهاز لمدة 10 ثواني ثم يقوم بإيقافة.

 

وإلى هنا نصل إلى ختام درس هذا اليوم

أتمنى إني أوضحت المعلومة بشكل المطلوب

للاسئله والاستفسار اترك تعليق وسوف يتم الرد عليك

ونراكم إن شاء الله في دروس قادمة .

كلمات دليلية:
3
إعجاب
13977
مشاهدات
0
مشاركة
1
متابع
متميز
محتوى رهيب

التعليقات (4)

jaber Mohammad:

لو سمحتوا ممكم حدا ينزل شرح ولو كان بسيط للكود البرمجي الخاص بالتحكم بالاجهزه الكهربائيه بواسطه البلوتث وايضا حل التحدي الثاني

Ali Majrashi:
2 ساعات مضت, jaber Mohammad said:

لو سمحتوا ممكم حدا ينزل شرح ولو كان بسيط للكود البرمجي الخاص بالتحكم بالاجهزه الكهربائيه بواسطه البلوتث وايضا حل التحدي الثاني

حل التحدي اذا ماقدرت عليه تحصله بالدرس الي بعده ?

jaber Mohammad:
1 ساعه مضت, Ali Majrashi said:

حل التحدي اذا ماقدرت عليه تحصله بالدرس الي بعده 1f339.png

لوسمحت حل التحدي لدرس محرك السيرفر بس اذا فينك تعطيني شرح عنو 

#include <Servo.h>
Servo myservo;
int pos = 0; 
void setup() {
  myservo.attach(4);
  Serial.begin(9600);
}
void loop() {
  if(Serial.available() > 0)
  {
    pos=Serial.read();
  for (pos = 0; pos <= 180; pos += 1) {

يعني بس لو سمحت شرح بالاضافات فقط 


    myservo.write(pos);             
    delay(15);                       }
  for (pos = 180; pos >= 0; pos -= 1) {
    myservo.write(pos);             
    delay(15);                      
  }
}}

Lacrimosa:

سلام استاذ

بلازحمه عندي مشروع هم اتحكم بالاجهزه عن طريف البلوتوث باستخدام جهاز ايفون مشكلتي حاليا مداعرف استخدم التطبيف سويت كل الخطوات بس مديشتغل شي عندي صارلي شهر بالمشروع جربت كومه تطبيقات مديشتغلن 💔 ارجوا المساعده اذا ممكن 

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !