دليل ESP32 10/55 - عداد رقمي باستخدام عرض سبعة segmentos 74HC595 - مجموعة تعلم IoT ESP32

دليل ESP32 10/55 - عداد رقمي باستخدام عرض سبعة segmentos 74HC595 - مجموعة تعلم IoT ESP32

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

ESP32_تحريك7Segment-الشرائح

يستخدم هذا المشروع مسجل الإزاحة 74HC595 للتحكم في العرض، مما يسمح لنا بإدارة القطاعات بكفاءة دون استخدام الكثير من دبابيس GPIO على ESP32. من خلال إرسال قيم ثنائية إلى مسجل الإزاحة، يمكننا إضاءة القطاعات المقابلة لتمثيل الأرقام والحروف. لفهم أعمق للعملية، يمكنك الرجوع إلى الفيديو (في الفيديو عند :15).

ESP32_تحريك7Segment-حروف

شرح الأجهزة

تشمل المكونات الرئيسية لهذا المشروع وحدة التحكم الدقيقة ESP32، ومسجل الإزاحة 74HC595، وشاشة ذات سبعة أجزاء. يعتبر ESP32 وحدة تحكم دقيقة قوية مزودة بإمكانيات Wi-Fi وBluetooth مدمجة، مما يجعله مناسبًا لمشاريع إنترنت الأشياء. يعتبر 74HC595 مسجل إزاحة يتيح لنا التحكم في مخرجات متعددة باستخدام عدد قليل من دبابيس الإدخال. يعمل عن طريق أخذ البيانات التسلسلية وتحويلها إلى إخراج متوازي، وهو مثالي لتشغيل شاشة ذات سبعة أجزاء.

يتكون عرض السبعةSegments من سبعة مصابيح LED فردية مرتبة في نمط الرقم ثمانية. يمكن تشغيل أو إيقاف كل جزء عن طريق إرسال القيمة الثنائية المناسبة إلى سجل التحويل. على سبيل المثال، لعرض الرقم 0، يجب إضاءة جميع الأجزاء ما عدا الجزء الأوسط (G).

ESP32_تحريك7Segment-عَدّاد-تصاعدي-تنازلي
ESP32_تحريك7Segment-عداد-1

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

الصانع ولاية تكساس للأجهزة
رقم الجزء 74HC595
فولتية المنطق/المدخلات والمخرجات 2 فولت إلى 6 فولت
جهد الإمداد ٢ فولت إلى ٦ فولت
التيار الناتج (لكل قناة) 6 مللي أمبير
التيار الأقصى (لكل قناة) 35 مللي أمبير
توجيه تردد PWM حتى 1 كيلو هرتز
عتبات منطق الإدخال 0.3 فولتCCإلى 0.7 فولتCC
انخفاض الجهد / Rدس(أون)/ تشبع 0.2 فولت أقصى
الحدود الحرارية ١٢٥ درجة مئوية
حزمة DIP-16
ملاحظات / متغيرات متوفر في عبوات مختلفة

  • تأكد من توفير الجهد الصحيح (2 فولت إلى 6 فولت).
  • حدد تيار المخرج لتجنب السخونة الزائدة.
  • استخدم مقاومات منفصلة لكل جزء للحصول على سطوع مثالي.
  • كن حذرًا عند التوصيل لتجنب القصيرات والاتصالات غير الصحيحة.
  • اتبع تخطيط الدبابيس بعناية لتجنب التكوين الخاطئ.

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

ESP32-10-seven-segment-wiring

ابدأ بتهيئة لوحة الدوائر. اربط سكة الأرض (الخط الأزرق) وسكة الطاقة (الخط الأحمر). يجب ربط الأرض بالخط الأزرق من جانب واحد من لوحة الدوائر، بينما يجب ربط الطاقة بالخط الأحمر من الجانب المقابل. استخدم سلكًا أسود لربط الأرض لـ ESP32 بسكة الأرض وسلكًا أحمر لربط طرف 3.3 فولت لـ ESP32 بسكة الطاقة.

قم بعد ذلك بإدخال سجل الإزاحة 74HC595 في لوحة الدائرة، مع التأكد من توجيه الشق بشكل صحيح. قم بتوصيل الدبوس 11 (DS) بالدبوس 25 على ESP32، والدبوس 12 (SH_CP) بالدبوس 26، والدبوس 14 (ST_CP) بالدبوس 27. قم بتوصيل الأرض (الدبوس 8) من سجل الإزاحة بسكة الأرض والدبوس 10 (MR) بسكة الطاقة للتفعيل.

قم بتوصيل دبابيس العرض ذو السبعةSegments (a-g) بدبابيس الخروج من سجل الإزاحة. استخدم مقاومة (220 أوم) على التوالي لكل Segment للحد من التيار. تأكد من أن لديك توصيلات مناسبة للدبوس الشائع، والذي يمكن أن يكون إما أنود مشترك أو كاثود حسب نوع العرض الخاص بك.

أمثلة على الشفرة وشرح مفصل

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

void setup ()
{
  //set pins to output
  pinMode(STcp,OUTPUT);
  pinMode(SHcp,OUTPUT);
  pinMode(DS,OUTPUT);
}

هنا، نحددSTcp,SHcp, وDSكما أن الأرجل المتصلة بـ ST_CP و SH_CP و DS من سجل الإزاحة، على التوالي. يسمح تعيين هذه الأرجل كمخارج بالتحكم في سجل الإزاحة.

الحلقة الأساسية في البرنامج تعد من 0 إلى 9، وترسل القيم المقابلة إلى الشاشة باستخدام الـshiftOutوظيفة.

for(int num = 0; num <10; num++)
{
    digitalWrite(STcp,LOW); //ground ST_CP and hold low for as long as you are transmitting
    shiftOut(DS,SHcp,MSBFIRST,datArray[num]);
    digitalWrite(STcp,HIGH); //pull the ST_CPST_CP to save the data
    delay(1000);
}

تعمل هذه الحلقة على زيادة الـnumمتغير، إرسال القيمة المقابلة من الـdatArrayإلى العرض كل ثانية. الـshiftOutتقوم الدالة بنقل البيانات إلى سجل الإزاحة، الذي يقوم بدوره بإضاءة الأجزاء المناسبة.

عرض / ما يمكن توقعه

بمجرد اكتمال التوصيلات وتحميل الشيفرة، يجب أن ترى شاشة العرض ذات السبعة أجزاء تعد من 0 إلى 9، مع توقف قصير قبل العد نزولاً إلى 0. سيتم عرض كل رقم لمدة ثانية واحدة. إذا كنت ترغب في تسريع العد، يمكنك ضبط التأخير في الحلقة (في الفيديو عند 15:30).

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

طوابع الفيديو

  • 00:00 بداية
  • ١:٥٣ مقدمة عن الرقم سبعة segmentos
  • 4:38 شرح الأسلاك
  • 13:15 كود أردوينو-1
  • اختيار منفذ COM ولوحة ESP32
  • 18:43 عرض-1
  • 20:13 عرض رقم واحد فقط
  • عداد تصاعدي وتنازلي 21:38
  • 23:07 تشغيل كل جزء/إيقاف تشغيله
  • 24:53 عرض A، B، C، D، E و F

الصور

ESP32_Animte7Segment-counter-1
ESP32_Animte7Segment-counter-1
ESP32_Animte7Segment-counter-up-down
ESP32_Animte7Segment-counter-up-down
ESP32_Animte7Segment-letters
ESP32_Animte7Segment-letters
ESP32_Animte7Segment-segments
ESP32_Animte7Segment-segments
ESP32-10-seven-segment-schematic
ESP32-10-seven-segment-schematic
ESP32-10-seven-segment-wiring
ESP32-10-seven-segment-wiring
809-ESP32 Tutorial 10/55 - Arduino code for 2.5 7 segment
اللغة: C++
تم النسخ!

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

ملفات📁

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