السلام عليكم ورحمة الله زوار مدونة جوابك ومرحبا بكم في هذه الدورة الخاصة بمشاريع اردوينو. هذه الدورة بادن من الله سوف نتطرق فيها الى شرح لمجموعة مشاريع الاردوينو.
في هذا المقال من الدورة سوف نتطرق الى شرح مشروع تشغيل واطفاء مجموعة ثنائيات ضوئية فهذا المشروع بسيط جدا تابع معي الشرح ...
مشروع تشغيل واطفاء مجموعة ثنائيات ضوئية بشكل متكرر
فكرة المشروع تتجلى في تشغيل و اطفاء مجموعة ثنائيات ضوئية(مع ترك فاصل زمني بين كل عملية) في آن واحد.
الحل الاول هذا الحل مشابه لما قمنا به من قبل، اتحدث هنا عن مشروع تشغيل ثنائي ضوئي واحد. الاختلاف يتجلى فقط في بدل ان تعمل على كتابة برنامج تشغيل ثنائي ضوئي واحد سوف تقوم بكتابة برنامج تشغيل مجموعة ثنائيات ضوئية. هذا الحل سياخد لك الكثير من الوقت لكتابة البرنامج لدى الحل الثاني احسن.
الحل الثاني هو ان تقوم بانشاء دالة تعمل على اخراج 1 او 0 منطقي على جميع المنافذ الرقمية التي قمت بتوصيل الثنائيات الضوئية معها. هذا الحل بسيط ولن ياخذ معك الكثير من الوقت.
خطوات عمل البرنامج
نقوم اولا بتسمية الدالة الخاصة بنا (لا مشكلة في الاسم يمكنك اختيار أي اسم) لناخد مثلا الاسم Answer(byte value) هذه الدالة تأخد القيمة value على المنافذ التي الرقمية التي تم فيها توصيل الثنائيات الضوئية. نفترض انه سيتم العمل على جميع النافذ الرقمية (من 0 الى 7).
التعليمة bitRead(value,i)تعمل على قراءة البت ذي الرقم i من العدد value والنتيجة بالتاكيد اما 0 او 1
عندما تاخد iالقيمة 0يكون لدينا digitalWrite(0, bitRead(value,0))وهذا مايسمح باخراج قيمة البت ذي الرقم0 على المنفذ الرقمي 0 تتكرر العملية على جميع المنافذ.
الادوات المحتاجة
- لوحة اردوينو اونو (ليس من الضروري لوحة اونو)
- 8 ثنائيات ضوئية
يتم توصيل الثنائيات الضوئية على التوالي مع مقاومة قيمتها 220 اوم (يتجلى دور المقاومة في حماية الليد من الاحتراق) الى المنافذ الرقمية للوحة الاردوينو.
ملاحظات
الثنائي الضوئي عبارة عن عنصر الكتروني مستقطب لدي وجب مراعاة قطبية الليد قبل التوصيل.
انود الليد تم وصله مع مقاومة والكاتود تم وصله الى ارضي اللوحة GND.- مقاومة 220 اوم
اريد ان اشير هنا الى ان استعمالك للمفذ الرقمي 13 سيغنيك عن استعمال المقاومة لان هذا المنفد يكون في الاصل متصل بمقاومة.
- اسلاك الربط
- لوحة breadboard
انظر الى التركيب في الصورة
الكود البرمجي
شرح الكود البرمجي
في القسم الاعلى من البرنامج تم انشاء الدالة الخاصة باخراج 1 او 0 منطقي على جميع المنافذ.
يتم في هذا القسم كتابة التعليمات الخاصة بالمنافد المراد العمل عليها.
في البرنامج الخاص بنا تم في هذا القسم تفعيل المنافذ من 0 الى 7 كمخارج.
يتم في هذا القسم كتابة البرنامج الرئيسي المراد العمل عليه. ويتم تنفيذه بشكل متكرر.
البرنامج الرئيسي الخاص بنا هو كالتالي
في السطر الأول تم استدعاء الدالة التي قمنا بانجازها والتي الهدف منها هو اخراج 1 منطقي او 0 منطقي على جميع المنافذ. الدالة اخذت القيمة 11111111 معناه انه سيتم اخراج 1 منطقي على جميع المنافذ.
- اشتعال الليدات
السطر الثاني معناه ان الليدات ستبقى مشتعلة لمدة ثانية
في السطر الثالث تم استدعاء الدالة مرة اخرى لكن هذه المرة الدالة اخذت القيمة 00000000 معناه انه سيتم اخراج 0 منطقي على جميع المنافذ.
- انطفاء الليدات
السطر الاخير معناه ان الليدات ستبقى منطفئة لمدة ثانية.
تعليقات
إرسال تعليق