حلبة اردوينو الرقمية البسيطة

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





في هذا المنشور ، سنقوم ببناء دائرة أومتر رقمية بسيطة باستخدام Arduino وشاشة LCD مقاس 16 × 2. سنستكشف أيضًا أفكار الدوائر المحتملة الأخرى باستخدام نفس المفهوم.

هدف الدائرة

إن شعار هذه المقالة ليس فقط صنع مقياس أوم لقياس المقاومة التي يمكن لجهازك المتعدد القيام بها بشكل أفضل.



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

دعونا نرى كيف نصنع مقياس أوم أولاً ثم ننتقل إلى أفكار الدوائر الأخرى.



كيف تعمل

دائرة اردوينو مقياس المقاومة

تتكون الدائرة من Arduino ، يمكنك استخدام لوحة Arduino المفضلة لديك ، وشاشة LCD مقاس 16 × 2 لعرض قيمة المقاوم غير المعروفة ، ومقياس الجهد لضبط مستوى التباين في شاشة LCD. يتم استخدام مقاومين ، أحدهما معروف بقيمة المقاوم والآخر غير معروف قيمة المقاوم.

المقاومة هي وظيفة تناظرية ، لكن القيمة المعروضة على شاشة LCD هي وظيفة رقمية. لذلك ، نحن بحاجة إلى إجراء تحويل من تناظري إلى رقمي ، ولحسن الحظ ، فإن Arduino يحتوي على محول تناظري رقمي مدمج 10 بت.

يمكن لـ ADC 10 بت أن يفرق بين 1024 مستوى منفصل للجهد ، ويتم تطبيق 5 فولت على 2 مقاومات ويتم أخذ عينة الجهد بين المقاومات.

باستخدام بعض الحسابات الرياضية ، يمكن تفسير انخفاض الجهد عند العقدة وقيمة المقاومة المعروفة للعثور على قيمة المقاومة غير المعروفة.

تتم كتابة المعادلات الرياضية في البرنامج ، لذلك لا يلزم إجراء حساب يدوي ، يمكننا قراءة القيمة المباشرة من شاشة LCD.

النموذج الأولي للمؤلف:

نموذج اردوينو الرقمي لجهاز القياس

برنامج مقياس أوم:

//-------------Program developed by R.Girish--------//
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int analogPin=0
int x=0
float Vout=0
float R=10000 //Known Resistor value in Ohm
float resistor=0
float buffer=0
void setup()
{
lcd.begin(16,2)
lcd.setCursor(0,0)
lcd.print('----OHM METER---')
}
void loop()
{
x=analogRead(analogPin)
buffer=x*5
Vout=(buffer)/1024.0
buffer=(5/Vout)-1
resistor=R*buffer
lcd.setCursor(0,1)
lcd.print('R = ')
lcd.print(resistor)
lcd.print(' Ohm')
delay(3000)
}
//-------------Program developed by R.Girish--------//

ملاحظة: تعويم R = 10000 // قيمة المقاوم المعروفة بالأوم

يمكنك تغيير قيمة المقاوم المعروفة في الدائرة ، ولكن إذا قمت بذلك يرجى تغيير القيمة في البرنامج أيضًا.

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

وبالمثل ، ينطبق هذا أيضًا على مقياس الأومتر هذا.

إذا كنت ترغب في قياس المقاومة من 1 كيلو إلى 50 كيلو أوم ، فسيكون المقاوم المعروف 10 كيلو أوم كافياً ، ولكن إذا قمت بقياس نطاق ميغا أوم أو نطاق قليل من أوم ، فستحصل على بعض قراءات القمامة. لذلك من الضروري تغيير قيمة المقاوم المعروف إلى النطاق المناسب.

في القسم التالي من هذه المقالة ، سنقوم بدراسة دائرة شاشة LCD الخاصة بالمقياس وسنرى كيفية قراءة قيمة المستشعر (مقاومة غير معروفة) في الشاشة التسلسلية.

سنحدد أيضًا قيمة العتبة في البرنامج ، بمجرد أن تتجاوز العتبة المحددة مسبقًا ، سيقوم Arduino بتشغيل الترحيل.

مخطط الرسم البياني:

كود البرنامج:

//-------------Program developed by R.Girish--------//
float th=7800 // Set resistance threshold in Ohms
int analogPin=0
int x=0
float Vout=0
float R=10000 //Known value Resistor in Ohm
float resistor=0
float buffer=0
int op=7
void setup()
{
Serial.begin(9600)
pinMode(op,OUTPUT)
digitalWrite(op,LOW)
}
void loop()
{
x=analogRead(analogPin)
buffer=x*5
Vout=(buffer)/1024.0
buffer=(5/Vout)-1
resistor=R*buffer
Serial.print('R = ')
Serial.print(resistor)
Serial.println(' Ohm')
if(th>resistor) // if resistance cross below threshold value, output is on, if you want opposite result use '<' //
{
digitalWrite(op,HIGH)
Serial.println('Output is ON')
delay(3000)
}
else
{
digitalWrite(op,LOW)
Serial.println('Output is OFF')
delay(3000)
}
}
//-------------Program developed by R.Girish--------//

ملاحظة:

• تعويم th = 7800 // تعيين حد المقاومة بالأوم
استبدل 7800 أوم بقيمتك.
• عائم R = 10000 // قيمة معروفة للمقاوم بالأوم
استبدل 10000 أوم بقيمة المقاوم المعروفة.
• إذا (ث> المقاوم)

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

إذا كنت تريد تشغيل المرحل عندما تتجاوز قراءة المستشعر الحد الأدنى والعكس صحيح ، فما عليك سوى استبدال 'if (thresistor)'

من خلال قياس مقاومة المستشعر مباشرة (LDR أو الثرمستور أو أي شيء آخر) وتحديد عتبة ، يمكننا الحصول على دقة كبيرة في التحكم في المرحلات ، ومصابيح LED ، والمحرك والأجهزة الطرفية الأخرى.

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




زوج من: دائرة تحكم مستوى تخزين المواد في المادة التالية: 10 LED حلبة مقياس سرعة الدوران