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

في هذا المشروع، سنستخدم لوحة أردوينو لقراءة الجهد من مقاومة متغيرة متصلة بأحد دبابيس الإدخال التناظري. ستتيح لنا المقاومة المتغيرة تغيير الجهد، والذي سنقوم بعد ذلك بتحويله إلى تنسيق قابل للقراءة وعرضه على شاشة السيريال. بالإضافة إلى ذلك، سنقوم بتوسيع الوظائف لحساب قيمة المقاومة بناءً على قراءة الجهد، مما يوفر فهماً شاملاً لكيفية عمل المقاومات المتغيرة مع الأردوينو.
للمزيد من التوضيح حول الخطوات وتنفيذ الشيفرة، تأكد من مشاهدة الفيديو (في الفيديو عند :00).
شرح الأجهزة
المكونات الرئيسية في هذا المشروع هي لوحة الأردوينو والمقاوم المتغير. الأردوينو هو منصة متحكم دقيق تتيح لك قراءة إشارات الإدخال والتحكم في المخرجات بسهولة. في هذه الحالة، سيقوم بقراءة الجهد التناظري من المقاوم المتغير.
المقاوم المتغير هو مقاوم يمكنه تعديل مقاومته بناءً على موضع المسّاحة. عند توصيله بمصدر جهد، يقوم بتقسيم الجهد عبر أطرافه، مما يتيح لك إخراج جهد متغير يمكن قراءته بواسطة المدخل التناظري للاردوينو.
تفاصيل ورقة البيانات
| المصنع | متنوع |
|---|---|
| رقم الجزء | مقياس الجهد |
| نطاق المقاومة | 0 - 1 مΩ |
| تصنيف القدرة | 0.1 واط |
| نطاق درجة الحرارة | -40 إلى 85 درجة مئوية |
| نوع | خطية أو لوغاريتمية |
- تأكد من توصيل المقاومة المتغيرة بشكل صحيح لتجنب قراءات الفولتية غير الصحيحة.
- استخدم مقياس متعدد للتحقق من قيمة المقاومة للموالف قبل توصيله بالاردوينو.
- احتفظ بالمقاوم المتغير ضمن قدرته المحددة لمنع ارتفاع درجة الحرارة.
- استخدم مكثفات فصل مناسبة إذا لزم الأمر لتصفية الضوضاء في القراءات.
- كن حذرًا بشأن المدخلات العائمة؛ دائمًا قم بتوصيل الدبابيس غير المستخدمة بالأرض.
تعليمات التوصيل

لتوصيل المتغير إلى الأردوينو، ابدأ بتوصيل أحد طرفي المتغير إلى دبوس 5 فولت على الأردوينو والطرف الآخر إلى دبوس الأرض (GND). يجب توصيل الدبوس الأوسط للمتغير، وهو المساحات، بدبوس الإدخال التناظري.A0على الأردوينو. يتيح هذا الإعداد للأردوينو قراءة خرج الجهد المتغير من المقاومة المتغيرة.

إذا كنت تستخدم دبوس تناظري مختلف، تأكد من تحديث رقم الدبوس المقابل في الكود الخاص بك. على سبيل المثال، إذا قمت بتوصيل المساحات بـA1، ستحتاج إلى تغيير الكود لقراءة منA1بدلاً منA0.
أمثلة الشيفرة وشرح الخطوات
void setup() {
Serial.begin(9600); // setup serial
}
void loop() {
int sensorValue = analogRead(A0); // Read from A0
float voltage = sensorValue * (5.0 / 1023.0); // Convert to voltage
Serial.print("Voltage ="); // prints the text "Voltage ="
Serial.print(voltage);
Serial.println();
delay(300);
}
يقوم هذا الجزء من الشيفرة بتهيئة الاتصال التسلسلي ويقرأ باستمرار القيمة التناظرية من الدبوسA0. يقوم بتحويل القراءة التناظرية (0 إلى 1023) إلى جهد (0 إلى 5 فولت) ويطبعها على شاشة السيريال.
float RT = 50000; // the potentiometer value
float R; // the unknown R value
void loop() {
int sensorValue = analogRead(A0); // Read from A0
float voltage = sensorValue * (5.0 / 1023.0); // Convert to voltage
R = (voltage * RT) / 5.0; // Calculate resistance
Serial.print("Voltage ="); // prints the text "Voltage ="
Serial.print(voltage);
Serial.print("v R=");
Serial.print(R);
Serial.print(" ohms");
Serial.println();
delay(300);
}
تقوم هذه الشيفرة الثانية ببناء على الأولى من خلال إضافة حسابات لقيمة المقاومة بناءً على قراءة الجهد. تستخدم القيمة المعروفة للمقاومة للمواتير.RTويحسب المقاومة المجهولةRباستخدام المعادلة المستمدة من قانون أوم.
عرض / ماذا تتوقع
عند تشغيل البرنامج، يجب أن تتوقع رؤية قيم الجهد مطبوعة في شاشة السيريال، والتي ستتغير مع تعديلك لمقاومة الجهد. ستظهر المخرجات أيضًا قيمة المقاومة المحسوبة بناءً على قراءة الجهد. كن حذرًا لتجنب توصيلات القطبية المعكوسة، حيث يمكن أن يؤدي ذلك إلى قراءات غير صحيحة أو تلف المكونات (في الفيديو عند 02:30).
طوابع زمنية للفيديو
- 00:00- مقدمة عن المشروع
- ٠١:١٥- شرح مكونات الأجهزة
- ٠٢:٣٠- تعليمات التوصيل
- ٠٣:٤٥- استعراض الشيفرة
- 05:00- عرض حي
/*
* // هذا الرمز يستخدم مع درس فيديو لموقع RoboJax.com
* // نشر في 24 أبريل 2017، من أجاكس، أونتاريو، كندا.
* // كتب/تم تحريره بواسطة A.B.S
*
* // هذا الرمز الخاص بArduino يقرأ القيمة من دبوس تناظرية
*/
void setup()
{
Serial.begin(9600); // إعداد تسلسلي
}
void loop(){
int sensorValue = analogRead(A0);
// حوّل القراءة التناظرية (التي تتراوح من 0 إلى 1023) إلى جهد (من 0 إلى 5 فولت):
float voltage = sensorValue * (5.0 / 1023.0);
// اطبع القيمة التي قرأتها:
Serial.print("Voltage ="); // يطبع النص "الجهد ="
Serial.print(voltage);
Serial.println();
delay(300);
}
</code>
<h2>Project 2 Finding the resistance value from the voltage</h2>
<pre><code class="cpp">
// Original source: https://www.arduino.cc/en/Tutorial/ReadAnalogVoltage
// المشروع: إيجاد قيمة المقاومية من الجهد
// يتم استخدام هذا الرمز مع درس فيديو لـ RoboJax.com
// نشرت في 24 أبريل 2017، من أجاكس، أونتاريو، كندا.
// كتبه/حرره أ.ب.س
float RT = 50000; // قيمة المقاومة المتغيرة
float R; // القيمة R غير المعروفة
void setup()
{
Serial.begin(9600); // إعداد تسلسلي
}
void loop(){
int sensorValue = analogRead(A0);
// حوّل القراءة التناظرية (التي تتراوح من 0 إلى 1023) إلى جهد (من 0 إلى 5 فولت):
float voltage = sensorValue * (5.0 / 1023.0);
// اطبع القيمة التي قرأتها:
R = ( voltage * RT)/5.0;
Serial.print("Voltage ="); // يطبع النص "الجهد ="
Serial.print(voltage);
Serial.print("v R=");
Serial.print(R);
Serial.print(" ohms");
Serial.println();
delay(300);
}
الموارد والمراجع
لا توجد موارد حتى الآن.
ملفات📁
لا توجد ملفات متاحة.