جدول المحتويات:
- الخطوة 1: التدفق النبضي لجهاز التشفير الدوار
- الخطوة 2: Pinout of Rotary Encoder
- الخطوة 3: التخطيطي
- الخطوة 4: الكود
- الخطوة الخامسة: الشرح
- الخطوة 6: الإخراج
فيديو: البرنامج التعليمي للتشفير الدوراني مع Arduino: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
جهاز التشفير الدوار هو مكون إلكتروني قادر على مراقبة الحركة والموقع عند الدوران. يستخدم المشفر الدوار أجهزة استشعار بصرية يمكنها توليد نبضات عندما يدور المشفر الدوار. يمكن أيضًا استخدام تطبيق المشفر الدوار كجهاز مراقبة حركة ميكانيكي أو آلي لاختيار القائمة على الشاشة. يحتوي المشفر الدوار على ناتجين بحيث يمكنه التمييز بين الدوران السلبي (CW) والإيجابي (CCW) ولديه أيضًا زر واحد.
الخطوة 1: التدفق النبضي لجهاز التشفير الدوار
إن تدفق النبض الناتج عن المشفر الدوار التالي يشبه الصورة أعلاه.
الخطوة 2: Pinout of Rotary Encoder
تفسير:
- GND GND
- + + 5 فولت
- زر SW لجهاز التشفير الدوار عند الضغط عليه
- بيانات DT
- بيانات CLK 2
يجب توصيل أحد دبابيس DT أو CLK بقاعدة المقاطعة في Arduino Uno ، أو أن كلا من DT و CLK متصلان بدبوس المقاطعة.
الخطوة 3: التخطيطي
- GND à GND اردوينو أونو
- + à + 5V اردوينو أونو
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
الخطوة 4: الكود
في البرنامج التعليمي التالي ، والذي سيتم استخدامه كمقاطعة هو PIN 2 من Arduino Uno ، بينما يتم استخدام PIN 3 فقط كمدخل منتظم.
# تعريف encoder0PinA 2 # تعريف encoder0PinB 3 # تعريف encoder0Btn 4 int encoder0Pos = 0 ؛ إعداد باطل () {Serial.begin (9600) ؛ pinMode (encoder0PinA ، INPUT_PULLUP) ؛ pinMode (encoder0PinB ، INPUT_PULLUP) ؛ pinMode (encoder0Btn ، INPUT_PULLUP) ؛ attachInterrupt (0، doEncoder، CHANGE)؛ } int valRotary، lastValRotary؛ حلقة باطلة () {int btn = digitalRead (encoder0Btn) ؛ Serial.print (btn) ؛ Serial.print ("") ؛ Serial.print (ValRotary) ؛ if (valRotary> lastValRotary) {Serial.print ("CW") ؛ } إذا (valRotary {
Serial.print ("CCW") ؛
} lastValRotary = valRotary ؛ Serial.println ("") ؛ تأخير (250) ؛ } doEncoder () باطل {if (digitalRead (encoder0PinA) == digitalRead (encoder0PinB)) {encoder0Pos ++ ؛ } آخر {encoder0Pos-- ؛ } valRotary = encoder0Pos / 2.5 ؛ }
في السطر 10 من الرسم أعلاه يستخدم لتمكين مقاطعة pin 2 Arduino Uno. في دالة "doEncoder" يتم حسابها من المشفر الدوار. إذا كانت قيمة DT و CLK (مقاطعة دبوس Arduino Uno) هي نفسها ، فسيتم زيادة / إضافة متغير "encoder0Pos" ، بالإضافة إلى هذا الشرط ، يتم إنقاص متغير "encoder0Pos".
الخطوة الخامسة: الشرح
قيمة ValRotary هي قيمة عدد الخطوات التي تم تشغيلها. يتم الحصول على قيمة ValRotary من قيمة قراءة مشفر المستشعر الدوار مقسومة على 2.5. يتم الحصول على قيمة 2.5 من الاختبار ، نظرًا لأن خطوة واحدة من المشفر الدوار قد تتجاوز 1 ، لذا اقسم على 2.5 لقيمتها وفقًا للخطوة وكذلك إضافة تأخير القراءة.
بينما في السطر 19-25 هو برنامج لتحديد ما إذا كان المشفر الدوار CW أو CCW. تفسير الأسطر 19-25 هو عندما تكون قراءات المشفر الدوار الحالية أكبر من البيانات الدورانية السابقة ثم يتم التعبير عنها على أنها CW. بينما إذا كانت القراءة الحالية أصغر من القراءة السابقة ، فسيتم ذكرها على أنها CCW.
الخطوة 6: الإخراج
1 = قيمة زر بدء الدوار عند عدم الضغط عليه
موصى به:
التحكم في محرك DC مع وحدة الاستشعار البصري للتشفير FC-03: 7 خطوات
التحكم في محرك DC مع وحدة المستشعر البصري للتشفير FC-03: في هذا البرنامج التعليمي سوف نتعلم كيفية حساب مقاطعات المشفر البصري باستخدام محرك DC وشاشة OLED و Visuino. شاهد الفيديو
Arduino Nano - TSL45315 البرنامج التعليمي لمستشعر الضوء المحيط: 4 خطوات
Arduino Nano - TSL45315 البرنامج التعليمي لمستشعر الإضاءة المحيطة: TSL45315 هو مستشعر رقمي للضوء المحيط. إنه يقترب من استجابة عين الإنسان في ظل مجموعة متنوعة من ظروف الإضاءة. تحتوي الأجهزة على ثلاث أوقات تكامل قابلة للتحديد وتوفر إخراجًا مباشرًا يبلغ 16 بت لوكس عبر واجهة ناقل I2C. شارك الجهاز
كيفية التحكم في WS2812 RGB LED (NeoPixel) W / Arduino [البرنامج التعليمي]: 10 خطوات
كيفية التحكم في WS2812 RGB LED (NeoPixel) W / Arduino [درس تعليمي]: نظرة عامة تُستخدم مصابيح NewPixel LED على نطاق واسع هذه الأيام في المشاريع الإلكترونية ، نظرًا لتأثيراتها المرئية الجذابة. تتوفر مصابيح LED هذه بأحجام وأشكال مختلفة وفي شكل شريط. في هذا البرنامج التعليمي ، ستتعرف على مصابيح NeoPixel LED وكيف يمكن
البرنامج التعليمي لواجهة مستشعر البوصلة HMC5883L مع Arduino: 10 خطوات (بالصور)
البرنامج التعليمي للواجهة HMC5883L مستشعر البوصلة مع Arduino: الوصف HMC5883L عبارة عن بوصلة رقمية ثلاثية المحاور تستخدم لغرضين عامين: لقياس مغنطة مادة مغناطيسية مثل المغناطيس الحديدي ، أو لقياس القوة ، وفي بعض الحالات ، اتجاه مجال مغناطيسي عند نقطة في ثانية
البرنامج التعليمي: كيفية استخدام مستشعر كاشف الألوان RGB TCS230 مع Arduino UNO: 3 خطوات
البرنامج التعليمي: كيفية استخدام مستشعر RGB Color Detector TCS230 مع Arduino UNO: الوصف: سيوضح لك هذا البرنامج التعليمي بعض الخطوات البسيطة حول كيفية استخدام مستشعر RGB Color Detector باستخدام Arduino Uno. في نهاية هذا البرنامج التعليمي ، سوف تحصل على عدد من نتائج المقارنة بين عدد قليل من الألوان. CS3200 s تفاصيل كاملة للألوان