
"القوة ليست في الحديد ، ولكن في المعرفة" - يمكننا أن نقول هذه الأيام.
الآن أصبح الوصول إلى الإلكترونيات والروبوتات أكثر سهولة من ذي قبل - كان هناك خيار ، انخفض عتبة الدخول. ولكن بدون معرفة كيفية عملها وكيفية التعامل معها ، ستظل هذه الإلكترونيات "أجهزة" فقط (وكيف يحدث ذلك - تكون المجموعات في بعض الأحيان خاملة). المعرفة أكثر صعوبة في الحصول عليها بناء على الخبرة والممارسة الشخصية.
لذلك ، يتم تقدير الدورات للمبتدئين. هناك دورات مدفوعة ومجانية - ولكن لضمان الملاءمة ودعم الدورة وتوافق الأجهزة والتعليقات - هذه ليست مجرد مسألة ، بل هي أكثر أهمية باللغة الروسية.
نريد أن نخبرك عن إحدى هذه الدورات التدريبية عبر الإنترنت - " نحن نصنع الروبوتات والأجهزة الأخرى على Arduino. من إشارة مرور إلى طابعة ثلاثية الأبعاد ." تم تطوير الدورة بالاشتراك مع Cyberphysics و MIPT (معهد موسكو للفيزياء والتكنولوجيا). نصوص التدريب ومواد الفيديو متوفرة مجانًا على Coursera. يتم تقسيم الدورة إلى 6 أجزاء (كل أسبوعي) ، ولكل جزء - يتم إرسال الحديد المقابل.
من الأفضل دائمًا أن نقول على أساس تجربتنا ، لذلك سنتحدث عن الدورة والانطباعات "في الوقت الفعلي" أثناء تقدمنا. مشاركة الانطباعات ستكون أحد المشاركين في مساحة الاختراق لدينا.
الأسبوع 1
مرحبا بالجميع! اسمي أنطون ، وأود أن أخبركم في سلسلة منشورات مدتها ستة أسابيع حول تجربة المشاركة في دورة عبر الإنترنت من MIPT.
مقدمة صغيرة. ترتبط تعليمي والعمل المستمر لتكنولوجيا المعلومات. المعرفة في الإلكترونيات والدوائر تنتهي بدورة جامعية في الإلكترونيات. أحيانًا أستخدم مكواة لحام ، يمكنني إجراء حسابات بسيطة لأي دائرة.
لا توجد خبرة في البرمجة لـ Arduino على هذا النحو. أنا أكتب نصوصًا رئيسية في Python و Bash ، مع بناء جملة C يشبه لغة PHP وجافا سكريبت. C نفسها ليس لديها خبرة في البرمجة.
بعد أن كتبت أنا وأخي مراجعة لثلاث مجموعات من الإلكترونيات للأطفال ، اقترح أحد ممثلي مشروع الفيزياء الإلكترونية أخذ الدورة التدريبية عبر الإنترنت "بناء الروبوتات والأجهزة الأخرى على Arduino" على موقع Coursera. نظرًا لأنني تلقيت سابقًا العديد من الدورات التدريبية (لا تتعلق بتكنولوجيا المعلومات) على النظام الأساسي ، فقد افترضت أن المواد ستكون بسيطة وبسيطة ، كما هو الحال في معظم الدورات التمهيدية على منصة Coursera ، أو على مستوى المهام من كتيبات مجموعات إلكترونية مماثلة. ولكن ، كما اتضح ، كانت هذه مغالطة. يضع المبدعون أنفسهم الدورة كمقدمة عن الروبوتات للطلاب وطلاب المدارس الثانوية ، حيث يتعلم الطلاب ما هي الروبوتات والأجهزة "الذكية" الأخرى ، وكيفية تفاعلهم مع العالم الخارجي ، وكيفية تفاعلهم مع البشر ، والأهم من ذلك ، كيفية تعلم كيفية إنشاء مثل هذه الأجهزة بنفسك.
من المثير للاهتمام أن نلاحظ أنه بحسب مؤلفي الدورة ، فإن ثلثي الجمهور ، أي 13.5 ألف شخص ، الأشخاص الذين تتراوح أعمارهم بين 25 و 45 سنة! ويمكنك أن تفهم السبب: قائمة المواضيع واسعة جدًا - من أبسط أجهزة الاستشعار و "الأضواء الوامضة" إلى جهاز طابعة ثلاثية الأبعاد ، وكل هذا مدعوم بالنظرية اللازمة ، على سبيل المثال ، الجهاز ومعلمات الدوائر الكهربائية ، وأنواع ومعلمات الإشارات ، وما إلى ذلك ... في نفس الوقت يتم تقديم المواد بلغة بسيطة وسهلة المنال. بعد اجتياز الأسبوع الأول ، لم يكن خبرًا لي أيضًا أن متوسط معدل الدورة هو 4.9 من أصل 5 نقاط.
نظرًا لأن التدريب يهدف أساسًا إلى حل عملي للمشكلات ، فقد زودني مؤلفو الدورة في الأسابيع الأولى بمجموعة من الروبوتات والأجهزة "الفيزياء الإلكترونية" . ابدأ + .

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


مباشرة بعد الكتيب ، توجد لوحة Neutrino نفسها ، وهي نظير لـ Arduino Uno ، ولكن هناك شيء واحد يجذب الانتباه على الفور - هناك 20 دبابيس بثلاثة دبابيس على اللوحة لتوصيل مجموعة متنوعة من أجهزة الاستشعار. لقد أسعدني هذا بصدق ، لأنه بالنسبة إلى اللوحات الأخرى التي رأيتها سابقًا ، كان من الضروري تثبيت درع إضافي لتوصيل الأجهزة الطرفية.

في الداخل ، يتم ترتيب كل شيء في صناديق صغيرة. يتم توقيع جميع أكياس المحتوى.


كما تم وضع جهاز غريب مع أنبوب في المجموعة. بعد بحث سريع على الإنترنت ، اتضح أنها مضخة غاطسة ، والتي ، على ما يبدو ، سيتم استخدامها في الأسابيع المقبلة من الفصول.
أيضًا ، كما اقترح لي مؤلفو الدورة (وما هو مكتوب في الكتيب :)) ، يمكنك أيضًا استخدام الدرج من تحت اللوحة - جمع المخططات الموجودة فيه وتخزينها "فضفاضة" بحيث لا تهرب التفاصيل بين الفصول الدراسية. لقد علمت بهذا بعد نهاية الأسبوع الأول ، ولكن آمل أن أقدر في المستقبل فائدة الدرج.

الآن دعونا نتحدث عن الدورة نفسها. تستمر ستة أسابيع. يتم تقييم الأسابيع الثلاثة الأولى باستخدام الاختبارات ، وفي الأسابيع الرابعة والأربعين ، يمكنك إكمال مهمة إضافية وإرسال زملائك الطلاب للتقييم.
في دروس الأسبوع الأول ، أخبر المعلم أولاً أساسيات الدوائر ، ثم قام بتجميع وتعديل نموذج إشارة المرور تدريجيًا ، سواء في بيئة الرسوميات Fritzing أو على لوحة حقيقية. في البداية ، تم تجميع إشارة مرور يدوية وتحويلها تدريجيًا إلى تلقائي باستخدام Arduino. على طول الطريق ، تم إخبار أساسيات لغة البرمجة لبيئة Arduino.
من الجدير بالذكر أنه على الرغم من صغر حجمها ، فإن محاضرات الفيديو مفيدة للغاية ، وهو أمر يرضي بالتأكيد. فيما يلي قائمة تقريبية بموضوعات الأسبوع الأول التي سجلتها لنفسي:
- مبدأ التشغيل واللوح الجهاز
- الجهاز هو أبسط دائرة كهربائية. التيار الكهربائي. المصابيح
- طرق عرض الدوائر الالكترونية. المخططات التخطيطية والدوائر الرسومية في بيئة Fritzing
- قياس معلمات الدائرة الكهربائية. التيار والجهد والمقاومة
- لوحات وأصناف اردوينو. Arduino IDE
- أساسيات البرمجة في Arduino IDE. المتغيرات ، الماكرو ، الحلقات
في نهاية الأسبوع الأول ، اجتازت الاختبار بصدق في المرة الأولى بنسبة 80 ٪ من الإجابات الصحيحة ، وارتكبت 4 أخطاء ، أحدها كان بسبب جهل العتاد (مخرجات LED وقاعدة توصيله بالدائرة) ، وتم إجراء الباقي بسبب عدم الانتباه. في المحاولة الثانية ، كان من الممكن اجتياز الاختبار بخطأ واحد فقط :)

كممارسة ، قررت أيضًا محاولة جمع إشارة مرور. نظرًا لأن تكرار التمرين 1-1 يبدو مملًا بالنسبة لي ، فقد قررت على الفور جمع إشارات المرور التي تحاكي التقاطع.
كتبت البرنامج بشكل تقريبي و "على الجبين" ، لكنه يعمل بالضبط كما كنت أريد. لقد حاولت بصدق إعادة كتابة الشفرة والقيام بذلك بشكل جميل - مع المصفوفات والوظائف ، ولكنني تأثرت على الفور بجهلي للغة C - على سبيل المثال ، لم أستطع معرفة عدة دقائق كيفية إنشاء صفائف متعددة الأبعاد وملؤها بالقيم في C. ستتم مناقشة هذه المواضيع في الأسبوع الثالث ، لذلك قررت ألا أستبق نفسي وأستمر في الدراسة بهدوء.
كود البرنامج#define PIN_1_G 1 #define PIN_1_Y 2 #define PIN_1_R 3 #define PIN_2_G 4 #define PIN_2_Y 5 #define PIN_2_R 6 int green_on = 5000; int red_on = 5000; void setup() { pinMode(PIN_1_G, OUTPUT); pinMode(PIN_1_Y, OUTPUT); pinMode(PIN_1_R, OUTPUT); pinMode(PIN_2_G, OUTPUT); pinMode(PIN_2_Y, OUTPUT); pinMode(PIN_2_R, OUTPUT); digitalWrite(PIN_1_G, LOW); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, HIGH); digitalWrite(PIN_2_G, HIGH); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, LOW); } void loop() { delay(green_on); for (int i = 0; i < 3; i++) { digitalWrite(PIN_2_G, LOW); delay(500); digitalWrite(PIN_2_G, HIGH); delay(500); } digitalWrite(PIN_2_G, LOW); digitalWrite(PIN_2_Y, HIGH); delay(2000); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, HIGH); delay(1500); digitalWrite(PIN_1_Y, HIGH); delay(2000); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, LOW); digitalWrite(PIN_1_G, HIGH); delay(green_on); for (int i = 0; i < 3; i++) { digitalWrite(PIN_1_G, LOW); delay(500); digitalWrite(PIN_1_G, HIGH); delay(500); } digitalWrite(PIN_1_G, LOW); digitalWrite(PIN_1_Y, HIGH); delay(2000); digitalWrite(PIN_1_Y, LOW); digitalWrite(PIN_1_R, HIGH); delay(1500); digitalWrite(PIN_2_Y, HIGH); delay(2000); digitalWrite(PIN_2_Y, LOW); digitalWrite(PIN_2_R, LOW); digitalWrite(PIN_2_G, HIGH); }
التسجيل في الدورة
بدءًا من 27 مارس ، يكون دخول الدورة مفتوحًا: بناء الروبوتات والأجهزة الأخرى على Arduino. من إشارة المرور إلى الطابعة ثلاثية الأبعاد