كود البحث

قراءة الجهد والعمل مع المقاومات المتغيرة لأردوينو

قراءة الجهد والعمل مع المقاومات المتغيرة لأردوينو

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

Potentiometer or variable resistor

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

للمزيد من التوضيح حول الخطوات وتنفيذ الشيفرة، تأكد من مشاهدة الفيديو (في الفيديو عند :00).

شرح الأجهزة

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

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

تفاصيل ورقة البيانات

المصنعمتنوع
رقم الجزءمقياس الجهد
نطاق المقاومة0 - 1 مΩ
تصنيف القدرة0.1 واط
نطاق درجة الحرارة-40 إلى 85 درجة مئوية
نوعخطية أو لوغاريتمية

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

تعليمات التوصيل

Arduino Wiring of Potentiometer
Arduino Wiring of Potentiometer

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

Potentiometer or variable resistor

إذا كنت تستخدم دبوس تناظري مختلف، تأكد من تحديث رقم الدبوس المقابل في الكود الخاص بك. على سبيل المثال، إذا قمت بتوصيل المساحات بـ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- عرض حي

الصور

Arduino Wiring of Potentiometer
Arduino Wiring of Potentiometer
Potentiometer or variable resistor
Potentiometer or variable resistor
Potentiometer or variable resistor
Potentiometer or variable resistor
10-Reading voltage and working with a potentiometer for Arduino
اللغة: C++
/*
 * // هذا الرمز يستخدم مع درس فيديو لموقع 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);

}

الموارد والمراجع

لا توجد موارد حتى الآن.

ملفات📁

لا توجد ملفات متاحة.