جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
MAX7219 عبارة عن IC يُستخدم لتشغيل مصابيح LED ذات 7 مقاطع (حتى 8 أرقام) ، وشاشات العرض (شاشات العرض الشريطية) ، و 64 مصباح LED فرديًا هي كاثودات مشتركة. للتواصل مع متحكم دقيق ، يستخدم MAX7219 نظام الاتصال SPI. لذلك ، لتشغيل 64 LEDs ، تحتاج فقط إلى 3 منافذ من وحدة التحكم الدقيقة.
سأوضح لك في هذه المقالة كيفية استخدام وحدة 7-Segement التي تستخدم IC MAX7219 كمحرك.
المكونات المطلوبة:
- MAX7219 7-Segment Module
- اردوينو نانو
- وصلة سلكية
- USB صغير
المكتبة المطلوبة:
ليدكونترول
في هذا البرنامج التعليمي ، أستخدم لوحة Arduino Nano. إذا لم تستخدمه من قبل. أقترح قراءة مقالتي السابقة حول "كيفية استخدام Arduino Nano".
الخطوة 1: قم بتجميع كافة المكونات
قم بتوصيل لوحة Arduino بوحدة 7-Segment. انظر الصورة أو التعليمات التي كتبتها أدناه:
اردوينو إلى 7 شرائح
+ 5 فولت => VCC
GND => GND
D12 => DIN
D11 => CLK
D10 => CS / LOAD
الخطوة 2: إضافة مكتبة
بعد اكتمال الدائرة. أضف مكتبة "LedControl" إلى Arduino IDE.
لإضافة مكتبة إلى Arduino ، يمكنك قراءتها في مقالة "كيفية إضافة مكتبة خارجية إلى Arduino" التي قمت بإنشائها مسبقًا ".
الخطوة 3: وظائف إضافية
بعد إضافة مكتبة LedControl. يمكنك استخدام وظائف إضافية للتحكم في وحدة 7-Segment.
دعوى
العنوان - عنوان العرض
digit - موضع الرقم على الشاشة (0..7) القيمة - القيمة المراد عرضها. (0x00..0x0F)
يحدد dp الفاصلة العشرية.
وظيفة
setChar (العنوان ، الرقم ، القيمة. dp) ؛ // لعرض قيمة نوع الحرف لتشفير ASCII 7 بت
setDigit (العنوان ، الرقم ، القيمة ، بوليان موانئ دبي) ؛ // لعرض الأرقام والأحرف في دالة setRow (addr ، digit ، value ، boolean dp) ؛ / / لعرض الكائن في الرقم المطلوب
لمزيد من التفاصيل ، يرجى قراءة هنا.
الخطوة 4: تحميل Sketch
لقد رسمت لتجربة هذه الوحدة المكونة من 7 أجزاء. يمكنك نسخ الكود أدناه ، ثم لصقه في الرسم التخطيطي الخاص بك.
// علينا دائمًا تضمين المكتبة
# تضمين "LedControl.h"
/*
الآن نحن بحاجة إلى LedControl للعمل معه. ***** من المحتمل ألا تعمل أرقام التعريف الشخصية هذه مع أجهزتك *****
دبوس 12 متصل DataIn
دبوس 11 متصل CLK
دبوس 10 متصل بـ LOAD
لدينا MAX72XX واحد فقط.
*/
LedControl lc = LedControl (12 ، 11 ، 10 ، 1) ؛
/ * ننتظر دائمًا قليلاً بين تحديثات العرض * /
وقت تأخير طويل بدون توقيع = 500 ؛
الإعداد باطل() {
/ * MAX72XX في وضع توفير الطاقة عند بدء التشغيل ، علينا إجراء مكالمة إيقاظ * /
lc.shutdown (0 ، خطأ) ؛
/ * اضبط السطوع على قيم متوسطة * /
كثافة lc.set (0 ، 8) ؛
/ * وامسح الشاشة * /
lc.clearDisplay (0) ؛}
مرحبًا باطل () {
lc.setChar (0، 7، 'H'، false) ؛
lc.setChar (0، 6، 'E'، false) ؛
lc.setChar (0، 5، 'L'، false) ؛
lc.setChar (0، 4، 'L'، false) ؛
lc.setChar (0، 3، '0'، خطأ) ؛
lc.setChar (0، 2، '.'، false) ؛
lc.setChar (0، 1، '.'، false) ؛
lc.setChar (0، 0، '.'، false) ؛
تأخير (تأخير + 1000) ؛
lc.clearDisplay (0) ،
تأخير (تأخير) ؛
lc.setDigit (0، 7، 1، false) ؛
تأخير (تأخير) ؛
lc.setDigit (0، 6، 2، false) ؛
تأخير (تأخير) ؛
lc.setDigit (0، 5، 3، false) ؛
تأخير (تأخير) ؛
lc.setDigit (0، 4، 4، false) ؛
تأخير (تأخير) ؛
lc.setDigit (0، 3، 5، false) ؛
تأخير (تأخير) ؛
lc.setDigit (0، 2، 6، false) ؛
تأخير (تأخير) ؛
lc.setDigit (0، 1، 7، false) ؛
تأخير (تأخير) ؛
lc.setDigit (0، 0، 8، false) ؛
تأخير (1500) ؛
lc.clearDisplay (0) ،
تأخير (تأخير) ؛
}
حلقة باطلة () {hello () ،
}
أو قم بتنزيل الملف أدناه:
الخطوة 5: النتيجة
استمتع بالنتيجة.
إذا كانت هناك أسئلة ، فاكتبها في عمود التعليقات.
نراكم في المقال القادم.