كيفية جعل وحدة تحكم إشارات المرور اردوينو؟

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



إشارات المرور

في هذا المشروع ، سنقوم بإنشاء نظام إشارة مرور رباعي الاتجاهات باستخدام متحكم دقيق. سوف نحرق ملف كود C على لوحة Arduino Uno لإخبارها بكيفية تشغيل وإيقاف تشغيل مصابيح LED بحيث يمكن تحقيق التوقيت المثالي للتبديل في عملية الإشارة. سيتم استخدام 4 مجموعات من 4 مصابيح LED ووضعها على لوح التجارب لغرض الاختبار.



كيفية عمل إشارة مرور رباعية الاتجاهات باستخدام Seeeduino v4.2؟

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



الخطوة 1: تجميع المكونات

أفضل نهج لبدء أي مشروع هو إعداد قائمة بالمكونات الكاملة في البداية والقيام بدراسة موجزة لكل مكون. هذا يساعدنا في تجنب المضايقات في منتصف المشروع. ترد أدناه قائمة كاملة بجميع المكونات المستخدمة في هذا المشروع.



  • Seeeduino V4.2
  • أسلاك العبور
  • LED (4x أخضر ، 4x أصفر ، 4xRed)
  • 12V AC إلى DC محول

الخطوة الثانية: دراسة المكونات

الآن بما أننا نعرف ملخص مشروعنا ولدينا أيضًا قائمة كاملة بجميع المكونات ، فلنتقدم خطوة للأمام ونستعرض دراسة موجزة للمكونات التي سنستخدمها.

Seeeduino v4.2 هي واحدة من أفضل اللوحات المتوافقة مع Arduino في العالم والتي تعتمد على متحكم Atmega 328 MCU. لأنه سهل الاستخدام وأكثر ثباتًا ويبدو أفضل من العديد من اللوحات الأخرى. يعتمد على محمل الإقلاع Arduino. يحتوي على ATMEGA16U2 كمحول UART إلى USB لأنه يمكن استخدامه كشريحة FTDI. يتم توصيله بالكمبيوتر باستخدام كبل USB صغير يسمى بشكل عام كبل android. يمكن أيضًا استخدام مقبس التيار المستمر لتشغيل اللوحة. يجب أن تكون طاقة الإدخال من 7 فولت إلى 15 فولت.

Seeeduino



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

اللوح

الخطوة 3: مبدأ العمل

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

كل هذا سيتم مع تأخير زمني بين انتقال الإشارات. على سبيل المثال ، سيظل مؤشر LED أخضر لمدة خمس عشرة ثانية تقريبًا ، وسيظل مؤشر LED أصفر لمدة ثانيتين تقريبًا. تعتمد مدة مؤشر LED الأحمر على مدة مؤشر LED الأخضر. هذا يعني أنه إذا كان مؤشر LED أخضر لمدة خمس عشرة ثانية ، فستظل جميع المصابيح الحمراء الأخرى مضاءة لمدة خمسة عشر ثانية.

الخطوة 4: عمل الدائرة

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

  1. بادئ ذي بدء ، خذ جميع مصابيح LED وقم بتوصيلها في اللوح بالترتيب الصحيح مثل الأحمر والأصفر والأخضر.
  2. قم بعمل اتصال مشترك بين أسس كل المصابيح. من الأفضل توصيل المقاوم 220 أوم بالطرف الموجب لمصباح LED.
  3. الآن قم بتوصيل الأسلاك المتصلة وفقًا لذلك.
  4. الآن قم بتوصيل مصابيح LED بـ Arduino كما هو موضح في مخطط الدائرة أدناه. سيتم توصيل LED-1 و LED-2 حتى LED-12 بـ pin1 و pin2 حتى pin12 من لوحة Arduino Uno.
  5. قم بتحميل الكود في Arduino Uno وقم بتشغيله باستخدام كمبيوتر محمول أو محول AC إلى DC.
  6. ستبدو الدائرة بالصورة الموضحة أدناه:

    مخطط الرسم البياني

الخطوة 5: بدء استخدام Arduino

إذا لم تكن معتادًا على Arduino IDE من قبل ، فلا تقلق لأنه أدناه ، يمكنك رؤية خطوات واضحة لنسخ الكود على لوحة وحدة التحكم الدقيقة باستخدام Arduino IDE. يمكنك تنزيل أحدث إصدار من Arduino IDE من هنا واتبع الخطوات المذكورة أدناه:

1). عندما تكون لوحة Arduino متصلة بجهاز الكمبيوتر الخاص بك ، افتح 'لوحة التحكم' وانقر على 'الأجهزة والصوت'. ثم انقر فوق 'الأجهزة والطابعات'. ابحث عن اسم المنفذ الذي تتصل به لوحة Arduino. في حالتي هو “COM14” ولكنه قد يكون مختلفًا على جهاز الكمبيوتر الخاص بك.

البحث عن ميناء

2). الآن افتح Arduino IDE. من الأدوات ، اضبط لوحة Arduino على اردوينو / جينوينو أونو.

لوحة الإعداد

3). من نفس قائمة الأداة ، اضبط رقم المنفذ الذي رأيته في لوحة التحكم.

منفذ الإعداد

4). قم بتنزيل الكود المرفق أدناه وانسخه إلى IDE الخاص بك. لتحميل الكود ، اضغط على زر التحميل.

رفع

يمكنك تنزيل الكود عن طريق النقر هنا.

الخطوة 6: الكود

تم التعليق جيدًا على الكود وموضح بذاته ولكن مع ذلك ، يتم شرح جزء من الكود بإيجاز أدناه.

1. في البداية ، يتم تسمية جميع المسامير ، والتي سيتم توصيلها بـ Arduino لاحقًا.

int led1 = 1 ؛ // الضوء الأحمر 1 int led2 = 2 ؛ // الضوء الأصفر 1 int led3 = 3 ؛ // الضوء الأخضر 1 int led4 = 4 ؛ // الضوء الأحمر 2 int led5 = 5 ؛ // الضوء الأصفر 2 int led6 = 6 ؛ // الضوء الأخضر 2 int led7 = 7 ؛ // الضوء الأحمر 3 int led8 = 8 ؛ // الضوء الأصفر 3 int led9 = 9 ؛ // الضوء الأخضر 3 int led10 = 10 ؛ // الضوء الأحمر 4 int led11 = 11 ؛ // الضوء الأصفر 4 int led12 = 12 ؛ // الضوء الأخضر 4

2. الإعداد باطل() هي وظيفة نعلن فيها عن استخدام جميع دبابيس لوحة Arduino كمدخلات أو إخراج. يتم تعيين معدل الباود أيضًا في هذه الوظيفة. معدل الباود هو سرعة الاتصال بالبت في الثانية التي تتواصل بها لوحة وحدة التحكم الدقيقة مع الأجهزة الخارجية. تعمل هذه الوظيفة مرة واحدة فقط عند الضغط على زر التمكين الخاص بلوحة وحدة التحكم الدقيقة.

إعداد باطل () {Serial.begin (9600؛) // معدل الباود مضبوط على 9600 pinMode (led1، OUTPUT) ؛ // يتم تعيين جميع المسامير المتصلة بمصابيح LED على أنها OUTPUT pinMode (led2 ، OUTPUT) ؛ pinMode (led3 ، الإخراج) ؛ pinMode (led4 ، الإخراج) ؛ pinMode (led5 ، الإخراج) ؛ pinMode (led6 ، الإخراج) ؛ pinMode (led7 ، الإخراج) ؛ pinMode (led8 ، الإخراج) ؛ pinMode (led9 ، الإخراج) ؛ pinMode (led10 ، الإخراج) ؛ pinMode (led11 ، الإخراج) ؛ pinMode (led12 ، الإخراج) ؛ }

3. الحلقة الفارغة هي وظيفة تعمل بشكل متكرر في حلقة. في هذه الوظيفة ، سنقوم بتشفير الإجراء بأكمله الذي سيتحكم فيه المتحكم الدقيق في مصابيح LED الخارجية. ويرد أدناه جزء صغير من التعليمات البرمجية. هنا الضوء الأخضر للجانب الأول مضاء وكل الجوانب الأخرى مضاءة. ستبقى هذه الأضواء في هذه الحالة لمدة 15 ثانية. بعد 15 ثانية ، سيضيء الضوء الأصفر للجانبين الأول والثاني وسيظل الضوء الأحمر مضاءًا على الجانبين الآخرين. بعد تأخير لمدة ثانيتين ، سيضيء الضوء الأحمر للجانب الأول ويضيء الجانب الثاني الضوء الأخضر. سيحدث هذا حتى يتم تشغيل الأضواء الخضراء للأطراف الأربعة ، وعند دورها ، ثم تكرر الحلقة نفسها.

digitalWrite (led1 ، منخفض) ؛ // الضوء الأحمر للجانب الأول متوقف عن الكتابة الرقمية (led2 ، منخفض) ؛ // الضوء الأصفر f الجانب الأول متوقف عن الكتابة الرقمية (led3 ، عالية) ؛ // الضوء الأخضر للجانب الأول على digitalWrite (led4 ، عالي) ؛ // الضوء الأحمر من جانب seconf على digitalWrite (led5 ، LOW) ؛ // الضوء الأصفر للجانب الثاني متوقف عن الكتابة الرقمية (led6 ، منخفض) ؛ // الضوء الأخضر للجانب الثاني متوقف عن الكتابة الرقمية (led7 ، عالية) ؛ // الضوء الأحمر للجانب الثالث على digitalWrite (led8 ، منخفض) ؛ // الضوء الأصفر للجانب الثالث متوقف عن الكتابة الرقمية (led9 ، منخفض) ؛ // الضوء الأخضر للجانب الثالث متوقف عن الكتابة الرقمية (led10 ، عالية) ؛ // الضوء الأحمر للجانب الرابع على digitalWrite (led11 ، منخفض) ؛ // الضوء الأصفر للجانب الرابع متوقف عن الكتابة الرقمية (led12 ، منخفض) ؛ // الضوء الأخضر للجانب الرابع متوقف عن التأخير (15000) ؛ // بسبب التأخير لمدة 15 ثانية ، سيظل الضوء الأخضر للجانب الأول والأضواء الحمراء للجوانب الثلاثة الأخرى قيد التشغيل لمدة 15 ثانية كتابة رقمية (led1 ، LOW) ؛ // الضوء الأحمر للجانب الأول متوقف عن الكتابة الرقمية (led2 ، عالية) ؛ // الضوء الأصفر للجانب الأول على digitalWrite (led3 ، منخفض) ؛ // الضوء الأخضر للجانب الأول متوقف عن الكتابة الرقمية (led4 ، منخفض) ؛ // الضوء الأحمر للجانب الثاني متوقف عن الكتابة الرقمية (led5 ، عالية) ؛ // الضوء الأصفر للجانب الثاني على digitalWrite (led6 ، منخفض) ؛ // الضوء الأخضر للجانب الثاني متوقف عن الكتابة الرقمية (led7 ، عالية) ؛ // الضوء الأحمر للجانب الثالث على digitalWrite (led8 ، منخفض) ؛ // الضوء الأصفر للجانب الثالث متوقف عن الكتابة الرقمية (led9 ، منخفض) ؛ // الضوء الأخضر للجانب الثالث متوقف عن الكتابة الرقمية (led10 ، عالية) ؛ // الضوء الأحمر للجانب الرابع على digitalWrite (led11 ، منخفض) ؛ // الضوء الأصفر للجانب الرابع متوقف عن الكتابة الرقمية (led12 ، منخفض) ؛ // الضوء الأخضر للجانب الرابع متوقف عن التأخير (2000) ؛ // بسبب تأخير لمدة ثانيتين ، سيظل الضوء الأصفر للجانب الأول والجانب الثاني قيد التشغيل

لذلك ، كان هذا هو الإجراء بأكمله لعمل إشارة مرور رباعية الاتجاهات. الآن ، يمكنك الاستمتاع بجعلها لتعلمك أو لمشروع مدرسي.