جدول المحتويات:

جهاز مراقبة Arduino التسلسلي في Tinkercad: 7 خطوات (بالصور)
جهاز مراقبة Arduino التسلسلي في Tinkercad: 7 خطوات (بالصور)

فيديو: جهاز مراقبة Arduino التسلسلي في Tinkercad: 7 خطوات (بالصور)

فيديو: جهاز مراقبة Arduino التسلسلي في Tinkercad: 7 خطوات (بالصور)
فيديو: DIY Fitness Monitor with Force sensor and Arduino | Tinkercad | 60 second Design Prep 2024, يوليو
Anonim
Arduino Serial Monitor في Tinkercad
Arduino Serial Monitor في Tinkercad

مشاريع تينكركاد »

يمكن أن يكون تتبع كل ما يجري في برنامجك معركة شاقة. الشاشة التسلسلية هي وسيلة للاستماع إلى ما يحدث في التعليمات البرمجية الخاصة بك عن طريق إرسال تقرير إلى الكمبيوتر عبر كابل USB. في محاكي Tinkercad Circuits ، يمكن العثور على Serial Monitor في الجزء السفلي من لوحة Code ويمكن أيضًا استخدامه لرسم المتغيرات أثناء تغييرها. استخدم Serial Monitor "للتحدث" مع الكمبيوتر كطريقة للتحقق مما إذا كان كود Arduino يقوم بما تريده. يمكن أن يكون هذا مفيدًا جدًا في حل المشكلات المتعلقة بالشفرة (تسمى "التصحيح التسلسلي").

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

يمكنك المتابعة بشكل افتراضي باستخدام Tinkercad Circuits. يمكنك حتى مشاهدة هذا الدرس من داخل Tinkercad (يلزم تسجيل الدخول المجاني)! استكشف الدائرة النموذجية وقم ببناء حقك بجوارها. Tinkercad Circuits هو برنامج مجاني قائم على المستعرض يتيح لك إنشاء الدوائر ومحاكاتها. إنه مثالي للتعلم والتدريس والنمذجة.

الخطوة 1: الطباعة على جهاز العرض التسلسلي مع الكتل

صورة
صورة

دعنا نستخدم محرر كتل التعليمات البرمجية للاستماع إلى دبوس إدخال Arduino ، ثم نطبع القيمة (التناظرية) أو الحالة (الرقمية) للإدخال في نافذة Serial Monitor. انقر فوق الزر "رمز" لفتح لوحة التعليمات البرمجية.

انقر فوق Serial Monitor في الجزء السفلي من لوحة التعليمات البرمجية.

انقر فوق "بدء المحاكاة" لتشغيل نموذج كود Arduino ، ولاحظ الأرقام الموجودة في Serial Monitor أثناء تفاعلك مع مقياس الجهد. يمكنك النقر للخلف وللأمام بين جهازي Arduinos أثناء تشغيل المحاكاة في Tinkercad Circuits ، ولكن سيتم عرض الدائرة التناظرية فقط في الوحدة المدمجة أعلاه.

بعد تكرار نموذج الدائرة في حساب Tinkercad الخاص بك ، يمكنك تغيير الكود. انتقل إلى فئة رمز الإخراج ، ثم اسحب كتلة "print to serial monitor" وضعها قبل الكتلة التسلسلية الموجودة بالفعل في البرنامج.

غيّر النص الافتراضي لتسمية بياناتك التسلسلية ، مثل "المستشعر:" (لا تنس المسافة بعد النقطتين) ، واضبط القائمة المنسدلة للطباعة بدون سطر جديد.

ابدأ المحاكاة ولاحظ التغيير في Serial Monitor. يمكنك تكديس الكتل التسلسلية مثل هذه لإنشاء رسائل ملاحظات مفيدة أثناء تطوير أي كود مشروع.

الخطوة 2: شرح كود Arduino للمراقبة التسلسلية

صورة
صورة

عندما يكون محرر الكود مفتوحًا في Tinkercad Circuits ، يمكنك النقر فوق القائمة المنسدلة الموجودة على اليسار وتحديد "Blocks + Text" للكشف عن رمز Arduino الذي تم إنشاؤه بواسطة كتل التعليمات البرمجية (غير متوفر في الوحدة النمطية المضمنة في الخطوة الأولى). يرسل هذا الرمز البيانات من Arduino إلى Serial Monitor ، ولكن في درس لاحق يمكنك أيضًا معرفة كيفية تلقي البيانات من الشاشة التسلسلية والاتصال التسلسلي ثنائي الاتجاه.

/*

DigitalReadSerial يقرأ إدخالًا رقميًا على الطرف 2 ، ويطبع النتيجة إلى الشاشة التسلسلية. رمز المثال هذا موجود في المجال العام. * /

قبل

اقامة()

، يمكننا أن نرى تعليقًا متعدد الأسطر يبدأ بـ

/*

وينتهي بـ

*/

int buttonState = 0 ؛

في بداية برنامجنا ، سننشئ متغيرًا للاحتفاظ بحالة الإدخال.

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

{pinMode (2، INPUT) ؛ Serial.begin (9600) ؛ }

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

pinMode ()

وظيفة. لتتمكن من إرسال الرسائل ، يحتاج Arduino إلى فتح قناة اتصال جديدة مع

Serial.begin ()

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

حلقة فارغة()

{// قراءة دبوس الإدخال buttonState = digitalRead (2) ؛ // اطبع حالة الزر Serial.print ("sensor:") ؛ Serial.println (buttonState) ؛ تأخير (10) ؛ // تأخير قليل لتحسين أداء المحاكاة}

يقرأ الكود الموجود داخل الحلقة حالة الإدخال باستخدام digitalRead () ويخزنه في متغير buttonState. ثم وظيفة تسمى

Serial.println ()

يرسل البيانات إلى الشاشة (عبر كبل USB في حالة لوحة Arduino المادية). إذا قمت بإجراء تغييرات على الكتل على البرنامج في الخطوة السابقة ، فسيكون لديك أيضًا ملف

Serial.print ()

سطر من التعليمات البرمجية.

println

يرسل سطرًا جديدًا بعد الرسالة ، و

مطبعة

لا. استخدم علامات الاقتباس حول تسميات النص ، على سبيل المثال

Serial.print ("sensor:") ؛

. إذا كنت تريد إنشاء سطر واحد من إخراج التصحيح التسلسلي ، فيمكنك استخدام العديد من ملفات

Serial.print ()

الأوامر متبوعة بملف

Serial.println ()

الخطوة 3: مصحح التعليمات البرمجية

صورة
صورة

هناك ميزة خاصة في Tinkercad Circuits تسمى Debugger. يخطو من خلال التعليمات البرمجية الخاصة بك ويسمح لك بالنظر في المتغيرات الخاصة بك وأكثر من ذلك.

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

في وضع Blocks + Text (أو وضع Text-only ، إذا كنت تفضل ذلك) ، انقر فوق رقم سطر لإضافة نقطة توقف ، حيث سيتوقف مصحح الأخطاء في كل مرة خلال الحلقة.

ابدأ المحاكاة.

قم بالتمرير فوق المتغيرات أثناء الإيقاف المؤقت لرؤية قيمها.

الخطوة 4: مشغلات الدائرة التسلسلية الأساسية

مبتدئين الدائرة التسلسلية الأساسية
مبتدئين الدائرة التسلسلية الأساسية

هذه الدوائر متوفرة كمبتدئين للدائرة. يمكنك استخدام مشغلات الدوائر هذه في أي وقت تريد قراءة إدخال رقمي أو تناظري وطباعة حالته على Serial Monitor.

احصل على مبتدئين دوائر Arduino من لوحة المكونات (القائمة المنسدلة -> المبتدئين -> Arduino).

الخطوة 5: رسم البيانات التسلسلية

البيانات التسلسلية للرسم البياني
البيانات التسلسلية للرسم البياني

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

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

ابدأ المحاكاة وتفاعل مع المدخلات لمشاهدة تغير قيم الرسم البياني.

الخطوة 6: جربها باستخدام دائرة أردوينو فعلية (اختياري)

صورة
صورة

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

قم بتوصيل دائرة Arduino Uno عن طريق توصيل المكونات والأسلاك لتتناسب مع التوصيلات الموضحة هنا في Tinkercad Circuits. للحصول على مزيد من التفاصيل حول العمل باستخدام لوحة Arduino Uno المادية الخاصة بك ، تحقق من فئة Instructables Arduino المجانية (تم وصف دائرة مماثلة في الدرس الثالث).

انسخ الكود من نافذة كود Tinkercad Circuits والصقه في رسم فارغ في برنامج Arduino ، أو انقر فوق زر التنزيل (السهم المتجه لأسفل) وافتح

الملف الناتج باستخدام Arduino. يمكنك أيضًا العثور على هذه الأمثلة في برنامج Arduino بالانتقال إلى File -> Examples -> 03. Analog -> AnalogInOutSerial أو File -> Examples -> 02. Digital -> DigitalInputPullup.

قم بتوصيل كابل USB الخاص بك وحدد اللوحة والمنافذ في قائمة أدوات البرنامج.

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

Serial.begin (9600)

اضغط على الزر الانضغاطي أو أدر المقبض وشاهد الأرقام تتغير في نافذة Serial Monitor.

الخطوة 7: بعد ذلك ، حاول …

بعد ذلك ، حاول …
بعد ذلك ، حاول …

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

هل يمكنك إنشاء دائرة واحدة وبرنامج يقوم بطباعة المدخلات التناظرية والرقمية الموضحة في هذا الدرس؟

إليك رابط للدائرة المصورة ورمز Arduino الخاص بها:

int int buttonState = 0 ؛

حساس intValue = 0 ؛ إعداد باطل () {pinMode (2، INPUT) ؛ pinMode (A0، INPUT) ؛ Serial.begin (9600) ؛ } حلقة فارغة () {// قراءة دبوس الإدخال buttonState = digitalRead (2) ؛ // اقرأ الإدخال على الطرف التناظري 0: sensorValue = analogRead (A0) ؛ // طباعة القيم إلى الشاشة التسلسلية Serial.print (buttonState) ؛ Serial.print ("،") ؛ Serial.println (sensorValue) ؛ تأخير (10) ؛ // تأخير قليل لتحسين أداء المحاكاة}

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

المسلسل. قراءة ()

(الدرس قريبا).

يمكنك أيضًا تعلم المزيد من مهارات الإلكترونيات من خلال فصول Instructables المجانية على Arduino ، والإلكترونيات الأساسية ، ومصابيح LED والإضاءة ، والطباعة ثلاثية الأبعاد ، والمزيد.

موصى به: