جدول المحتويات:
- الخطوة 1: استخدام Processing.serial
- الخطوة 2: فهم فئة المسلسل
- الخطوة 3: فئة المسلسل اردوينو
- الخطوة 4: إنشاء وحدة تحكم قطاع 7 واجهة المستخدم الرسومية
فيديو: توصيل المعالجة و Arduino وعمل 7 شرائح ووحدة تحكم مؤازرة GUI: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
بالنسبة لبعض المشاريع التي قمت بإنشائها ، تحتاج إلى استخدام Arduino لأنه يوفر نظامًا أساسيًا سهلًا للنماذج الأولية ، لكن عرض الرسومات في الشاشة التسلسلية لـ Arduino يمكن أن يستغرق وقتًا طويلاً ، بل ويصعب القيام به. يمكنك عرض الرسوم البيانية على Arduino Serial Monitor لكن الرسوم البيانية ليست الشيء الوحيد الذي قد تحتاج إلى عرضه. جميع الكائنات التفاعلية مثل أشرطة التمرير أو الأزرار أو البرامج ذات الإخراج ثنائي الأبعاد أو ثلاثي الأبعاد أو PDF أو SVG ويمكنك أيضًا إنشاء رسوم متحركة بسهولة. وضع البرمجة الافتراضي للمعالجة هو Java ولكن يمكنك تبديله إلى Android و p5.js و REPL و CoffeeScript و JavaScript. في Instructable ، سنستخدم وضع برمجة Java.
كل المحتوى والكود متاح أيضًا على جيثب الخاص بي هنا.
الخطوة 1: استخدام Processing.serial
كود المعالجة
سيكون أول سطرين من التعليمات البرمجية
معالجة الاستيراد. تسلسلي. * ؛ المسلسل myPort ؛
هنا في السطر الأول نقوم باستيراد المكتبة - المعالجة وفي السطر الثاني نقوم بإنشاء كائن من الفئة Serial المسمى myPort ، يمكنك تسميته كما تريد باتباع قواعد تسمية المعرف.
أثناء المعالجة ، لدينا إعداد باطل () ورسم باطل () حيث يكون void هو نوع إرجاع الوظيفة ، يمكنك أيضًا تغييره إلى إعداد int () و int draw () أو أي نوع بيانات آخر تريده ولكنك ستحتاج إلى إرجاع قيمة لها نفس نوع البيانات مثل نوع البيانات الذي تستخدمه قبل الوظائف.
في الإعداد () نكتب العبارات التي نحتاج إلى تنفيذها مرة واحدة بينما في draw () نكتب العبارات التي نحتاجها لتنفيذ عدة مرات. يجب كتابة سطري الكود المذكورين أعلاه فوق إعداد باطل () لأنهما يحتاجان إلى وصول عالمي.
في الإعداد الفراغي () سنقوم بتهيئة منفذ myPort الخاص بالكائن.
الإعداد باطل(){
الحجم (800 ، 800) ؛
myPort = مسلسل جديد (هذا ، "COM18" ، 9600) ؛
}
حجم الخط (800 ، 800) ؛ يحدد حجم الشاشة وهو 800 بكسل × 800 بكسل.
يتم استخدام الكلمة الرئيسية new في السطر الثاني لحجز مساحة للكائن في الذاكرة ، الوسيطة هذا متغير مرجعي يشير إلى الكائن الحالي. الوسيطة COM18 هي منفذ Arduino المتصل ، نحتاج إلى هذا لأننا سننقل البيانات عبر الواجهة التسلسلية. قد يكون الرقم 18 مختلفًا في حالتك ، يمكنك العثور عليه ضمن Tools> Port in Arduino IDE و 9600 هو معدل الباود الذي يمكنك تغييره في كل من Arduino والمعالجة.
الخطوة 2: فهم فئة المسلسل
منشئ المسلسل
المسلسل (الأصل ، portName ، baudRate ، التكافؤ ، dataBits ، stopBits)
الحجج:
الوالد: عادة ما تستخدم "هذا"
معدل البث بالباود (int): 9600 هو الافتراضي
اسم المنفذ (سلسلة): اسم المنفذ (COM1 هو الافتراضي)
التكافؤ (حرف): "N" لا شيء ، "E" للزوج ، "O" للفرد ، "M" للعلامة ، "S" للمسافة ("N" هي القيمة الافتراضية)
dataBits (int): 8 هو الافتراضي
StopBits (عائم): 1.0 أو 1.5 أو 2.0 (1.0 هو الافتراضي)
طرق مهمة:
- myPort.available () - إرجاع عدد البايتات المتاحة.
- myPort.clear () - يفرغ المخزن المؤقت ويزيل جميع البيانات المخزنة هناك.
- myPort.read () - إرجاع رقم بين 0 و 255 للبايت التالي المنتظر في المخزن المؤقت.
- myPort.readString () - تُرجع جميع البيانات من المخزن المؤقت كسلسلة أو فارغة إذا لم يكن هناك شيء متاح.
- myPort.write ("test") - يكتب بايت ، أحرف ، ints ، بايت ، سلاسل إلى المنفذ التسلسلي.
- myPort.stop () - يعمل على تقطيع البيانات على المنفذ.
الخطوة 3: فئة المسلسل اردوينو
لا تحتاج إلى استيراد فئة Serial Class في Arduino قبل استخدامها.
في Arduino ، هناك وظيفتان تسمى الإعداد () والحلقة () يتم تشغيل الإعداد مرة واحدة فقط ولكن الحلقة تعمل عدة مرات. في الإعداد () نحتاج إلى الكتابة باستخدام طريقة start () لبدء الاتصال التسلسلي. في Arduino ، على عكس المعالجة ، لا نحتاج إلى ذكر المنفذ باعتباره وسيطات طريقة start () لأننا نحدد المنفذ بالفعل أثناء تحميل المخطط في Arduino.
لذلك سيبدو الإعداد () كما يلي:
الإعداد باطل(){
Serial.begin (9600) ؛ // بدء الاتصال التسلسلي
}
يحدد 9600 هنا معدل الباود الذي ذكرناه أيضًا في ملف المعالجة. من أجل الاتصال الصحيح ، يجب أن تكون معدلات البث بالباود متساوية أو قد ترى الإخراج التسلسلي كشيء هراء.
الآن دعونا نرى جزء الحلقة (). يعمل هذا الجزء من الكود عدة مرات. إذا أردنا قراءة بعض البيانات عن طريق المنفذ ، فسنستخدم طريقة Serial.read (). ترجع هذه الوظيفة فارغة إذا لم تكن هناك بيانات متاحة ، لذلك سنقوم باستدعاء هذه الطريقة فقط عندما يكون لدينا بعض البيانات المتوفرة في الدفق التسلسلي.
للتحقق مما إذا كانت هناك بعض البيانات متاحة ، سنستخدم طريقة Serial.available (). إذا قام بإرجاع قيمة أكبر من 0 - تتوفر بعض البيانات.
لذلك سيبدو جزء الحلقة () كما يلي:
حلقة فارغة(){
if (Serial.available ()> 0) {// إذا كانت بعض البيانات متاحة في المنفذ التسلسلي
حالة char = Serial.read () ، // اقرأ القيمة
// if البيانات أو تبديل الحالة
}
}
الآن يمكننا استخدام حالة السلم أو إذا كان هناك العديد من النتائج المحتملة ، يمكننا استخدام حالة التبديل أيضًا للحالة المتغيرة.
الخطوة 4: إنشاء وحدة تحكم قطاع 7 واجهة المستخدم الرسومية
الملفات مرفقة هنا. ملاحظة: للمعالجة ، ستحتاج أيضًا إلى تثبيت مكتبة التحكم p5 التي استخدمتها لإنشاء أزرار تفاعلية لواجهة المستخدم الرسومية.
أرقام دبوس
مقطع 7 (بالترتيب الأبجدي) قم بإحالة الصورة
أ - دبوس رقمي 2
ب - دبوس رقمي 3
ج - دبوس رقمي 4
د - دبوس رقمي 5
ه - دبوس رقمي 6
و - دبوس رقمي 7
ز - دبوس رقمي 8
dp - دبوس رقمي 9
كل المحتوى والكود متاح أيضًا على جيثب الخاص بي هنا
موصى به:
إزالة وحدة تحكم مؤازرة: 5 خطوات (بالصور)
قم بإزالة وحدة التحكم المؤازرة: تعد المحركات المؤازرة متعة كبيرة عندما تريد بسهولة توصيل محرك مُجهز بوحدة تحكم صغيرة. ومع ذلك ، في بعض الأحيان ، تريد محركًا صغيرًا لطيفًا ومجهزًا ولا تريد أن تزعجك دائرة التحكم لقيادتها. في مثل هذه الأوقات
2 مقاييس جهد و 2 أجهزة مؤازرة: حركة خاضعة للتحكم باستخدام Arduino: 4 خطوات
2 مقاييس جهد و 2 أجهزة مؤازرة: حركة خاضعة للتحكم باستخدام Arduino: تحتاج أولاً إلى جمع المواد ذات الصلة لتجميع هذه الدائرة معًا
وحدة تحكم في المروحة مدفوعة بوحدة المعالجة المركزية ووحدة معالجة الرسومات: 6 خطوات (بالصور)
وحدة التحكم في المروحة المدفوعة بوحدة المعالجة المركزية ووحدة معالجة الرسومات: قمت مؤخرًا بترقية بطاقة الرسومات الخاصة بي. يحتوي طراز GPU الجديد على TDP أعلى من وحدة المعالجة المركزية الخاصة بي ووحدة معالجة الرسومات القديمة ، لذلك أردت أيضًا تثبيت مراوح إضافية للحالة. لسوء الحظ ، يحتوي جهاز MOBO الخاص بي على 3 موصلات فقط للمروحة مع التحكم في السرعة ، ولا يمكن ربطها إلا بـ
7 شرائح لعرض ADC #Arduino Values ، #Arduino: 4 خطوات
7-مقطع لعرض ADC #Arduino Values ، #Arduino: في هذه المقالة سأقوم بعمل مشروع لا يزال مرتبطًا بالمقال السابق. وهي معالجة بيانات ADC. لذلك لا تحتاج إلى جهاز عرض تسلسلي لمعرفة قيمة بيانات adc. في هذه المقالة سأقوم بعرض عارض قيمة ADC. لذلك أنت لا
وحدة تحكم PS2 في قاعدة توصيل IPod: 6 خطوات
وحدة تحكم PS2 في IPod Dock: كيفية تحويل وحدة تحكم PS2 قديمة إلى iPod Dock رائع! *** هذا دليل على المنتج النهائي ، وليس صنعه