تبدو مقاييس الجهد والمشفرات الدوارة متطابقة تقريبًا للوهلة الأولى ، لكنها تعمل بطرق مختلفة. اكتشف كيفية استخدام كليهما مع Arduino.
من بين مكونات التحكم الإلكترونية للمستخدم ، تبرز المقابض الدوارة باعتبارها من أكثر المكونات إرضاءً للاستخدام. يمكن أن تكمل شاشات اللمس وأجهزة الإدخال الأخرى ، بالإضافة إلى العمل بشكل جيد مع الأزرار والمفاتيح. ولكن كيف يمكنك إضافة مقبض إلى مشاريع DIY Arduino الخاصة بك؟
لديك خياران رئيسيان: مقياس الجهد أو المشفر الدوار. قد تبدو هذه المكونات متشابهة ، لكن طرق استخدامها مع جهاز مثل لوحة متحكم Arduino مختلفة تمامًا. دعونا نرى كيف يقارنون مع بعضهم البعض.
مقاييس الجهد مقابل. التشفير الروتاري
تأتي معظم مقاييس الجهد والتشفير الدوارة التي سيواجهها عشاق DIY في عامل شكل مماثل. لديهم قاعدة مكعبة أو أسطوانية مع أرجل موصلة متصلة ، وعمود دائري يلتوي ومزود بفتحات لغطاء للجلوس عليه.
تبدو بعض مقاييس فرق الجهد مختلفة ، مثل تلك التي تأتي في شكل شرائح طويلة ، مثل تلك الموجودة على طوابق خلط الموسيقى. عندما يتعلق الأمر بالنوع الدوار ، يبدو للوهلة الأولى أنها متطابقة تقريبًا مع أجهزة التشفير الدوارة ، لذلك ستغفر للاعتقاد بأنها متماثلة.
ما هو مقياس الجهد؟
مقياس الجهد هو في جوهره مقاومة متغيرة. عندما يتم تدوير العمود ، تتغير المقاومة داخل مقياس الجهد ، مما يسمح للمستخدم بتغيير خصائص الدائرة دون الحاجة إلى إعادة بنائها. يمكن أن تكون مقاييس الجهد تناظرية ورقمية ، لكن مقاييس الجهد الرقمية تحاكي المقاييس التناظرية وهذا يجعلها مشابهة جدًا للاستخدام.
تحتوي مقاييس الجهد دائمًا على نقطة بداية ونهاية محددة حيث لم يعد من الممكن تدوير العمود. تشعر بعض مقاييس فرق الجهد بإحساس وعرة عند الدوران ، لكن العديد منها يكون سلسًا أيضًا ، مثل تلك الموجودة في أجهزة الاستريو القديمة.
على الرغم من كونها تمثيلية ، إلا أن مقاييس الجهد تعمل بشكل جيد مع المتحكمات الدقيقة. يمكنك ذلك بسهولة قم بإعداد مقياس الجهد باستخدام Raspberry Pi Pico أو اردوينو.
ما هو التشفير الروتاري؟
تحدد المشفرات الدوارة موضع عمودها باستخدام مستشعر لتوفير إشارة تناظرية أو رقمية للجهاز الذي تتصل به. هذا يخبر الجهاز الذي وضع المشفر فيه. إلى جانب العمود الدوار ، عادةً ما تحتوي أجهزة التشفير الدوارة أيضًا على زر مدمج يتم تشغيله عن طريق دفع العمود لأسفل.
على عكس مقاييس الجهد ، يمكن أن تدور أجهزة التشفير الدوارة دون توقف ، ولديها دائمًا نتوءات لمسية لكل موضع من مواضع العمود. تستخدم العديد من السيارات الحديثة أجهزة التشفير الدوارة للتحكم في أنظمة الترفيه الخاصة بها.
كيفية استخدام مقياس الجهد مع Arduino
بفضل تصميمها البسيط ، يعد استخدام مقياس الجهد مع Arduino أمرًا بسيطًا. يحتوي مقياس الجهد الخاص بك على ثلاثة موصلات: الأرض والإخراج و vref. تتصل دبابيس الأرض و vref بموصلي GND و 5 V على Arduino ، على التوالي ، بينما يتصل دبوس خرج مقياس الجهد بأحد المدخلات التناظرية على لوحتك.
كود Arduino Potentiometer Code
يبدأ كود مقياس الجهد في Arduino بالأساسيات يثبت() و حلقة() النموذج الذي ستراه عند إنشاء ملف جديد في Arduino IDE. أولا ، أضف كثافة العمليات متغير في بداية الكود لتسجيل اتصال الدبوس التناظري للوعاء — في هذه الحالة ، A0.
مقدار ثابتint مقياس الجهد = A0 ؛
بعد هذا ، فإن يثبت() الوظيفة بسيطة: تحتاج فقط إلى التصريح عن دبوس مقياس الجهد الخاص بك كمدخل. يمكنك أيضًا بدء اتصال تسلسلي إذا كنت تريد إرسال البيانات إلى جهاز الكمبيوتر الخاص بك من أجل التشخيص.
فارغيثبت(){
pinMode (مقياس الجهد ، INPUT) ؛
مسلسل.يبدأ(9600);
}
بعد ذلك ، حان وقت إعداد حلقة() وظيفة. ابدأ بإنشاء ملف int متغير باستخدام القراءة التناظرية () وظيفة لتخزين موضع مقياس الجهد الخاص بك. بعد ذلك ، يمكنك استخدام ملف خريطة() تعمل على تقليل حجم القيمة التي تتعامل معها — في هذا المثال لمطابقة مواصفات PWM ، على سبيل المثال للتحكم في سطوع LED. أضف مهلة قصيرة لضمان الاستقرار.
فارغحلقة(){
int مقياس الجهد Value = analogRead (مقياس الجهد) ؛
الخريطة (مقياس الجهدValue، 0، 1023، 0، 255) ؛
مسلسل.println(مقياس الجهد);
تأخير (10) ؛
}
الآن بعد أن أصبح لديك موضع مقياس الجهد الخاص بك ، يمكنك استخدامه مع أجزاء أخرى من الكود. على سبيل المثال ، ملف لو البيان سيعمل بشكل جيد لتشغيل الكود عندما يكون مقياس الجهد في وضع معين.
مقدار ثابتint مقياس الجهد = A0 ؛
فارغيثبت(){
pinMode (مقياس الجهد ، INPUT) ؛
مسلسل.يبدأ(9600);
}
فارغحلقة(){
int مقياس الجهد Value = analogRead (مقياس الجهد) ؛
الخريطة (مقياس الجهدValue، 0، 1023، 0، 255) ؛
مسلسل.println(مقياس الجهد);
تأخير (10) ؛
}
كيفية استخدام جهاز تشفير دوار مع Arduino
تتطلب أجهزة التشفير الدوارة كودًا أكثر تعقيدًا من مقاييس الجهد ، ولكن لا يزال من السهل التعامل معها. يشتمل المشفر الدوار على خمسة دبابيس: أرضي ، و VCC ، ودبوس زر (SW) ، ومخرج A (CLK) ، ومخرج B (DT). تتصل المسامير الأرضية و VCC بالموصلات الأرضية وموصلات 5 فولت على Arduino ، على التوالي ، بينما تتصل دبابيس SW و CLK و BT بالموصلات الرقمية الفردية على Arduino.
كود Arduino Rotary Encoder
لجعل الكود الخاص بنا أبسط وأسهل في العمل ، سنستخدم مكتبة SimpleRotary Arduino التي أنشأتها MPrograms على جيثب. تأكد من تثبيت هذه المكتبة قبل البدء في العمل على التعليمات البرمجية الخاصة بك.
تمامًا مثل رمز مقياس الجهد الخاص بك ، يمكنك بدء برنامج التشفير الدوار الخاص بك باستخدام Arduino الأساسي يثبت() و حلقة() قالب الوظيفة. ابدأ بالإعلان عن مكتبة SimpleRotary وتعيين دبابيس التشفير الخاصة بك بهذا الترتيب ؛ CLK و DT و SW.
#يشمل
SimpleRotary دوار(1,2,3);
لست بحاجة إلى إضافة أي شيء إلى ملف يثبت() تعمل إلا إذا كنت ترغب في استخدام الشاشة التسلسلية لتشخيص جهاز التشفير الدوار الخاص بك.
فارغيثبت(){
مسلسل.يبدأ(9600);
}
ال حلقة() الوظيفة هي قصة مختلفة. يبدأ تحديد دوران عمود التشفير بـ a rotary.rotate () استدعاء الوظيفة الذي تم تعيينه إلى int عامل. إذا كانت النتيجة 1 ، فإن المشفر يدور في اتجاه عقارب الساعة. إذا كانت النتيجة 2 ، فإن المشفر يدور عكس اتجاه عقارب الساعة. ستكون النتيجة دائمًا 0 إذا لم يتم تشغيل برنامج التشفير منذ آخر فحص.
يمكنك استخدام لو عبارات لتشغيل رمز آخر اعتمادًا على اتجاه دوران المشفر.
فارغحلقة(){
int التشفير
encoderRotation = rotary.rotate () ،إذا (encoderRotation == 1) {
Serial.println ("في اتجاه عقارب الساعة");
}
إذا (encoderRotation == 2) {
Serial.println ("عكس عقارب الساعه");
}
}
تحتاج أيضًا إلى إضافة بعض التعليمات البرمجية لزر برنامج التشفير إلى ملف حلقة() وظيفة. هذه العملية متشابهة جدًا ، إلا أنك ستستخدم ملف rotary.push () وظيفة ، بدلا من rotary.rotate ().
فارغحلقة(){
int التشفير
encoderButton = rotary.push () ،
إذا (encoderButton == 1) {
Serial.println ("زر الضغط");
}
}
هذا البرنامج النصي بسيط للغاية ، ويمكنك فعل الكثير لجعله خاصًا بك. من الجدير مراجعة وثائق مشروع SimpleRotary للتأكد من أنك تستخدم جميع ميزاته الرئيسية. بمجرد تجميعها ، يجب أن يبدو رمز برنامج التشفير الخاص بك على هذا النحو.
#يشمل
SimpleRotary دوار(1,2,3);فارغيثبت(){
مسلسل.يبدأ(9600);
}فارغحلقة(){
int التشفير
encoderRotation = rotary.rotate () ،إذا (encoderRotation == 1) {
Serial.println ("في اتجاه عقارب الساعة");
}إذا (encoderRotation == 2) {
Serial.println ("عكس عقارب الساعه");
}int التشفير
encoderButton = rotary.push () ،
إذا (encoderButton == 1) {
Serial.println ("زر الضغط");
}
}
كيفية الاختيار بين مقاييس الجهد والتشفير الدوارة للمشاريع
كما ترى ، تعمل أجهزة التشفير الدوارة ومقاييس الجهد بشكل مختلف تمامًا. يمنحك كلا المكونين طرقًا جديدة للتحكم في مشاريعك الإلكترونية ، ولكن أيهما يجب أن تختار؟
مقاييس الجهد ميسورة التكلفة وسهلة الاستخدام ، ولكنها تسمح فقط بنطاق إدخال محدود. هذا يجعلها رائعة عندما تريد التحكم في سطوع LED ، أو رفع وخفض الطاقة التي تذهب إلى مكونات محددة ، ومهام أخرى مماثلة.
توفر أجهزة التشفير الدوارة نطاقًا أكبر بكثير من أجهزة قياس فرق الجهد. يعني إدراج زر الضغط أنها رائعة لأنظمة التحكم في القائمة ، كما هو واضح في العديد من السيارات الحديثة. أصبح هذا النوع من المكونات شائعًا جدًا في مساحة بناء لوحة المفاتيح الميكانيكية. يمكنك حتى بناء ماكروباد صغير مع برنامج تشفير مدمج.
مظهر مماثل ، مكونات مختلفة
مع كل هذه المعلومات تحت حزامك ، يجب أن تكون جاهزًا للبدء في مشروع إلكترونيات باستخدام مقياس جهد أو مشفر دوار. يمكن أن تمنحك هذه المكونات الكثير من التحكم في الدوائر التي تقوم بإنشائها ، ولكن عليك التأكد من اختيار الخيار الصحيح لمشروعك.