تحويل التناظرية إلى الرقمية (التناظرية قراءة المسلسل) - أساسيات Arduino

جرب أداة القضاء على المشاكل





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

المسلسل قراءة التناظرية

في هذا المثال ، نتعلم طريقة قراءة المدخلات التناظرية من جهاز خارجي مثل مقياس الجهد ، وهو جهاز كهروميكانيكي n مصمم لتنفيذ مقاومة متغيرة في دائرة من خلال التشغيل اليدوي.



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

سنرى هنا كيف يتم فرض ما سبق بعد إنشاء اتصال تسلسلي عبر Arduino والكمبيوتر المرتبط.



الأجهزة مطلوبة

لوحة اردوينو

10 كيلو أوم فرق الجهد

تشغيل الدائرة

كما هو موضح في الرسم البياني أعلاه ، قم بتوصيل الأسلاك الثلاثة الخارجة من الوعاء بمنافذ Arduino.

يتم تعيين سلك من أحد الخيوط الخارجية للوعاء مع الأرض أو الخط السالب للوحة.

يتم توصيل طرف الطرف الخارجي الحر الآخر مع + 5V للوحة.

ما تبقى هو المركز الرئيسي للوعاء ، والذي يتم إنهاءه إلى الإدخال التناظري للوحة Arduino.

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

على سبيل المثال ، عندما يتم تدوير ذراع التمرير باتجاه الرصاص + 5V ، يقترب المركز الرئيسي من 5V ويميل إلى الحصول على القيمة الكاملة لأنه يلامس الرصاص المخصص 5V. وبالمثل ، عندما يتم تحريك عمود التمرير باتجاه رصاص وعاء الأرض ، يميل المركز الرئيسي إلى تحقيق احتمال صفري.

تتم قراءة جهد الإمداد المتغير خطيًا أعلاه على السلك المركزي للوعاء من خلال إدخال اردوينو التناظري لتفسيره إلى مقاومة متغيرة مماثلة للوعاء.

يرفق Arduino بدائرة محول تناظرية إلى رقمية داخلية تفسر بشكل فعال حركة الوعاء أعلاه وتحولها إلى أرقام بين 0 و 1023.

ينتج عن موضع معين فوق عمود القدر عددًا نسبيًا بين 0 و 1023 يتم ترجمته بواسطة Arduino ، وبالنسبة للقيم النهائية 5V وصفر فولت ، من الواضح أن التفسيرات هي 0 و 1023.

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

الأمر المتوقع في الشكل:

Serial.begin (9600)

بعد ذلك ، في الحلقة الرئيسية للشفرة الخاصة بك ، نفرض متغيرًا من أجل إصلاح قيمة المقاومة (والتي ستتم مناقشتها بين 0 و 1023 ، مناسبة فقط لنوع بيانات int) المستلمة من العملاء المتوقعين:

int sensorValue = analogRead (A0)

في الختام ، اطبع هذه المعلومات إلى النافذة التسلسلية كقيمة عشرية (DEC). يمكنك استخدام الأمر Serial.println () لتنفيذ ذلك في السطر الأخير من التعليمات البرمجية:

Serial.println (sensorValue ، DEC)

بعد ذلك ، كلما تم بدء تشغيل Serial Monitor في مجال تطوير Arduino (يتم ذلك عن طريق النقر فوق الزر الموجود مباشرة على الجانب الأيمن من زر 'تحميل' في رأس البرنامج).

سنرى سلسلة ثابتة من الأرقام تمتد من 0-1023 ، تتوافق مع موضع الدوران المتغير لعمود القدر.

إذا أوقفنا دوران عمود القدر في لحظة ما ، فسيتم عرض الرقم الفوري المقابل على شاشة Arduino ، وسيتغير هذا مرة أخرى بشكل متناسب مع استمرارنا في تغيير موضع عمود القدر.

الرمز

/ *
القراءة التناظرية
يقرأ الإدخال التناظري على الطرف 0 ، ويطبع النتيجة على الشاشة التسلسلية.
قم بتوصيل الدبوس المركزي لمقياس الجهد بالدبوس A0 ، والمسامير الخارجية بـ +5 فولت والأرض.

رمز المثال هذا موجود في المجال العام.
* /

// يتم تشغيل روتين الإعداد مرة واحدة عند الضغط على إعادة تعيين:
الإعداد باطل() {
// تهيئة الاتصال التسلسلي بمعدل 9600 بت في الثانية:
Serial.begin (9600)
}

// يعمل روتين الحلقة مرارًا وتكرارًا إلى الأبد:
حلقة فارغة() {
// قراءة الإدخال على دبوس تمثيلي 0:
int sensorValue = analogRead (A0)
// اطبع القيمة التي تقرأها:
Serial.println (sensorValue)
تأخير (1) // تأخير بين القراءات من أجل الاستقرار
}




السابق: مراقبة حالة المحول (المسلسل الرقمي للقراءة) - أساسيات Arduino في المادة التالية: 1.25 فولت إلى 120 فولت