فئات: مقالات مميزة » إلكترونيات عملية
مرات المشاهدة: 67360
تعليقات على المقال: 7

ربط وبرمجة اردوينو للمبتدئين

 

هل دراسة ميكروكنترولر تبدو معقدة وغير مفهومة؟ قبل ظهور Arudino ، لم يكن الأمر سهلاً حقًا وتطلب مجموعة معينة من المبرمجين والمعدات الأخرى.


ما هو اردوينو؟

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

يمكن إجراء تجميع الدوائر الأكثر تعقيدًا وتوصيل الألواح بدون مكواة لحام ، وبمساعدة لاعبا مع وصلات قابلة للفصل "الأب" و "الأم". وبهذه الطريقة ، يمكن توصيل كل من المرفقات وبطاقات التوسعة ، والتي تسمى ببساطة معجم arduinists "Shields".

ما هو اردوينو؟

ما هو أول مجلس اردوينو لشراء مبتدئ؟

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

اردوينو أونو

في المتاجر المحلية لعام 2017 ، سعره حوالي 4-5 دولارات. على الطرز الحديثة ، فإن Atmega328 هي قلبها.

اردوينو أونو

صورة مجلس اردوينو وفك وظيفة من كل دبوس ، اردوينو UNO pinout

المتحكم الدقيق في هذه اللوحة عبارة عن شريحة طويلة في الحزمة DIP28 ، والتي تشير إلى أن لديها 28 أرجل.

يكلف المجلس التالي الأكثر شعبية أرخص مرتين تقريبًا من اللوحة السابقة - 2-3 دولارات. هذا هو المجلس اردوينو نانو. تم بناء اللوحات الفعلية بواسطة نفس Atmega328 ، فهي تشبه وظيفيًا UNO ، وهناك اختلافات في الأحجام وحل مطابقة مع USB ، وأكثر في هذا لاحقًا. الفرق الآخر هو أنه يتم توفير المقابس لتوصيل الأجهزة باللوحة ، في شكل إبر.

اردوينو نانو

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

ارينو نانو pinout 

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

اردوينو نانو مقابل برو البسيطة الحجم مقارنة

اردوينو نانو مقابل برو البسيطة الحجم مقارنة

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

اردوينو برو البسيطة pinout، في الجزء العلوي ، مخطط توصيل USB-UART ، الدبوس "GRN" - تم توصيله بدائرة إعادة ضبط وحدة التحكم الصغيرة ، وقد يطلق عليها بشكل مختلف ، والتي تحتاج إلى اكتشافها لاحقًا.

النتائج:

إذا كانت UNO ملائمة للنماذج الأولية ، فإن Nano و Pro Mini ملائمان للإصدارات النهائية من مشروعك ، لأنها تشغل مساحة صغيرة.

اردوينو للمبتدئين

كيفية توصيل اردوينو بجهاز الكمبيوتر؟

يتصل Arduino Uno و Nano بكمبيوتر عبر USB. في الوقت نفسه ، لا يوجد دعم أجهزة لمنفذ USB ، حيث يتم استخدام حل دائرة تحويل المستوى ، والذي يطلق عليه عادة USB إلى المسلسل أو USB-UART (rs-232) ، هنا. في الوقت نفسه ، يتم تحميل أداة تحميل خاصة من Arduino في المتحكم الدقيق ، والذي يسمح بالوميض على هذه الحافلات.

في Arduino Uno ، يتم تطبيق هذا الرباط على متحكم بدعم USB - ATmega16U2 (AT16U2). اتضح أن هناك حاجة إلى متحكم إضافي على لوحة وميض متحكم الرئيسية.

في Arduino Nano ، يتم تنفيذ ذلك بواسطة شريحة FT232R ، أو CH340 التناظرية. هذا ليس متحكمًا - إنه محول مستوى ، هذه الحقيقة تجعل من السهل تجميع Arduino Nano من البداية بأيديكم.

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

قبل ذلك ، لم أواجه هذا الأمر واعتقدت أن جميع محولات USB-UART تم تجميعها على FT232 ، وكان عليّ تنزيل برامج التشغيل ، ومن السهل جدًا العثور عليها بناءً على طلب "Arduino ch340 driver". بعد تثبيت بسيط - عملت!

من خلال منفذ USB نفسه ، يمكن أيضًا تشغيل المتحكم الدقيق ، أي إذا قمت بتوصيله بالمحول من هاتف محمول ، فسوف يعمل نظامك.


ماذا أفعل إذا كان لوحتي لا يحتوي على USB؟

اردوينو برو ميني أصغر. تم تحقيق ذلك عن طريق إزالة موصل USB للبرامج الثابتة ومحول USB-UART نفسه. لذلك ، يجب شراؤها بشكل منفصل. أبسط محول على CH340 (أرخص) ، CPL2102 و FT232R ، للبيع تكاليف من 1 دولار.

عند الشراء ، انتبه إلى الجهد الذي صممه هذا المحول. يتوفر Pro mini في الإصدارات 3.3 و 5 V ، وغالبًا ما توجد وصلة المرور على المحولات لتبديل جهد التيار الكهربائي.

اردوينو برو ميني

عند وميض Pro Mini ، قبل بدء تشغيله مباشرة ، يجب النقر فوق RESET ، ومع ذلك ، في المحولات ذات DTR ، لن تحتاج إلى القيام بذلك ، مخطط الاتصال في الشكل أدناه.

مخطط اتصال للبرامج الثابتة

وانضم إليهم محطات خاصة "ماما ماما" (أنثى-أنثى).

اتصال اردوينو

في الواقع ، يمكن إجراء جميع الاتصالات باستخدام هذه المحطات (دوبونت) ، فهي على كلا الجانبين مع مآخذ ، ومع المقابس ، وعلى جانب واحد من المقبس ، وعلى المكونات الأخرى.

قابس

كيف تكتب برامج لاردوينو؟

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

برنامج لاردوينو

هذه هي الطريقة التي تبدو واجهة البرنامج. يمكنك كتابة البرامج بلغة C AVR المبسطة التي تم تطويرها خصيصًا لاردوينو ، وهي في الحقيقة مجموعة من المكتبات تدعى Wiring ، بالإضافة إلى C AVR الخالص. استخدامه يسهل الكود ويسرع عمله.

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

واجهة البرنامج

يوجد في الجزء السفلي من النافذة منطقة لعرض معلومات حول المشروع وحالة الكود والبرامج الثابتة ووجود الأخطاء.


أساسيات البرمجة اردوينو IDE

في بداية الكود ، تحتاج إلى إعلان المتغيرات وتوصيل مكتبات إضافية ، إن وجدت ، يتم ذلك على النحو التالي:

#include biblioteka.h؛ / / قم بتوصيل المكتبة باسم "Biblioteka.h"

#define peremennaya 1234؛ / / قم بتعريف متغير بقيمة 1234

يسمح الأمر Define للمترجم باختيار نوع المتغير ، لكن يمكنك تعيينه يدويًا ، على سبيل المثال ، عدد صحيح int أو تعويم الفاصلة العائمة.

أدى كثافة العمليات = 13 ؛ // خلق المتغير "led" وخصص له القيمة "13"

يمكن للبرنامج تحديد حالة الدبوس على أنه 1 أو 0. 1 هي وحدة منطقية ، إذا كان pin 13 هو 1 ، فإن الجهد في ساقه المادية سوف يساوي جهد تزويد وحدة التحكم الصغيرة (بالنسبة إلى arduino UNO و Nano - 5 V)

يتم تسجيل الإشارة الرقمية باستخدام أمر digitalWrite (رقم التعريف الشخصي ، القيمة) ، على سبيل المثال:

كتابة رقمية (led ، عالية) ؛ / / أكتب الوحدة إلى الرقم 13 (أعلناها أعلاه). الوحدة.

كما يمكنك أن تفهم ، فإن الوصول إلى المنافذ يتم عن طريق الترقيم على اللوحة ، الرقم المقابل. فيما يلي مثال مشابه للرمز السابق:

digitalWrite (13 ، عالية) ؛ // تعيين دبوس 13 إلى واحد

غالبًا ما يتم استدعاء وظيفة تأخير الوقت المرغوبة بواسطة أمر التأخير () ، والذي تم تعيين قيمته بالمللي ثانية ، ويتم تحقيق ميكروثانية باستخدام

تأخيرالمايكرو ثانية () تأخير (1000) ؛ / / متحكم الانتظار 1000 مللي ثانية (ثانية واحدة)

يتم تعيين إعدادات المنفذ للإدخال والإخراج في وظيفة إعداد الفراغ {} ، مع الأمر:

إعداد باطل () {

pinMode (NOMERPORTA ، OUTPUT / INPUT) ؛ الوسيطات / - اسم متغير أو رقم المنفذ ، الإدخال أو الإخراج للاختيار من بينها

}

حلقة الفراغ {}


فهم أول برنامج Blink

كنوع من "Hello، world" لوحدات التحكم الدقيقة ، يوجد برنامج وامض LED ، دعنا نحلل الرمز الخاص به:

في البداية ، باستخدام أمر pinMode ، أخبرنا المتحكم الدقيق بتعيين منفذ بمصباح LED للإخراج.لقد لاحظت بالفعل أن الكود لا يُعلن عن المتغير "LED_BUILTIN" ، والحقيقة هي أنه في Uno و Nano واللوحات الأخرى من المصنع ، يتم توصيل المصباح المدمج بالدبوس 13 ويتم لحامه باللوحة. يمكن استخدامه بواسطتك للإشارة في مشاريعك أو لإجراء فحص أبسط لبرامجك الوامضة.

بعد ذلك ، قمنا بضبط الإخراج الذي تم تحويل LED إليه إلى الوحدة (5 فولت) ، السطر التالي يجعل MK تنتظر 1 ثانية ، ثم يعين دبوس LED_BUILTIN على الصفر ، وينتظر ثانية ويتكرر البرنامج في دائرة ، لذلك عندما يكون LED_BUILTIN 1 - LED ( وأي حمولة أخرى متصلة بالمنفذ) قيد التشغيل ، عندما تكون في وضع إيقاف التشغيل.

هل كل شيء يعمل وكل شيء واضح؟ ثم المضي قدما!



نقرأ القيمة من المنفذ التمثيلي ونستخدم بيانات القراءة

يحتوي متحكم Atmega328 AVR على محول رقمي تناظري 10 بت مدمج. يتيح لك ADC 10 بت قراءة قيمة الجهد من 0 إلى 5 فولت ، بزيادة قدرها 1/1024 من نطاق السعة الكامل للإشارة (5 فولت).

لجعلها أكثر وضوحًا ، ضع في اعتبارك الموقف ، افترض أن قيمة الجهد عند الإدخال التناظري هي 2.5 فولت ، ثم سوف يقوم المتحكم الدقيق بقراءة القيمة من pin "512" إذا كان الجهد 0 - "0" ، وإذا كان 5 فولت - (1023). 1023 - لأن العدد يبدأ من 0 ، أي 0 ، 1 ، 2 ، 3 ، إلخ. ما يصل إلى 1023 - ما مجموعه 1024 القيم.

إليك كيفية ظهورها في الكود ، باستخدام الرسم القياسي "analogInput" كمثال

int sensorPin = A0 ؛

كثافة العمليات ledPin = 13 ؛

int sensorValue = 0 ؛

إعداد باطل () {

pinMode (ledPin ، OUTPUT) ؛

}

حلقة باطلة () {

sensorValue = analogRead (sensorPin) ؛

digitalWrite (ledPin ، عالية) ؛

تأخير (sensorValue) ؛

digitalWrite (ledPin ، LOW) ؛

تأخير (sensorValue) ؛

}

مخطط اتصال الجهد لاردوينو ، عن طريق القياس ، الإخراج المركزي يمكنك الاتصال بأي مدخلات التناظرية

مخطط اتصال الجهد لاردوينو ، عن طريق القياس ، الإخراج المركزي يمكنك الاتصال بأي مدخلات التناظرية.

قم بتعريف المتغيرات:

  • Ledpin - تعيين دبوس بشكل مستقل مع LED المدمج في الإخراج وإعطاء اسم فردي ؛

  • sensorPin - إدخال تمثيلي ، تم تعيينه وفقًا للعلامة على السبورة: A0 ، A1 ، A2 ، إلخ ؛

  • sensorValue - متغير لتخزين قيمة قراءة عدد صحيح ومزيد من العمل معها.

تعمل التعليمة البرمجية مثل هذا: sensorValue حفظ القيمة التمثيلية قراءة باستخدام sensorPin (الأمر analogRead). - هنا ينتهي العمل مع الإشارة التناظرية ، ثم كل شيء كما في المثال السابق.

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

وبالتالي ، من خلال موقف الجهد ، قمنا بتعيين تردد وامض من LED.


وظيفة خريطة ل Arudino

ليست كل وظائف المشغلات (لا أعرف أيًا) تدعم "1023" كحجة ، على سبيل المثال ، المؤازرة محدودة بزاوية الدوران ، أي بمقدار نصف ثورة (180 درجة) (ثورة نصفية) للمحرك المؤازر ، والحجة القصوى للوظيفة هي "180"

الآن حول بناء الجملة: الخريطة (القيمة التي نترجمها هي الحد الأدنى للإدخال ، الحد الأقصى للإدخال ، الحد الأدنى للإخراج ، الحد الأقصى للإخراج).

في الكود ، يبدو كما يلي:

(map (analogRead (pot)، 0، 1023، 0، 180))؛

نقرأ القيمة من مقياس الجهد (analogRead (قدر)) من 0 إلى 1023 ، وفي الخرج نحصل على أرقام من 0 إلى 180

قيم خريطة القيمة:

  • 0=0;

  • 1023=180;

في الممارسة العملية ، نحن نطبق هذا على عمل نفس شفرة المؤازرة ، ونلقي نظرة على الكود مع Arduino IDE ، إذا كنت تقرأ بعناية الأقسام السابقة ، فإنه لا يحتاج إلى شرح.

ومخطط اتصال.

مخطط الأسلاك

الاستنتاجات Arduino هي أداة مريحة للغاية لتعلم كيفية العمل مع ميكروكنترولر. إذا كنت تستخدم C AVR خالصًا ، أو كما يطلق عليه أحيانًا "Pure C" ، فسوف تقلل إلى حد كبير من وزن الكود وتناسب أكثر في ذاكرة المتحكم الدقيق ، ونتيجة لذلك ، ستحصل على لوحة تصحيح أخطاء ممتازة من صنع المصنع مع البرامج الثابتة USB.

اردوينو للمبتدئين

رأي المؤلف:

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

بالنسبة لأولئك الذين يرغبون في اللعب مع الإلكترونيات ، كمنشئ متقدم ، فهو مثالي ، ولكن بالنسبة للمبرمجين ذوي الخبرة ، فإن لوحة لا تتطلب التجميع ستكون مفيدة أيضًا!

لمزيد من المعلومات حول اردوينو وميزات استخدامه في مخططات مختلفة ، راجع الكتاب الإلكتروني -اردوينو لالدمى. دليل عملي مصور.

انظر أيضا في bgv.electricianexp.com:

  • طرق لقراءة وإدارة منافذ الإدخال / الإخراج من Arduino
  • التي اردوينو مجلس لاختيار
  • أنواع وترتيب ميكروكنترولر AVR
  • متحكم عن بعد: IR Remote، Arduino، ESP8266، 433 ...
  • ربط أجهزة الاستشعار التناظرية لاردوينو ، وقراءة أجهزة الاستشعار

  •  
     
    التعليقات:

    # 1 كتب: ELECTROMAG | [سيت]

     
     

    ما الأدب على دراسة رمز البرمجة هل تنصحني؟

     
    التعليقات:

    # 2 كتب: أندرو | [سيت]

     
     

    ELECTROMAGأولي سومر. اردوينو / Freeduino متحكم البرمجة المجلس ، من قبل جيريمي بلوم. نحن ندرس اردوينو. أدوات وتقنيات السحر التقني ، جون بوكسيل. نحن ندرس اردوينو. 65 افعل ذلك بنفسك. كتب عن اردوينو على الأوزون: bgv.electricianexp.com/arduino_books.php

     
    التعليقات:

    # 3 كتب: منتصر | [سيت]

     
     

    مادة مثيرة جدا للاهتمام ومثيرة ، شكرا!

     
    التعليقات:

    # 4 كتب: الأورال | [سيت]

     
     

    شكرًا على المعلومات ، كانت وظيفة "map" مفيدة للغاية ، وتساءلت عن كيفية التجول ، وبدأت للتو في تعلم اللعب على Arduino.

     
    التعليقات:

    # 5 كتب: ديما | [سيت]

     
     

    لا أجد شيئًا لا أجده لدروع arduino للمشاركة في mil-std-1553b ، على الرغم من حافلات شركات - أكوام ، واجهة شعبية جدًا. كزة حيث يمكنك البحث عن شراء.

    ملاحظة لا يتم عرض تاريخ المقالة - ربما تبلغ من العمر 10 أعوام ولا ينبغي لها كتابة التعليقات بالفعل؟

     
    التعليقات:

    # 6 كتب: Eremino | [سيت]

     
     

    كيفية جعل مكرر إشارة الإدخال على اردوينو لمدة 4 أو أي عدد من النواتج.

    تفعل بالمثل مع 4 قنوات الإدخال إلى 16 قنوات الإخراج. في هذه الحالة ، تحتاج إلى تبديل الإدخال إلى أي 4 مخرجات في وقت واحد على كل قناة إدخال.

     
    التعليقات:

    # 7 كتب: أوليغ | [سيت]

     
     

    يا شباب ، أخبرني ، من أين تعلمت البرنامج؟ لقد راجعت الكثير من المعلومات ولم يكتب أحد بوضوح. هنا ، جميع المعلومات ليست للمبتدئين ، حقا الكثير غير واضح ، بخس. تمت كتابة الكثير من الكلمات التي لا تكتب عنها كلمة ، على سبيل المثال ، يكتب المؤلف ، في البداية تحتاج إلى إعلان المكتبة وإدخال #include biblioteka.h؛ / / لكن عن هذه الكلمة لم يكتب أي شيء # تتضمن لماذا يمكن فهم كل هذا. أفتقد الصبر بالفعل ، لا يمكن لأحد أن يشرح بالطريقة المعتادة ، وشرح ما الذي سيحدث هنا من الضروري كتابة هذا. حسنًا ، بالطبع هو صفر ، لكني أحاول أن أقرأ ، لا أرى شيئًا غير مفهوم ، والكثير من الأشياء الزائدة التي لا تفسر. وأستطيع أن أقول إنني لست أحمقًا غبيًا ، يمكنني إصلاح أي إلكترونيات تقريبًا ، أي أنا أصدقائي مع رأسي ، لكنني لا أفهم ذلك لأنهم يكتبون أولئك الذين يعرفون ، لكنهم نسوا الفروق الدقيقة أثناء تنفيسهم.