جدول المحتويات:

العداد باستخدام MAX7221: 4 خطوات
العداد باستخدام MAX7221: 4 خطوات

فيديو: العداد باستخدام MAX7221: 4 خطوات

فيديو: العداد باستخدام MAX7221: 4 خطوات
فيديو: Using MAX7219 8 Digits Seven Segment Display - Robojax 2024, يوليو
Anonim
العداد باستخدام MAX7221
العداد باستخدام MAX7221

إنشاء عداد يتزايد عند الضغط على أحد الأزرار باستخدام MAX7221.

الخطوة 1: الأجزاء

MAX7221 أو MAX7219

يحول

4 عرض 7-Segment (الكاثود المشترك)

2 مقاومات: 10 كيلو و 9.53 كيلو (استخدمت 9.1 كيلو ومازال يعمل)

اردوينو

الخطوة الثانية: بناء الدائرة

بناء الدائرة
بناء الدائرة
بناء الدائرة
بناء الدائرة
بناء الدائرة
بناء الدائرة

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

1. قم بتوصيل الأرقام من 0 إلى 3 الموجودة في MAX7221 بالأرقام من 1 إلى 4 على الشاشة. يتصل الرقم MAX 0 برقم الشاشات 1 وما إلى ذلك. شاشات العرض غير تقليدية وتبدأ من 1 بدلاً من 0.

2. قم بتوصيل المقاطع A - G على MAX7221 بالقطاعات A - G على الشاشة.

3. امدادات الطاقة والأرض إلى ماكس. يذهب VCC إلى الدبوس 19. والمقاوم 10k متصل أيضًا بالدبوس 19 و 18. الأرض تذهب إلى السنون 4 و 9.

4. يتصل MAX7221 بـ Arduino عبر SPI (الواجهة الطرفية التسلسلية). في هذه الحالة ، هناك حاجة إلى 3 أسلاك فقط لأنني لا أستخدم MISO (Master In Slave Out). في MAX7221 ، قم بتوصيل الطرف 1 (Din) بـ Arduino ، وفي حالتي ، استخدمت الدبوس 12. هذا هو MOSI (Master Out Slave In) أو البيانات. Pin 12 على MAX هو CS (Chip Select Input) وهو كيفية تحميل البيانات في Shift Register ، لقد قمت بتوصيل هذا بالدبوس 9 على Arduino. آخر اتصال هو CLK وهو رقم 13 على MAX ، لقد قمت بتوصيل هذا برقم 10 على Arduino.

تأكد من توفير الطاقة والأرض من خلال Arduino باستخدام 5 فولت. واجهت مشكلة حيث لم يكن Arduino الخاص بي يمنح لوحي الطاقة الكافية.

هذا خاص بورقة البيانات MAX7221. أيضا من أين أتت الصور.

www.mouser.com/datasheet/2/256/max7219-max…

الخطوة 3: التبديل

مفتاح
مفتاح

لقد قمت بتوصيل المفتاح من التخطيط أعلاه. وجدت على

لقد استخدمت دبوس 8 على Arduino للتحكم في المفتاح ، ومقاوم 10 كيلو.

الخطوة 4: الكود

لقد استخدمت مكتبة LedControl.h الموجودة على GitHub ، ورمزها الأساسي لتشغيل MAX7221. ثم قمت بعد ذلك بتعديل الكود ليعد من 0 - 9999 عند الضغط على الزر.

# تضمين "LedControl.h"

زر int = 8 ؛

LedControl lc = LedControl (12 ، 10 ، 9 ، 1) ؛

الإعداد باطل() {

pinMode (زر ، الإدخال) ؛

lc.shutdown (0 ، خطأ) ؛ // MAX7221 في وضع توفير الطاقة ، لذلك يتعين علينا إيقاظه

كثافة lc.set (0 ، 15) ؛ // ضبط السطوع ، بحد أقصى 15

lc.clearDisplay (0) ، // عرض المقاصة

}

حلقة فارغة(){

حالة int = digitalRead (زر) ؛

كثافة العمليات أنا = 0 ؛

int j = 0 ؛

كثافة العمليات ك = 0 ؛

كثافة العمليات l = 0 ؛

بينما (1) {

الدولة = digitalRead (زر) ؛

بينما (الدولة == 1) {

الدولة = digitalRead (زر) ؛

lc.setDigit (0، 3، i، false) ؛

أنا ++ ؛

تأخير (100) ؛ // يمكنك العبث بهذا

إذا (أنا == 10) {

أنا = 0 ؛

ي ++ ؛

إذا (ي == 10) {

ي = 0 ؛

ك ++ ؛

إذا (ك == 10) {

ك = 0 ؛

ل ++ ؛

إذا (ل == 10) {

بينما (1) {

lc.setRow (0، 0، 0x3E) ؛ // عندما يصل العرض إلى 9999 ، سيعرض U - 1

lc.setRow (0، 1، 0x1) ؛ // في القيمة العشرية السداسية

lc.setRow (0، 2، 0x1) ؛

lc.setDigit (0، 3، 1، false) ؛

}

}

lc.setDigit (0، 0، l، false) ؛

}

lc.setDigit (0، 1، k، false) ؛

}

lc.setDigit (0، 2، j، false) ؛

}

}

}

}

موصى به: