- المكونات المطلوبة:
- مخطط الرسم البياني:
- اردوينو أونو:
- شاشة LCD مقاس 16 × 2:
- مفهوم رمز لون المقاومة:
- حساب المقاومة باستخدام اردوينو أوم متر:
- شرح الكود:
نجد صعوبة في قراءة رموز الألوان على المقاومات لإيجاد مقاومتها. للتغلب على صعوبة العثور على قيمة المقاومة ، سنقوم ببناء مقياس أوم بسيط باستخدام Arduino. المبدأ الأساسي وراء هذا المشروع هو شبكة مقسم الجهد. يتم عرض قيمة المقاومة غير المعروفة على شاشة LCD مقاس 16 * 2. يعمل هذا المشروع أيضًا كشاشة عرض LCD مقاس 16 * 2 تتفاعل مع Arduino.
المكونات المطلوبة:
- اردوينو اونو
- شاشة عرض LCD مقاس 16 * 2
- مقياس الجهد (1 كيلو أوم)
- المقاومات
- اللوح
- أسلاك توصيل
مخطط الرسم البياني:
اردوينو أونو:
Arduino Uno هي لوحة متحكم مفتوحة المصدر تعتمد على متحكم ATmega328p. يحتوي على 14 دبوسًا رقميًا (منها 6 دبابيس يمكن استخدامها كمخرجات PWM) ، 6 مدخلات تناظرية ، منظمات الجهد على اللوحة إلخ. Arduino Uno به ذاكرة فلاش 32 كيلو بايت ، 2 كيلو بايت من SRAM و 1 كيلو بايت من EEPROM. يعمل بتردد الساعة 16 ميجا هرتز. يدعم Arduino Uno اتصالات Serial و I2C و SPI للتواصل مع الأجهزة الأخرى. يوضح الجدول أدناه المواصفات الفنية لـ Arduino Uno.
متحكم | ATmega328p |
جهد التشغيل | 5 فولت |
مساهمة الجهد | 7-12 فولت (موصى به) |
دبابيس الإدخال / الإخراج الرقمية | 14 |
دبابيس تناظرية | 6 |
ذاكرة متنقله | 32 كيلوبايت |
SRAM | 2 كيلوبايت |
إيبروم | 1 كيلوبايت |
سرعة الساعة |
16 ميجا هرتز |
شاشة LCD مقاس 16 × 2:
شاشة LCD مقاس 16 * 2 تستخدم على نطاق واسع للتطبيقات المضمنة. فيما يلي شرح موجز حول المسامير وعمل شاشة LCD مقاس 16 * 2. هناك نوعان من السجلات الهامة للغاية داخل شاشة LCD. هم سجل البيانات وسجل الأوامر. يستخدم سجل الأوامر لإرسال أوامر مثل العرض الواضح ، المؤشر في المنزل وما إلى ذلك ، يتم استخدام سجل البيانات لإرسال البيانات التي سيتم عرضها على شاشة LCD مقاس 16 * 2. يوضح الجدول أدناه وصف دبوس شاشة LCD مقاس 16 * 2.
دبوس |
رمز |
I / O |
وصف |
1 |
Vss |
- |
أرض |
2 |
Vdd |
- |
+ 5V امدادات الطاقة |
3 |
في |
- |
مزود الطاقة للتحكم في التباين |
4 |
RS |
أنا |
RS = 0 لتسجيل الأوامر ، RS = 1 لتسجيل البيانات |
5 |
RW |
أنا |
R / W = 0 للكتابة ، R / W = 1 للقراءة |
6 |
ه |
I / O |
ممكن |
7 |
د 0 |
I / O |
ناقل بيانات 8 بت (LSB) |
8 |
D1 |
I / O |
ناقل بيانات 8 بت |
9 |
د 2 |
I / O |
ناقل بيانات 8 بت |
10 |
د 3 |
I / O |
ناقل بيانات 8 بت |
11 |
د 4 |
I / O |
ناقل بيانات 8 بت |
12 |
د 5 |
I / O |
ناقل بيانات 8 بت |
13 |
د 6 |
I / O |
ناقل بيانات 8 بت |
14 |
د 7 |
I / O |
ناقل بيانات 8 بت (MSB) |
15 |
أ |
- |
+ 5V للإضاءة الخلفية |
16 |
ك |
- |
أرض |
مفهوم رمز لون المقاومة:
لتحديد قيمة المقاومة يمكننا استخدام الصيغة أدناه.
R = {(AB * 10 c) Ω ± T٪}
أين
A = قيمة اللون في النطاق الأول.
ب = قيمة اللون في النطاق الثاني.
C = قيمة اللون في النطاق الثالث.
T = قيمة اللون في النطاق الرابع.
يوضح الجدول أدناه رمز اللون للمقاومات.
اللون |
القيمة العددية للون |
عامل الضرب (10 ج) |
قيمة التسامح (T) |
أسود |
0 |
10 0 |
- |
بنى |
1 |
10 1 |
± 1٪ |
أحمر |
2 |
10 2 |
± 2٪ |
البرتقالي |
3 |
10 3 |
- |
الأصفر |
4 |
10 4 |
- |
أخضر |
5 |
10 5 |
- |
أزرق |
6 |
10 6 |
- |
البنفسجي |
7 |
10 7 |
- |
اللون الرمادي |
8 |
10 8 |
- |
أبيض |
9 |
10 9 |
- |
ذهب |
- |
10 -1 |
± 5٪ |
فضة |
- |
10 -2 |
± 10٪ |
لا فرقة |
- |
- |
± 20٪ |
على سبيل المثال ، إذا كانت أكواد الألوان بني - أخضر - أحمر - فضي ، يتم حساب قيمة المقاومة على النحو التالي:
بني = 1 أخضر = 5 أحمر = 2 فضة = ± 10٪
من النطاقات الثلاثة الأولى ، R = AB * 10 c
R = 15 * 10 +2 R = 1500
النطاق الرابع يشير إلى تسامح ± 10٪
10٪ من 1500 = 150 بالنسبة + 10 بالمائة ، القيمة هي 1500 + 150 = 1650 درجة مئوية - 10 بالمائة ، القيمة 1500-150 = 1350 درجة
لذلك يمكن أن تتراوح قيمة المقاومة الفعلية بين 1350 و 1650 درجة.
لجعلها أكثر ملاءمة هنا هي حاسبة رمز لون المقاومة حيث تحتاج فقط إلى إدخال لون الحلقات على المقاوم وستحصل على قيمة المقاومة.
حساب المقاومة باستخدام اردوينو أوم متر:
إن عمل عداد المقاومة هذا بسيط للغاية ويمكن شرحه باستخدام شبكة مقسم جهد بسيط موضحة أدناه.
من شبكة مقسم الجهد للمقاومات R1 و R2 ،
صوت = فين * R2 / (R1 + R2)
من المعادلة أعلاه ، يمكننا استنتاج قيمة R2 كـ
R2 = Vout * R1 / (فين - Vout)
حيث R1 = مقاومة معروفة
R2 = مقاومة غير معروفة
Vin = الجهد الناتج عند دبوس 5V في Arduino
Vout = الجهد عند R2 بالنسبة إلى الأرض.
ملاحظة: قيمة المقاومة المعروفة (R1) المختارة هي 3.3KΩ ، ولكن يجب على المستخدمين استبدالها بقيمة المقاومة التي اختاروها.
لذلك إذا حصلنا على قيمة الجهد عبر مقاومة غير معروفة (Vout) ، فيمكننا بسهولة حساب المقاومة غير المعروفة R2. لقد قرأنا هنا قيمة الجهد Vout باستخدام الدبوس التناظري A0 (انظر الرسم البياني للدائرة) وقمنا بتحويل تلك القيم الرقمية (0-1023) إلى جهد كما هو موضح في الكود أدناه.
إذا كانت قيمة المقاومة المعروفة أكبر أو أصغر بكثير من المقاومة غير المعروفة ، فسيكون الخطأ أكبر. لذلك ينصح بالإبقاء على قيمة المقاومة المعروفة أقرب إلى المقاومة المجهولة.
شرح الكود:
يتم تقديم برنامج Arduino الكامل والفيديو التجريبي لهذا المشروع في نهاية هذا المشروع. يتم تقسيم الكود إلى أجزاء صغيرة ذات معنى وموضح أدناه.
في هذا الجزء من الكود ، سنحدد المسامير التي تتصل بها شاشة LCD مقاس 16 * 2 بـ Arduino. دبوس RS 16 * 2 LCD متصل بالدبوس الرقمي 2 من اردوينو. تمكين دبوس 16 * 2 LCD متصل بالدبوس الرقمي 3 من Arduino. دبابيس البيانات (D4-D7) من شاشة LCD مقاس 16 * 2 متصلة بمنافذ رقمية 4،5،6،7 من Arduino.
LiquidCrystal LCD (2،3،4،5،6،7) ؛ // rs و e و d4 و d5 و d6 و d7
في هذا الجزء من الكود ، نحدد بعض المتغيرات المستخدمة في البرنامج. Vin هو الجهد الذي يوفره دبوس اردوينو 5V. Vout هو الجهد عند المقاوم R2 بالنسبة إلى الأرض.
R1 هي قيمة المقاومة المعروفة. R2 هي قيمة المقاومة غير المعروفة.
int Vin = 5 ؛ // الجهد عند دبوس 5 فولت من اردوينو تعويم Vout = 0 ؛ // الجهد عند دبوس A0 من اردوينو فلوت R1 = 3300 ؛ // قيمة عوامة المقاومة المعروفة R2 = 0 ؛ // قيمة المقاومة غير المعروفة
في هذا الجزء من الكود ، سنقوم بتهيئة شاشة LCD مقاس 16 * 2. يتم إعطاء الأوامر لشاشة LCD مقاس 16 * 2 لإعدادات مختلفة مثل الشاشة الواضحة والعرض عند وميض المؤشر وما إلى ذلك.
lcd.begin (16.2) ؛
في هذا الجزء من الكود ، يتم تحويل الجهد التناظري عند المقاوم R2 (A0 pin) إلى قيمة رقمية (0 إلى 1023) ويتم تخزينه في متغير.
a2d_data = analogRead (A0) ،
في هذا الجزء من الكود ، يتم تحويل القيمة الرقمية (من 0 إلى 1023) إلى جهد لمزيد من العمليات الحسابية.
المخزن المؤقت = a2d_data * Vin ؛ صوت = (المخزن المؤقت) /1024.0 ؛
يتميز Arduino Uno ADC بدقة 10 بت (لذا فإن قيم الأعداد الصحيحة من 0-2 ^ 10 = 1024 قيمة). هذا يعني أنه سيتم تعيين جهد الإدخال بين 0 و 5 فولت إلى قيم صحيحة بين 0 و 1023. لذلك إذا قمنا بضرب قيمة anlogValue إلى (5/1024) ، فإننا نحصل على القيمة الرقمية لجهد الدخل. تعلم هنا كيفية استخدام إدخال ADC في Arduino.
في هذا الجزء من الكود ، يتم حساب القيمة الفعلية للمقاومة غير المعروفة باستخدام الإجراء كما هو موضح أعلاه.
المخزن المؤقت = Vout / (Vin-Vout) ؛ R2 = R1 * عازلة ؛
في هذا الجزء من الكود ، تتم طباعة قيمة المقاومة غير المعروفة على شاشة LCD مقاس 16 * 2.
lcd.setCursor (4،0) ؛ lcd.print ("أوم متر") ؛ lcd.setCursor (0،1) ؛ lcd.print ("R (أوم) =") ؛ lcd.print (R2) ؛
هذا يمكننا بسهولة حساب مقاومة المقاوم غير المعروف باستخدام Arduino. تحقق أيضًا من:
- مقياس تردد اردوينو
- اردوينو متر السعة