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

عرض مقياس جهد بسيط قائم على Arduino مع ردود فعل تفاضلية: 7 خطوات (بالصور)
عرض مقياس جهد بسيط قائم على Arduino مع ردود فعل تفاضلية: 7 خطوات (بالصور)

فيديو: عرض مقياس جهد بسيط قائم على Arduino مع ردود فعل تفاضلية: 7 خطوات (بالصور)

فيديو: عرض مقياس جهد بسيط قائم على Arduino مع ردود فعل تفاضلية: 7 خطوات (بالصور)
فيديو: Introduction to HT16K33 4 Digit LED Seven Segment Display with Arduino 2024, شهر نوفمبر
Anonim
عرض مقياس الجهد البسيط المستند إلى Arduino مع ردود الفعل التفاضلية
عرض مقياس الجهد البسيط المستند إلى Arduino مع ردود الفعل التفاضلية
عرض مقياس الجهد البسيط المستند إلى Arduino مع ردود الفعل التفاضلية
عرض مقياس الجهد البسيط المستند إلى Arduino مع ردود الفعل التفاضلية
عرض مقياس الجهد البسيط المستند إلى Arduino مع ردود الفعل التفاضلية
عرض مقياس الجهد البسيط المستند إلى Arduino مع ردود الفعل التفاضلية

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

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

إذا كان هذا يبدو مجرّدًا بعض الشيء ، فانتقل إلى الخطوة 7 للحصول على تفاصيل حول ما ستظهره الشاشة المكتملة

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

الخطوة 1: قائمة الأجزاء

قائمة الأجزاء
قائمة الأجزاء

دعنا ننتقل إلى قائمة الأشياء التي تحتاجها:

معالج دقيق متوافق مع اردوينو

إلى حد كبير ، فإن أي بطاقة Arduino تم بيعها خلال السنوات القليلة الماضية ستفي بالغرض. لا يهم المتغير الدقيق (Uno / Nano / Pro Mini ، 8 أو 16 ميجا هرتز ، 3.3. أو 5 فولت). ومع ذلك ، ستحتاج إلى معالج ATMEGA328 أو أفضل ، لأننا سنستخدم ما يقرب من 2 كيلو بايت من ذاكرة الوصول العشوائي و 1 كيلو بايت من EEPROM. إذا كنت معتادًا على مداخل ومخارج عالم Arduino ، فإنني أوصي باستخدام Pro Mini عند 3.3 فولت ، حيث سيكون أرخص وأكثر كفاءة في استخدام البطارية. إذا كنت جديدًا (نسبيًا) على Arduino ، فإنني أوصي بـ "Nano" لأنه يوفر نفس وظائف "Uno" في حزمة أصغر وأرخص.

لاحظ أن هذا الدليل لن يخبرك بالأساسيات ذاتها. يجب أن يكون لديك برنامج Arduino مثبتًا على الأقل ، ومعرفة كيفية توصيل Arduino وتحميل رسم تخطيطي. إذا لم تكن لديك فكرة عما أتحدث عنه ، فاقرأ هذين الدرسين السهلين ، أولاً: أولاً ، ثانيًا.

شاشة عرض 128 * 64 بيكسل SSD1306 OLED (متغير I2C ، أي أربعة دبابيس)

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

  • "لوح توصيل غير ملحوم" وبعض أسلاك التوصيل لبناء النموذج الأولي الخاص بك
  • مكثف سيراميك 100nF (قد تكون هناك حاجة أو لا ؛ انظر الخطوة 4)
  • إما بعض مقاطع التمساح ، أو المغناطيس ، ومفتاح القصب وبعض الكابلات (انظر الخطوة 4)
  • مصباح LED أحمر وأخضر ، كل منهما (اختياري ، راجع الخطوة 5)
  • اثنان من المقاومات 220 أوم (في حالة استخدام المصابيح)
  • زر ضغط (اختياري أيضًا)
  • بطارية مناسبة (انظر الخطوة 6)

الخطوة 2: توصيل جهاز العرض

توصيل الشاشة
توصيل الشاشة

كأول شيء ، سنقوم بتوصيل الشاشة بـ Arduino. تعليمات مفصلة متوفرة. ومع ذلك ، من السهل حقًا توصيل SSD1306:

  1. عرض VCC -> Arduino 3.3V أو 5V (كلاهما سيفعل)
  2. عرض Gnd -> Arduino Gnd
  3. عرض SCL -> Arduino A5
  4. عرض SCA -> Arduino A4

بعد ذلك ، في بيئة Arduino الخاصة بك ، انتقل إلى Sketch-> Include library-> Manage libraries ، وقم بتثبيت "Adafruit SSD1306". لسوء الحظ ، سيتعين عليك تحرير المكتبة لتهيئتها لمتغير 128 * 64 بكسل: حدد موقع مجلد مكتبات arduino ، وقم بتحرير "Adafruit_SSD1306 / Adafruit_SSD1306.h". ابحث عن "#define SSD1306_128_32" ، وقم بتعطيل هذا الخط ، وقم بتمكين "#define SSD1306_128_64" ، بدلاً من ذلك.

في هذه المرحلة ، يجب عليك تحميل ملف-> أمثلة-> Adafruit SSD1306-> ssd1306_128x64_i2c لاختبار توصيل الشاشة بشكل صحيح. لاحظ أنه قد تضطر إلى ضبط عنوان I2C. يبدو أن 0x3C هي القيمة الأكثر شيوعًا.

في حالة حدوث مشكلة ، راجع التعليمات الأكثر تفصيلاً.

الخطوة 3: قم بتحميل المخطط

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

إذا كان عليك تعديل عنوان I2C في الخطوة السابقة ، فسيتعين عليك إجراء نفس الضبط ، مرة أخرى ، الآن ، في السطر الذي يبدأ بـ "display.begin".

بعد التحميل ، سترى بعض الأصفار تظهر على الشاشة. سننظر في معنى الأقسام المختلفة للعرض ، بعد توصيل كل شيء آخر.

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

الخطوة 4: توصيل مقياس الجهد

توصيل مقياس الجهد
توصيل مقياس الجهد

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

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

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

قم بتوصيل السلكين (سواء كان خاصًا بك أو من مستشعر موجود) وسيذهب إلى Arduino Gnd و Arduino pin D2. إذا كان لديك واحد في متناول اليد ، فقم أيضًا بتوصيل مكثف 100nF بين الدبوس D2 و Gnd لبعض "الإزالة". قد يكون هذا ضروريًا وقد لا يكون ، ولكنه يساعد في استقرار القراءات.

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

الخطوة 5: مؤشرات LED الاختيارية للحالة السريعة

مصابيح LED اختيارية للحالة السريعة
مصابيح LED اختيارية للحالة السريعة

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

  • قم بتوصيل أول مؤشر LED (أحمر) بالدبوس D6 (يذهب الجزء الأطول من مؤشر LED إلى Arduino). قم بتوصيل الجزء القصير من LED بـ Gnd عبر المقاوم 220Ohms. سوف يضيء هذا المؤشر ، عندما تكون أقل بنسبة 10٪ أو أكثر من أفضل سرعة لديك في المرحلة الحالية من التدريب. حان الوقت لبذل المزيد من الجهد!
  • قم بتوصيل مؤشر LED الثاني (الأخضر) بالدبوس D5 ، مرة أخرى باستخدام المقاوم بـ Gnd. سيضيء هذا المؤشر ، عندما تكون في نطاق 1٪ أو أعلى من أفضل شوط لك. تفعلونه جيد!

هل تريد أن تضيء مصابيح LED اعتمادًا على طريقة أدائك مقارنةً بالتشغيل السابق ، أو بعض السرعة المتوسطة التعسفية؟ حسنًا ، ما عليك سوى توصيل زر ضغط بين الدبوس D4 و Gnd. باستخدام هذا الزر ، يمكنك تبديل المرجع بين "أفضل تشغيل لك" أو "تشغيلك السابق" أو "سرعتك الحالية". الحرف الصغير "P" أو "C" في الزاوية اليسرى السفلية سيشير إلى الوضعين الأخيرين.

الخطوة 6: تشغيل شاشة مقياس الجهد

تشغيل شاشة مقياس الجهد
تشغيل شاشة مقياس الجهد

هناك العديد من الطرق لتشغيل شاشتك ، لكنني سأشير إلى طريقتين تبدوان أكثر عملية من غيرها:

  1. عند استخدام Arduino Uno أو Nano ، ربما ترغب في تشغيله باستخدام بنك طاقة USB مع مؤشر بطارية منخفض مدمج.
  2. عند استخدام Arduino Pro Mini @ 3.3V (توصيتي للمستخدمين المتقدمين) ، يمكنك تشغيل ذلك مباشرةً من بطارية LiPo واحدة أو ثلاث خلايا NiMH. نظرًا لأن ATMEGA سيتحمل جهد إمداد يصل إلى 5.5 فولت ، يمكنك توصيل هذا بـ "VCC / ACC" ، مباشرة ، متجاوزًا منظم الجهد الموجود على اللوحة. في هذا الإعداد ، سيكون هناك أيضًا تحذير "البطارية المنخفضة" عند حوالي 3.4 فولت ، بدون أي أجهزة إضافية (معروضة في الزاوية اليمنى السفلية). نظرًا لأنه من المتوقع أن تعمل ATMEGA بشكل صحيح ، على الأقل حتى 3.0 فولت أو نحو ذلك ، يجب أن يتيح لك ذلك وقتًا كافيًا لإنهاء وحدة التدريب الخاصة بك قبل إعادة الشحن.

الخطوة 7: استخدام شاشة مقياس الجهد

استخدام شاشة مقياس الجهد
استخدام شاشة مقياس الجهد
استخدام شاشة مقياس الجهد
استخدام شاشة مقياس الجهد

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

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

حتى الآن تافهة جدا. الخطان الآخران على الجانب الأيمن هما المكان الذي يصبح فيه مثيرًا للاهتمام: يقارن هذان التوقيت الحالي بتدريباتك السابقة وأفضل تدريباتك ، على التوالي. بمعنى آخر. يعني "- 0:01:23" في الجزء العلوي من هذه السطور أنك وصلت إلى المسافة الحالية قبل دقيقة واحدة و 23 ثانية من التشغيل السابق. حسن. يعني السطر السفلي من "+ 0:00:12" أنه حتى النقطة الحالية ، تتخلف 12 ثانية عن أفضل شوط لك. (لاحظ أن هذه الأوقات التفاضلية لن تكون دقيقة بنسبة 100٪. يتم تخزين النقاط الزمنية كل 0.5 كم / ميل ، ويتم إقحامها بين ذلك.) لا مفر منه ، بالطبع ، في أول تشغيل لك ، لم يتم تسجيل مراجع زمنية ، حتى الآن ، و لذلك سيظهر كلا السطرين أعلاه فقط "-: -: -".

أخيرًا ، تحتوي المنطقة اليسرى السفلية من الشاشة على رسم بياني لسرعتك خلال الدقيقة الأخيرة. يتيح لك ذلك أن ترى في لمحة ، ما إذا كنت تسير بثبات أو تبطئ. (لاحظ أن هذا الخط سيكون أكثر سلاسة في التدريب الحقيقي - ولكن ليس من السهل الحفاظ على وتيرة ثابتة أثناء محاولة التقاط صورة …) تشير الخطوط الأفقية إلى السرعة السابقة / الأفضل التي حققتها بالقرب من النقطة الحالية للسابق التدريبات.

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

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

عندما تنتهي من تدريبك ، فقط افصل البطارية. تم حفظ تدريبك بالفعل في EEPROM الداخلي الخاص بـ Arduino.

كما ترون ، انتهى بي الأمر بلحام النموذج الأولي الخاص بي. تأكد من أنني أحببت النتيجة بنفسي. آمل أن تجده مفيدًا أيضًا. ممارسة سعيدة!

موصى به: