جدول المحتويات:
![كيفية واجهة MAX7219 بقيادة مصفوفة LED 8x8 مع متحكم ATtiny85: 7 خطوات كيفية واجهة MAX7219 بقيادة مصفوفة LED 8x8 مع متحكم ATtiny85: 7 خطوات](https://i.howwhatproduce.com/images/002/image-3944-19-j.webp)
فيديو: كيفية واجهة MAX7219 بقيادة مصفوفة LED 8x8 مع متحكم ATtiny85: 7 خطوات
![فيديو: كيفية واجهة MAX7219 بقيادة مصفوفة LED 8x8 مع متحكم ATtiny85: 7 خطوات فيديو: كيفية واجهة MAX7219 بقيادة مصفوفة LED 8x8 مع متحكم ATtiny85: 7 خطوات](https://i.ytimg.com/vi/rj_aLqmTV24/hqdefault.jpg)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
![كيفية واجهة MAX7219 مدفوعة LED مصفوفة 8x8 مع متحكم ATtiny85 كيفية واجهة MAX7219 مدفوعة LED مصفوفة 8x8 مع متحكم ATtiny85](https://i.howwhatproduce.com/images/002/image-3944-20-j.webp)
تم تصنيع وحدة التحكم MAX7219 بواسطة Maxim Integrated ، وهي عبارة عن برنامج تشغيل عرض كاثود مشترك مدمج ومدخل تسلسلي يمكن أن يتعامل مع ميكروكنترولر إلى 64 مصباح LED فرديًا وشاشات LED رقمية مكونة من 7 أجزاء تصل إلى 8 أرقام وشاشات عرض شريطي وما إلى ذلك. -رقاقة هي وحدة فك ترميز BCD code-B ، ودائرة مسح ضوئي متعددة ، وبرامج تشغيل مقطعية وأرقام وذاكرة RAM ثابتة 8 × 8 تخزن كل رقم.
تعتبر وحدات MAX7219 ملائمة جدًا للاستخدام مع وحدات التحكم الدقيقة مثل ATtiny85 ، أو في حالتنا Tinusaur Board.
الخطوة 1: الأجهزة
![الأجهزة الأجهزة](https://i.howwhatproduce.com/images/002/image-3944-21-j.webp)
![الأجهزة الأجهزة](https://i.howwhatproduce.com/images/002/image-3944-22-j.webp)
عادة ما تبدو وحدات MAX7219 هكذا. لديهم ناقل إدخال على جانب وحافلة الإخراج على الجانب الآخر. يتيح لك ذلك إنشاء سلسلة ديزي 2 أو أكثر من الوحدات النمطية ، أي واحدة تلو الأخرى ، من أجل إنشاء إعدادات أكثر تعقيدًا.
الوحدات التي نستخدمها قادرة على التوصيل في سلسلة باستخدام 5 وصلات عبور صغيرة. انظر إلى الصورة أدناه.
الخطوة 2: Pinout والإشارات
وحدة MAX7219 بها 5 دبابيس:
- VCC - الطاقة (+)
- GND - أرضي (-)
- DIN - إدخال البيانات
- CS - اختيار رقاقة
- CLK - الساعة
هذا يعني أننا بحاجة إلى 3 دبابيس على جانب متحكم ATtiny85 للتحكم في الوحدة. سيكون هؤلاء:
- PB0 - متصل بـ CLK
- PB1 - متصل بـ CS
- PB2 - متصل بـ DIN
هذا يكفي للاتصال بوحدة MAX7219 وبرمجتها.
الخطوة 3: البروتوكول
![بروتوكول بروتوكول](https://i.howwhatproduce.com/images/002/image-3944-23-j.webp)
يعد الاتصال بـ MAX7219 سهلًا نسبيًا - فهو يستخدم بروتوكولًا متزامنًا مما يعني أنه لكل بت بيانات نرسلها ، توجد دورة ساعة تشير إلى وجود بت البيانات.
بمعنى آخر ، نرسل تسلسلين متوازيين إلى البتات - أحدهما للساعة والآخر للبيانات. هذا ما يفعله البرنامج.
الخطوة 4: البرنامج
![البرنامج البرنامج](https://i.howwhatproduce.com/images/002/image-3944-24-j.webp)
طريقة عمل وحدة MAX7219 هذه هي:
- نكتب بايت في سجلها الداخلي.
- يفسر MAX7219 البيانات.
- يتحكم MAX7219 في المصابيح في المصفوفة.
هذا يعني أيضًا أنه لا يتعين علينا الدوران عبر مجموعة مصابيح LED طوال الوقت لإضاءةها - وحدة التحكم MAX7219 تعتني بذلك. يمكنه أيضًا إدارة شدة مصابيح LED.
لذلك ، لاستخدام وحدات MAX7219 بطريقة مناسبة ، نحتاج إلى مكتبة من الوظائف لخدمة هذا الغرض.
أولاً ، نحتاج إلى بعض الوظائف الأساسية من أجل الكتابة إلى سجلات MAX7219.
- كتابة بايت إلى MAX7219.
- كتابة كلمة (2 بايت) إلى MAX7219.
تبدو الوظيفة التي تكتب بايت واحد إلى وحدة التحكم كما يلي:
باطل max7219_byte (uint8_t data) {for (uint8_t i = 8؛ i> = 1؛ i--) {PORTB & = ~ (1 << MAX7219_CLK) ؛ // اضبط CLK على LOW إذا كانت (البيانات & 0x80) // إخفاء MSB لبيانات PORTB | = (1 << MAX7219_DIN) ؛ // ضبط DIN على HIGH else PORTB & = ~ (1 << MAX7219_DIN) ؛ // تعيين DIN على LOW PORTB | = (1 << MAX7219_CLK) ؛ // ضبط CLK على بيانات عالية << = 1 ؛ // التحول إلى اليسار}}
الآن بعد أن أصبح بإمكاننا إرسال وحدات البايت إلى MAX7219 يمكننا البدء في إرسال الأوامر. يتم ذلك عن طريق إرسال 2 byes - الأول لعنوان السجل الداخلي والثاني للبيانات التي نرغب في إرسالها.
هناك أكثر من اثني عشر من المسجلين في وحدة تحكم MAX7219.
إرسال أمر ، أو كلمة ، هو في الأساس إرسال 2 بايت متتالية. وظيفة تنفيذ ذلك بسيطة للغاية.
max7219_word باطل (عنوان uint8_t ، بيانات uint8_t) {PORTB & = ~ (1 << MAX7219_CS) ؛ // تعيين CS إلى LOW max7219_byte (العنوان) ؛ // إرسال العنوان max7219_byte (بيانات) ؛ // إرسال البيانات PORTB | = (1 << MAX7219_CS) ؛ // تعيين CS إلى HIGH PORTB & = ~ (1 << MAX7219_CLK) ؛ // ضبط CLK على LOW}
من المهم أن نلاحظ هنا السطر الذي نعيد فيه إشارة CS إلى HIGH - وهذا يمثل نهاية التسلسل - في هذه الحالة ، نهاية الأمر. يتم استخدام تقنية مماثلة عند التحكم في أكثر من مصفوفة متصلة في سلسلة. الخطوة التالية ، قبل أن نبدأ في تشغيل وإيقاف تشغيل مصابيح LED ، هي تهيئة وحدة التحكم MAX7219. يتم ذلك عن طريق كتابة قيم معينة في سجلات معينة. للراحة ، أثناء تشفيرها ، يمكننا وضع تسلسل التهيئة في مصفوفة.
uint8_t initseq = {0x09، 0x00، // تسجيل وضع فك التشفير، 00 = لا يوجد فك تشفير 0x0a، 0x01، // سجل الكثافة، 0x00.. 0x0f 0x0b، 0x07، // Scan-Limit Register، 0x07 لإظهار كافة الأسطر 0x0c ، 0x01 ، // تسجيل إيقاف التشغيل ، 0x01 = عملية عادية 0x0f ، 0x00 ، // Display-Test Register ، 0x00 = عملية عادية} ؛
نحتاج فقط إلى إرسال الأوامر الخمسة أعلاه بالتسلسل كأزواج عنوان / بيانات. الخطوة التالية - إضاءة صف من المصابيح.
هذا بسيط للغاية - نكتب أمرًا واحدًا حيث يكون البايت الأول هو العنوان (من 0 إلى 7) والبايت الثاني هو 8 بتات تمثل 8 مصابيح LED في الصف.
void max7219_row (uint8_t address، uint8_t data) {if (address> = 1 && address <= 8) max7219_word (address، data)؛ }
من المهم ملاحظة أن هذا سيعمل مع مصفوفة واحدة فقط. إذا قمنا بتوصيل المزيد من المصفوفات في سلسلة ، فستظهر جميعها نفس البيانات. والسبب في ذلك هو أنه بعد إرسال الأمر ، نعيد إشارة CS إلى HIGH مما يؤدي إلى تثبيت جميع وحدات التحكم MAX7219 في السلسلة وإظهار أي أمر كان الأخير.
موصى به:
واجهة متحكم Atmega16 مع شاشة LED مصفوفة نقطية: 5 خطوات
![واجهة متحكم Atmega16 مع شاشة LED مصفوفة نقطية: 5 خطوات واجهة متحكم Atmega16 مع شاشة LED مصفوفة نقطية: 5 خطوات](https://i.howwhatproduce.com/images/009/image-24533-j.webp)
واجهة متحكم Atmega16 مع شاشة LED مصفوفة نقطية: في هذا المشروع سنقوم بواجهة شاشة LED ذات مصفوفة نقطية واحدة مع متحكم AVR (Atmega16). هنا سنعرض المحاكاة في البروتين ، يمكنك تطبيق نفس الشيء في أجهزتك. لذلك سنطبع هنا أولاً حرفًا واحدًا ، دعنا نقول "أ" في t
كيفية بناء مصفوفة LED كبيرة 8 × 8 (MAX7219 LED 10 مم): 9 خطوات (بالصور)
![كيفية بناء مصفوفة LED كبيرة 8 × 8 (MAX7219 LED 10 مم): 9 خطوات (بالصور) كيفية بناء مصفوفة LED كبيرة 8 × 8 (MAX7219 LED 10 مم): 9 خطوات (بالصور)](https://i.howwhatproduce.com/images/011/image-30624-j.webp)
كيفية بناء مصفوفة LED كبيرة 8 × 8 (MAX7219 LED 10 مم): هل عملت مع مصفوفة جاهزة 8x8 LED كشاشات عرض؟ إنها تأتي بأحجام مختلفة ومثيرة للاهتمام للعمل معها. الحجم الكبير المتاح بسهولة حوالي 60 مم × 60 مم. ومع ذلك ، إذا كنت تبحث عن مصفوفة LED جاهزة أكبر بكثير ،
متحكم AVR. تعديل عرض النبض. متحكم محرك DC وشدة ضوء LED: 6 خطوات
![متحكم AVR. تعديل عرض النبض. متحكم محرك DC وشدة ضوء LED: 6 خطوات متحكم AVR. تعديل عرض النبض. متحكم محرك DC وشدة ضوء LED: 6 خطوات](https://i.howwhatproduce.com/images/004/image-9797-j.webp)
متحكم AVR. تعديل عرض النبض. متحكم محرك التيار المستمر وشدة ضوء LED: مرحبًا بالجميع! يعد تعديل عرض النبض (PWM) تقنية شائعة جدًا في الاتصالات السلكية واللاسلكية والتحكم في الطاقة. يتم استخدامه بشكل شائع للتحكم في الطاقة التي يتم تغذيتها لجهاز كهربائي ، سواء كان محركًا أو مصباح LED أو مكبرات صوت وما إلى ذلك
كيفية صنع روبوت متحكم به قائم على DTMF - بدون متحكم وبرمجة - تحكم من أي مكان في العالم - RoboGeeks: 15 خطوة
![كيفية صنع روبوت متحكم به قائم على DTMF - بدون متحكم وبرمجة - تحكم من أي مكان في العالم - RoboGeeks: 15 خطوة كيفية صنع روبوت متحكم به قائم على DTMF - بدون متحكم وبرمجة - تحكم من أي مكان في العالم - RoboGeeks: 15 خطوة](https://i.howwhatproduce.com/images/001/image-1435-80-j.webp)
كيفية صنع روبوت متحكم به قائم على DTMF | بدون متحكم وبرمجة | تحكم من أي مكان في العالم | RoboGeeks: هل تريد أن تصنع روبوتًا يمكن التحكم فيه من أي مكان في العالم ، لنفعل ذلك
شاشة LED مصفوفة نقطية تتفاعل مع متحكم 8051: 5 خطوات
![شاشة LED مصفوفة نقطية تتفاعل مع متحكم 8051: 5 خطوات شاشة LED مصفوفة نقطية تتفاعل مع متحكم 8051: 5 خطوات](https://i.howwhatproduce.com/images/001/image-1643-65-j.webp)
واجهة شاشة LED ذات مصفوفة نقطية مع متحكم 8051: في هذا المشروع ، سنقوم بتوصيل شاشة LED ذات مصفوفة نقطية واحدة مع متحكم 8051. سنعرض هنا محاكاة في البروتيوس ، يمكنك تطبيق نفس الشيء على أجهزتك. لذلك سنقوم أولاً بطباعة حرف واحد ، دعنا نقول "أ" في هذا العرض