طريقة التحكم فى السيارة من خلال الاردوينو | تحكم فى سيارتك من خلال الهاتف | دروس اردوينو arduino
سوف نتعلم فى هذا الدرس عن كيفية التحكم فى سيارتك الخاصة من خلال الاردوينو عن طريق الهاتف الخاص بك كفتح الابواب
وغلقها سنتر لوك دون الحاجة الى مفتاح السيارة.
القطع الالكترونية المطلوبة .
1-اردوينو
2-HC-05 قطعة التحكم بالبلوتوث
3-RELAY 5 فولت عدد 2 لابواب فقط
يمكنك زيادة عدد الريلاى على حسب استخدامك او اذا كنت ستضيف امر اخر.
4-مصدر كهرباء 12 فولت "بطارية السيارة"
5-مصدر كهرباء 9 فولت "لتشغيل الاردوينو"
6-اسلاك للتوصيل
ملحوظة:يمكنك تحويل كهرباء السيارة من 12 فولت الى 9 فولت عن طريق ريجليتور 9 فولت LM7809
الاردوينو .
انا سوف استخدم اردوينو ميجا يمكنك استخدام اى نوع اردوينو.
HC-05 موديول بلوتوث
الخاص بربط الهاتف بالاردوينو عن طريق البلوتوث.
RELAY 5 فولت ريلاى 5 فولت عدد 2 للتحكم بالسنتر لوك .
او يمكنك استخدام هذه المديول ستسهل عليك الامر ايضا .
مبدايا عليك فهم طريقة توصيل الريلاى لفتح وغلق السنتر لوك الخاص بالسيارة تابع هذه الصورة جيدا قبل التجربة لفهم كيف يكون
الامر.
وبعد ان فهمنا طريقة ربط الريلاى بالسنتر لوك ما عليك سوى ربطهم بالاردوينو على النحو التالى .
وبكدة نكون انتهينا من توصيل جميع القطع الالكترونية لو انت حابب انك تضيف ريلاى كمان هتوصله بالطريقة العادية فى اى بين وتعرفه وبس وكده مش فاضل غير انك تحمل الكود على الاردوينو .
*
-- Car system --
This source code of graphical user interface
has been generated automatically by RemoteXY editor.
To compile this code using RemoteXY library 2.4.3 or later version
download by link http://remotexy.com/en/library/
To connect using RemoteXY mobile app by link http://remotexy.com/en/download/
- for ANDROID 4.5.1 or later version;
- for iOS 1.4.1 or later version;
This source code is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
*/
//////////////////////////////////////////////
// RemoteXY include library //
//////////////////////////////////////////////
// RemoteXY select connection mode and include library
#define REMOTEXY_MODE__SOFTSERIAL
#include <SoftwareSerial.h>
#include <RemoteXY.h>
// RemoteXY connection settings
#define REMOTEXY_SERIAL_RX 10
#define REMOTEXY_SERIAL_TX 11
#define REMOTEXY_SERIAL_SPEED 9600
#define REMOTEXY_ACCESS_PASSWORD "123321"
// RemoteXY configurate
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
{ 255,6,0,0,0,220,0,10,13,5,
131,1,3,3,20,7,1,2,31,83,
121,115,116,101,109,32,99,97,114,0,
131,0,40,3,20,7,2,2,31,79,
112,105,116,105,111,110,0,1,0,8,
19,12,12,1,2,31,88,0,129,0,
32,23,24,6,1,17,79,112,101,110,
32,99,97,114,0,1,0,8,36,12,
12,1,2,31,88,0,129,0,31,40,
25,6,1,17,67,108,111,115,101,32,
99,97,114,0,2,0,3,54,22,11,
1,2,26,31,31,79,78,0,79,70,
70,0,129,0,33,56,21,6,1,17,
67,111,110,116,97,99,116,0,1,0,
9,70,12,12,1,2,31,88,0,129,
0,34,74,18,6,1,17,77,97,114,
99,104,0,2,0,4,13,22,11,2,
2,26,31,31,79,78,0,79,70,70,
0,129,0,39,16,17,6,2,17,83,
111,117,110,100,0,2,0,4,29,22,
11,2,2,26,31,31,79,78,0,79,
70,70,0,129,0,41,32,14,6,2,
17,83,101,114,105,97,0 };
// this structure defines all the variables and events of your control interface
struct {
// input variables
uint8_t button_1; // =1 if button pressed, else =0
uint8_t button_2; // =1 if button pressed, else =0
uint8_t switch_1; // =1 if switch ON and =0 if OFF
uint8_t button_3; // =1 if button pressed, else =0
uint8_t switch_2; // =1 if switch ON and =0 if OFF
uint8_t switch_3; // =1 if switch ON and =0 if OFF
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)
/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////
#define PIN_BUTTON_1 2
#define PIN_BUTTON_2 3
#define PIN_SWITCH_1 4
#define PIN_BUTTON_3 5
#define PIN_SWITCH_2 6
#define PIN_SWITCH_3 7
void setup()
{
RemoteXY_Init ();
pinMode (PIN_BUTTON_1, OUTPUT);
pinMode (PIN_BUTTON_2, OUTPUT);
pinMode (PIN_SWITCH_1, OUTPUT);
pinMode (PIN_BUTTON_3, OUTPUT);
pinMode (PIN_SWITCH_2, OUTPUT);
pinMode (PIN_SWITCH_3, OUTPUT);
// TODO you setup code
}
void loop()
{
RemoteXY_Handler ();
digitalWrite(PIN_BUTTON_1, (RemoteXY.button_1==0)?LOW:HIGH);
digitalWrite(PIN_BUTTON_2, (RemoteXY.button_2==0)?LOW:HIGH);
digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==0)?LOW:HIGH);
digitalWrite(PIN_BUTTON_3, (RemoteXY.button_3==0)?LOW:HIGH);
digitalWrite(PIN_SWITCH_2, (RemoteXY.switch_2==0)?LOW:HIGH);
digitalWrite(PIN_SWITCH_3, (RemoteXY.switch_3==0)?LOW:HIGH);
// TODO you loop code
// use the RemoteXY structure for data transfer
// do not call delay()
}
-- Car system --
This source code of graphical user interface
has been generated automatically by RemoteXY editor.
To compile this code using RemoteXY library 2.4.3 or later version
download by link http://remotexy.com/en/library/
To connect using RemoteXY mobile app by link http://remotexy.com/en/download/
- for ANDROID 4.5.1 or later version;
- for iOS 1.4.1 or later version;
This source code is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
*/
//////////////////////////////////////////////
// RemoteXY include library //
//////////////////////////////////////////////
// RemoteXY select connection mode and include library
#define REMOTEXY_MODE__SOFTSERIAL
#include <SoftwareSerial.h>
#include <RemoteXY.h>
// RemoteXY connection settings
#define REMOTEXY_SERIAL_RX 10
#define REMOTEXY_SERIAL_TX 11
#define REMOTEXY_SERIAL_SPEED 9600
#define REMOTEXY_ACCESS_PASSWORD "123321"
// RemoteXY configurate
#pragma pack(push, 1)
uint8_t RemoteXY_CONF[] =
{ 255,6,0,0,0,220,0,10,13,5,
131,1,3,3,20,7,1,2,31,83,
121,115,116,101,109,32,99,97,114,0,
131,0,40,3,20,7,2,2,31,79,
112,105,116,105,111,110,0,1,0,8,
19,12,12,1,2,31,88,0,129,0,
32,23,24,6,1,17,79,112,101,110,
32,99,97,114,0,1,0,8,36,12,
12,1,2,31,88,0,129,0,31,40,
25,6,1,17,67,108,111,115,101,32,
99,97,114,0,2,0,3,54,22,11,
1,2,26,31,31,79,78,0,79,70,
70,0,129,0,33,56,21,6,1,17,
67,111,110,116,97,99,116,0,1,0,
9,70,12,12,1,2,31,88,0,129,
0,34,74,18,6,1,17,77,97,114,
99,104,0,2,0,4,13,22,11,2,
2,26,31,31,79,78,0,79,70,70,
0,129,0,39,16,17,6,2,17,83,
111,117,110,100,0,2,0,4,29,22,
11,2,2,26,31,31,79,78,0,79,
70,70,0,129,0,41,32,14,6,2,
17,83,101,114,105,97,0 };
// this structure defines all the variables and events of your control interface
struct {
// input variables
uint8_t button_1; // =1 if button pressed, else =0
uint8_t button_2; // =1 if button pressed, else =0
uint8_t switch_1; // =1 if switch ON and =0 if OFF
uint8_t button_3; // =1 if button pressed, else =0
uint8_t switch_2; // =1 if switch ON and =0 if OFF
uint8_t switch_3; // =1 if switch ON and =0 if OFF
// other variable
uint8_t connect_flag; // =1 if wire connected, else =0
} RemoteXY;
#pragma pack(pop)
/////////////////////////////////////////////
// END RemoteXY include //
/////////////////////////////////////////////
#define PIN_BUTTON_1 2
#define PIN_BUTTON_2 3
#define PIN_SWITCH_1 4
#define PIN_BUTTON_3 5
#define PIN_SWITCH_2 6
#define PIN_SWITCH_3 7
void setup()
{
RemoteXY_Init ();
pinMode (PIN_BUTTON_1, OUTPUT);
pinMode (PIN_BUTTON_2, OUTPUT);
pinMode (PIN_SWITCH_1, OUTPUT);
pinMode (PIN_BUTTON_3, OUTPUT);
pinMode (PIN_SWITCH_2, OUTPUT);
pinMode (PIN_SWITCH_3, OUTPUT);
// TODO you setup code
}
void loop()
{
RemoteXY_Handler ();
digitalWrite(PIN_BUTTON_1, (RemoteXY.button_1==0)?LOW:HIGH);
digitalWrite(PIN_BUTTON_2, (RemoteXY.button_2==0)?LOW:HIGH);
digitalWrite(PIN_SWITCH_1, (RemoteXY.switch_1==0)?LOW:HIGH);
digitalWrite(PIN_BUTTON_3, (RemoteXY.button_3==0)?LOW:HIGH);
digitalWrite(PIN_SWITCH_2, (RemoteXY.switch_2==0)?LOW:HIGH);
digitalWrite(PIN_SWITCH_3, (RemoteXY.switch_3==0)?LOW:HIGH);
// TODO you loop code
// use the RemoteXY structure for data transfer
// do not call delay()
}
وما عليك الان سوى تنزيل تطبيق remotexy
وده هيكون شكل التطبيق بعد ما تفتحه وتحمل الكود على الاردوينو.
رابط التطبيق:remote xy