مشروع تتبع الشمس بأستخدام الاردوينو
عندما يتعلم الشخص صنع الاشياء بنفسه يصبح ينظر للأمور بزايه مختلفه , في ذات يوم كنت اشاهد التلفاز ولقطه سريعه لورده تحاول اللحاق بالشمس , حينها فكرت لماذا لا اقوم بصناعة ورده تحاول القيام بما تفعله الورده الطبيعيه .
في الايام التي تلت ذالك قمت بالفعل بجمع القطع اللازمه لبناء هذا المشروع وبدأت بتركيب القطع وربطها بالاردوينو
وكتابة كود برمجي للأردوينو حتى انهيت المشروع وقمت بتجربته حيث وصلت نهايته على شاحن لهاتفي وفعلا قام بشحنه
واليوم سأقوم بشرح المشروع لكم كي يستطيع كل شخص منكم تطبيق هذا المشروع بنفسه
الخطوه الاولى : التحضير
نحتاج في هذا المشروع ما يلي :
- ورق مقوى
- فوم ( بوليسترين )
- اسلاك توصيل (wires)
- مقاومه خطيه liner potentiometer
- حساس ضوء light sensor
- مفصل مع محركات سيرفو Pan tilt
- اردوينو من نوع corwduino
- موزع للمداخل Crow tail shield
الخطوه الثانيه : صنع الجزء الامامي
![]() |
![]() |
![]() |
في البدايه قم بقطع الكرتون الى نصفين , من ثم اعمل شق في نتصف كل واحده كما هو مبين بالصور
بعد ان قمت بعمل شق ادخل الأثنتين ببعضها البعض ليشكلان حرف X بعد ان جمعتهما معا قم بلصق العصا كما هو موضح
لتشير دائما الى اتجاه الشمس ولتعطي الجهاز ثباتا اكثر ومنظر جمالي افضل
الخطوه الثالثه : جمع حساسات الضوء
![]() |
![]() |
قم بصنع اربع ثقوب في الفود كما هو موضح بالصور في الاعلى لوضع حساسات الضوء فيها من ثم قم
![]() |
![]() |
قم بتوصيل الاسلاك مباشره الى الحساسات ولا تنسى استعمال الاصق كي لا تخرج الاسلاك من مكانها مع تكرار الحركه
الخطوه الخامسه : ركب ما قمت بصنعه على الذراع
![]() |
![]() |
قم بتوصيل ما تم صنعه على الذراع مع الانتباه على ان تكون الحساسات رقم 1+2 في الاسفل كما هو مبين بالصوره
وارجو الانتباه هنا ان الالواح الشمسيه تم وضعها كزينه فقط فهذا المشروع مهتم فقط بتتبع االشمس
حيث سأقوم بأذن الله بشرح مشاريع للأستفاده من طاقة الالواح الشمسيه في دروس قادمه
الخطوه السادسه :ارفع الكود البرمجي
الخطوه السادسه :ارفع الكود البرمجي
#include // include Servo library
Servo horizontal; // horizontal servo
int servoh = 90; // stand horizontal servo
Servo vertical; // vertical servo
int servov = 90; // stand vertical servo
// LDR pin connections
// name = analogpin;
int ldrrd =0;
int ldrld =1;
int ldrlt = 2;
int ldrrt = 3;
void setup()
{
Serial.begin(9600);
// servo connections
// name.attacht(pin);
horizontal.attach(9);
vertical.attach(10);
}
void loop()
{
int lt = analogRead(ldrlt); // top left
int rt = analogRead(ldrrt); // top right
int ld = analogRead(ldrld); // down left
int rd = analogRead(ldrrd); // down rigt
int dtime = analogRead(4)/20; // read potentiometers
int tol = analogRead(5)/4;
int avt = (lt + rt) / 2; // average value top
int avd = (ld + rd) / 2; // average value down
int avl = (lt + ld) / 2; // average value left
int avr = (rt + rd) / 2; // average value right
int dvert = avt - avd; // check the diffirence of up and down
int dhoriz = avl - avr;// check the diffirence og left and rigt
if (-1*tol > dvert || dvert > tol) // check if the diffirence is in the tolerance else change vertical angle
{
if (avt > avd)
{
servov = ++servov;
if (servov > 180)
{
servov = 180;
}
}
else if (avt < avd)
{
servov= --servov;
if (servov < 0)
{
servov = 0;
}
}
vertical.write(servov);
}
if (-1*tol > dhoriz || dhoriz > tol) // check if the diffirence is in the tolerance else change horizontal angle
{
if (avl > avr)
{
servoh = --servoh;
if (servoh < 0)
{
servoh = 0;
}
}
else if (avl < avr)
{
servoh = ++servoh;
if (servoh > 180)
{
servoh = 180;
}
}
else if (avl == avr)
{
// nothing
}
horizontal.write(servoh);
}
delay(dtime);
}
الخطوه السابعه: ربط الحساسات بالاردوينو
![]() |
![]() |
في هذه المرحله سيتم توصيل الحساسات الى الاردوينو حسب الارقام الموجوده في الصور
حيث سيتم توصيل كل حساس الى مدخل انالوج معين كما يلي :
رقم السلك (الحساس)
رقم مدخل الانالوج
1
0
2
1
3
3
4
2
الخطوه الثامنه : توصيل المقاومات المتغيره
![]() |
![]() |
قم بتوصيل المقاومات الخطيه الي مدخلي انالوج (A4 , A5) لا يوجد ترتيب معين قم بوصل كل واحده منهم على مدخل لاكن احفظ
كل منهما على اي مدخل قمت بوصلها لأن مدخل رقم 4 يتحكم بسرعة الاستحابه ومدخل رقم 5 يتحكم بسرعة التفاف الماتور
الخطوه التاسعه : قم بوصل الذراع بالاردوينو
قم بتوصيل ماتورات الذراع مع الاردوينو على النحو الذي في الصوره ولمزيد من التوضيح :
- down servo الماتور العامودي >> مع مدخل ديجيتال رقم 9