جدول المحتويات:
- الخطوة 1: المراجعة
- الخطوة 2: لماذا تقوم AnalogRead () بإرجاع قيمة بين 0 و 1023؟
- الخطوة 3: إذن ما هو عارف؟
- الخطوة 4: عارف خارجي
- الخطوة 5: عارف داخلي
فيديو: دبوس Arduino AREF: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
في هذا البرنامج التعليمي ، سنلقي نظرة على كيفية قياس الفولتية الأصغر بدقة أكبر باستخدام دبابيس الإدخال التناظرية على Arduino أو اللوحة المتوافقة مع دبوس AREF. ومع ذلك ، سنقوم أولاً بإجراء بعض المراجعة حتى تصل إلى السرعة. يرجى قراءة هذا المنشور بالكامل قبل العمل مع عارف للمرة الأولى.
الخطوة 1: المراجعة
قد تتذكر أنه يمكنك استخدام وظيفة Arduino analogRead () لقياس جهد التيار الكهربائي من أجهزة الاستشعار وما إلى ذلك باستخدام أحد دبابيس الإدخال التناظرية. ستكون القيمة المعادة من analogRead () بين صفر و 1023 ، مع صفر يمثل صفر فولت و 1023 يمثل جهد التشغيل للوحة Arduino قيد الاستخدام.
وعندما نقول جهد التشغيل - هذا هو الجهد المتاح لأردوينو بعد دائرة إمداد الطاقة. على سبيل المثال ، إذا كان لديك لوحة Arduino Uno نموذجية وقمت بتشغيلها من مقبس USB - بالتأكيد ، هناك 5 فولت متاح للوحة من مقبس USB على جهاز الكمبيوتر أو المحور - ولكن الجهد ينخفض قليلاً مع الرياح الحالية حول الدائرة إلى وحدة التحكم الدقيقة - أو مصدر USB ليس جاهزًا للخدش.
يمكن إثبات ذلك بسهولة عن طريق توصيل Arduino Uno بـ USB ووضع مجموعة متعددة المقاييس لقياس الجهد عبر دبابيس 5V و GND. ستعود بعض اللوحات منخفضة تصل إلى 4.8 فولت ، وبعضها أعلى ولكن لا يزال أقل من 5 فولت. لذلك ، إذا كنت تسعى للحصول على الدقة ، فقم بتشغيل لوحتك من مصدر طاقة خارجي عبر مقبس DC أو دبوس Vin - مثل 9V DC. ثم بعد ذلك يمر عبر دائرة منظم الطاقة ، سيكون لديك 5 فولت لطيف ، على سبيل المثال الصورة.
هذا مهم لأن دقة أي قيم analogRead () ستتأثر بعدم وجود 5 فولت حقيقي إذا لم يكن لديك أي خيار ، يمكنك استخدام بعض الرياضيات في الرسم الخاص بك للتعويض عن انخفاض الجهد. على سبيل المثال ، إذا كان جهدك 4.8 فولت - فإن النطاق التناظري للقراءة () من 0 ~ 1023 سوف يرتبط بـ 0 ~ 4.8 فولت وليس 0 ~ 5 فولت. قد يبدو هذا تافهًا ، ولكن إذا كنت تستخدم مستشعرًا يُرجع قيمة كجهد كهربائي (على سبيل المثال ، مستشعر درجة الحرارة TMP36) - ستكون القيمة المحسوبة خاطئة. لذلك من أجل الدقة ، استخدم مصدر طاقة خارجي.
الخطوة 2: لماذا تقوم AnalogRead () بإرجاع قيمة بين 0 و 1023؟
هذا يرجع إلى قرار ADC. الدقة (لهذه المقالة) هي الدرجة التي يمكن بها تمثيل شيء ما عدديًا. كلما زادت الدقة ، زادت الدقة التي يمكن بها تمثيل شيء ما. نقيس الدقة من حيث عدد بتات القرار.
على سبيل المثال ، تسمح الدقة 1 بت فقط بقيمتين (اثنان أس واحد) - صفر وواحد. تسمح الدقة المكونة من 2 بت بأربع قيم (اثنان أس اثنين) - صفر وواحد واثنان وثلاثة. إذا حاولنا قياس نطاق خمسة فولت بدقة ثنائية بت ، وكان الجهد المقاس أربعة فولت ، فإن ADC الخاص بنا سيعيد القيمة العددية لـ 3 - حيث تقع أربعة فولت بين 3.75 و 5 فولت. من الأسهل تخيل هذا مع الصورة.
لذلك مع مثالنا ADC بدقة 2 بت ، يمكن فقط تمثيل الجهد بأربع قيم ناتجة محتملة. إذا انخفض جهد الدخل بين 0 و 1.25 ، فإن ADC ترجع 0 رقميًا ؛ إذا انخفض الجهد الكهربي بين 1.25 و 2.5 ، فإن ADC ترجع قيمة عددية قدرها 1. وهكذا. مع نطاق ADC الخاص بـ Arduino من 0 إلى 1023 - لدينا 1024 قيمة محتملة - أو 2 إلى قوة 10. لذا فإن Arduinos لدينا لديه ADC بدقة 10 بت.
الخطوة 3: إذن ما هو عارف؟
لقص قصة طويلة ، عندما يأخذ Arduino قراءة تناظرية ، فإنه يقارن الجهد المقاس عند الدبوس التماثلي المستخدم مقابل ما يعرف بالجهد المرجعي. في الاستخدام العادي للقراءة التناظرية ، الجهد المرجعي هو جهد التشغيل للوحة.
بالنسبة للوحات Arduino الأكثر شهرة مثل لوحات Uno و Mega و Duemilanove و Leonardo / Yún ، فإن جهد التشغيل يبلغ 5 فولت. إذا كان لديك لوحة Arduino Due ، فإن جهد التشغيل هو 3.3 فولت. إذا كان لديك شيء آخر - تحقق من صفحة منتج Arduino أو اسأل مورد اللوحة الخاصة بك.
لذلك إذا كان لديك جهد مرجعي يبلغ 5 فولت ، فإن كل وحدة يتم إرجاعها بواسطة analogRead () تقدر بقيمة 0.00488 فولت (يتم حساب ذلك بقسمة 1024 على 5 فولت). ماذا لو أردنا قياس الفولتية بين 0 و 2 ، أو 0 و 4.6؟ كيف يعرف ADC ما هو 100٪ من نطاق الجهد لدينا؟
وهنا يكمن سبب دبوس عارف. عارف تعني مرجع تناظري. يسمح لنا بتغذية Arduino بجهد مرجعي من مصدر طاقة خارجي. على سبيل المثال ، إذا أردنا قياس الفولتية بحد أقصى 3.3 فولت ، فسنقوم بإدخال 3.3 فولت سلس لطيف في دبوس AREF - ربما من منظم الجهد IC.
ثم تمثل كل خطوة من خطوات ADC حوالي 3.22 مللي فولت (قسِّم 1024 إلى 3.3). لاحظ أن أقل جهد مرجعي يمكنك الحصول عليه هو 1.1 فولت. هناك نوعان من أشكال AREF - داخلي وخارجي ، لذلك دعونا نتحقق منها.
الخطوة 4: عارف خارجي
AREF الخارجي هو المكان الذي تزود فيه جهدًا مرجعيًا خارجيًا للوحة Arduino. يمكن أن يأتي هذا من مصدر طاقة منظم ، أو إذا كنت بحاجة إلى 3.3 فولت ، فيمكنك الحصول عليه من دبوس Arduino's 3.3V. إذا كنت تستخدم مصدر طاقة خارجيًا ، فتأكد من توصيل GND بدبوس GND الخاص بـ Arduino. أو إذا كنت تستخدم مصدر Arduno 3.3 فولت - فقط قم بتشغيل وصلة مرور من دبوس 3.3 فولت إلى دبوس AREF.
لتنشيط برنامج AREF الخارجي ، استخدم ما يلي في الإعداد الباطل ():
analogReference (خارجي) ؛ // استخدم عارف للجهد المرجعي
يقوم هذا بتعيين الجهد المرجعي لكل ما قمت بتوصيله بمسمار AREF - والذي سيكون له بالطبع جهد كهربي بين 1.1 فولت والجهد التشغيلي للوحة. ملاحظة مهمة جدًا - عند استخدام مرجع جهد خارجي ، يجب عليك ضبط المرجع التناظري على خارجي قبل استخدام analogRead (). سيمنعك هذا من تقصير الجهد المرجعي الداخلي النشط ودبوس AREF ، مما قد يؤدي إلى تلف وحدة التحكم الدقيقة على اللوحة. إذا لزم الأمر للتطبيق الخاص بك ، يمكنك العودة إلى جهد تشغيل اللوحة لـ AREF (أي - العودة إلى الوضع الطبيعي) مع ما يلي
التناظرية المرجع (الافتراضي) ؛
الآن لشرح عارف الخارجي في العمل. باستخدام AREF 3.3 فولت ، يقيس الرسم التالي الجهد من A0 ويعرض النسبة المئوية لإجمالي AREF والجهد المحسوب:
# تضمين "LiquidCrystal.h"
LiquidCrystal LCD (8 ، 9 ، 4 ، 5 ، 6 ، 7) ؛
المدخلات التناظرية int = 0 ؛ // دبوس لدينا التناظرية
int analogamount = 0 ؛ // يخزن النسبة المئوية لتعويم القيمة الواردة = 0 ؛ // المستخدمة لتخزين قيمة النسبة المئوية للجهد العائم = 0 ؛ // تستخدم لتخزين قيمة الجهد
الإعداد باطل()
{lcd.begin (16، 2) ؛ analogReference (خارجي) ؛ // استخدم AREF للجهد المرجعي}
حلقة فارغة()
{lcd.clear () ، analogamount = analogRead (إدخال تناظري) ؛ النسبة المئوية = (القيمة التناظرية / 1024.00) * 100 ؛ الجهد = التناظرية * 3.222 ؛ // بالميليفولت lcd.setCursor (0 ، 0) ؛ lcd.print ("٪ من AREF:") ؛ lcd.print (النسبة المئوية ، 2) ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("A0 (بالسيارات):") ؛ lcd.println (الجهد ، 2) ؛ تأخير (250) ؛ }
تظهر نتائج الرسم أعلاه في الفيديو.
الخطوة 5: عارف داخلي
يمكن أيضًا للميكروكونترولر الموجودة على لوحات Arduino أن تولد جهدًا مرجعيًا داخليًا يبلغ 1.1 فولت ويمكننا استخدامه في أعمال AREF. ببساطة استخدم الخط:
تمثيلي المرجع (داخلي) ؛
بالنسبة للوحات Arduino Mega ، استخدم:
المرجع التناظري (INTERNAL1V1) ؛
في الإعداد باطل () وأنت خارج. إذا كان لديك Arduino Mega ، فهناك أيضًا جهد مرجعي 2.56V متاح والذي يتم تنشيطه باستخدام:
المرجع التناظري (INTERNAL2V56) ؛
أخيرًا - قبل الاستقرار على النتائج من دبوس AREF الخاص بك ، قم دائمًا بمعايرة القراءات مقابل مقياس متعدد جيد معروف.
استنتاج
تمنحك وظيفة AREF مزيدًا من المرونة في قياس الإشارات التناظرية.
هذا المنشور يقدمه لك pmdway.com - كل شيء للصانعين وعشاق الإلكترونيات ، مع التوصيل المجاني في جميع أنحاء العالم.
موصى به:
موصل ICSP لـ Arduino Nano بدون رأس دبوس ملحوم ولكن دبوس بوجو: 7 خطوات
موصل ICSP لـ Arduino Nano بدون رأس دبوس ملحوم لكن Pogo Pin: قم بعمل موصل ICSP لـ Arduino Nano بدون رأس دبوس ملحوم على اللوحة ولكن Pogo Pin. الأجزاء 3 × 2 Pin Socket x1 - APitch 2.54mm - BP75-E2 (رأس مخروطي 1.3 ملم) اختبار الربيع مسبار بوجو دبوس
كيفية قراءة القيم التناظرية المتعددة باستخدام دبوس تمثيلي واحد: 6 خطوات (بالصور)
كيفية قراءة القيم التناظرية المتعددة باستخدام دبوس تمثيلي واحد: في هذا البرنامج التعليمي ، سأوضح لك كيفية قراءة قيم تناظرية متعددة باستخدام دبوس إدخال تمثيلي واحد فقط
دبوس طية صدر السترة "على الهواء" بلوتوث: 7 خطوات (مع صور)
Bluetooth "On Air" Lapel Pin: كنت أعمل في مشروع غير ذي صلة يستخدم تقنية Bluetooth ، وكان علي اختبار الاتصال ، لذلك قمت ببناء إحدى دوائر اختبار Arduino. يحتوي المصباح على جميع الأجهزة الإلكترونية ووحدة التحكم الدقيقة والبطارية التي يمكن إعادة شحنها عبر USB. تستخدم
أكثر من 100 مفتاح في دبوس واحد من Arduino: 6 خطوات (بالصور)
أكثر من 100 مفتاح في دبوس واحد من Arduino: مقدمة هل نفدت دبابيس الإدخال؟ لا تقلق ، إليك حل بدون أي سجلات نوبات. في هذا الفيديو ، سنتعرف على كيفية توصيل أكثر من 100 مفتاح بدبوس واحد من Arduino
أوامر AT لوحدة Bluetooth (HC-05 W / EN دبوس وزر) باستخدام لوحة Arduino!: 5 خطوات
أوامر AT لوحدة البلوتوث (HC-05 W / EN Pin and BUTTON) باستخدام لوحة Arduino!: بواسطة Jay Amiel AjocGensan PH سوف تساعدك هذه التعليمات على البدء في استخدام وحدة البلوتوث HC05 الخاصة بك ، وبنهاية هذه التعليمات ، ستكون قد تعلمت حول إرسال أوامر AT إلى الوحدة النمطية لتكوينها / تعديلها (الاسم ، مفتاح المرور ، الباود ra