جدول المحتويات:
فيديو: مولد الأحرف المخصص (Adafruit HT16k33 Matrix): 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
تعد طباعة الأحرف الخاصة على شاشات LCD ومصفوفات LED متعة كبيرة. إجراء طباعة الأحرف الخاصة أو الأحرف المخصصة هو إنشاء مصفوفة بقيم ثنائية لكل صف وعمود. قد يكون من الصعب العثور على الكود الصحيح لأي حرف مخصص ، وبالتالي ، فإن هذا المشروع سوف يقوم بأتمتة وإنشاء رمز لمصفوفة 8x8 led وسيطبع أيضًا الحرف المخصص على Adafruit HT16k33 8x8 Bicolor Matrix.
Adafruit HT16k33 ، تتواصل مصفوفة LED ثنائية اللون مقاس 1.2 بوصة 8 × 8 مع Arduino عبر بروتوكول اتصال I2C
وفقًا لـ Adafruit ، "تم تصميم هذا الإصدار من حقيبة الظهر LED لمصفوفات 1.2" 8x8. إنهم يقيسون 1.2 "x1.2" فقط لذا من العار استخدام مجموعة ضخمة من الرقائق للتحكم فيها. تحل حقيبة الظهر هذه الانزعاج الناجم عن استخدام 16 دبوسًا أو مجموعة من الرقائق من خلال وجود وحدة تحكم مصفوفة تيار مستمر I2C موضوعة بدقة على الجزء الخلفي من PCB. تعتني شريحة وحدة التحكم بكل شيء ، حيث تقوم برسم جميع مصابيح LED البالغ عددها 64 في الخلفية. كل ما عليك فعله هو كتابة البيانات إليها باستخدام واجهة 2-pin I2C. هناك نوعان من دبابيس تحديد العنوان حتى تتمكن من تحديد واحد من 8 عناوين للتحكم في ما يصل إلى 8 منها على ناقل I2C واحد ثنائي السنون (بالإضافة إلى أي شرائح أو مستشعرات I2C أخرى تريدها). يمكن لشريحة برنامج التشغيل "تعتيم" الشاشة بالكامل من سطوع 1/16 إلى سطوع كامل في خطوات 1/16. لا يمكنها تعتيم مصابيح LED الفردية ، فقط الشاشة بأكملها مرة واحدة."
في هذا الدليل ، سأشرح لك كيفية الحصول على الرمز لأي شخصية مخصصة في الوقت الفعلي وطباعة هذا الحرف على Led Matrix.
الخطوة 1: المكونات
هذا التدريب هو مشروع أساسي على Adafruit HT16k33 Matrix. انت تحتاج:
- Adafruit HT16k33 1.2 '' x 1.2 '' 8x8 Bicolor Led Matrix.
- اردوينو (أي نوع مختلف ولكن يفضل Uno).
- اللوح
- مزود الطاقة
الخطوة 2: التخطيطي
تعتبر مصفوفة الأسلاك Adafruit HT16k33 Led سهلة للغاية لأننا نحتاج إلى توصيل الساعة ودبوس البيانات كما نفعل عادةً مع أجهزة I2C. ستكون الاتصالات مثل:
- SCL (دبوس الساعة من المصفوفة) متصل بـ A5 (دبوس الساعة الخاص بـ Arduino Uno. راجع ورقة البيانات لمعرفة المتغيرات الأخرى من Arduino)
- SDA (دبوس البيانات من Matrix) متصل بـ A4. (ارجع إلى ورقة البيانات للتعرف على المتغيرات الأخرى من Arduino)
- VCC متصل بـ 5V.
- GND متصل بـ 0V.
يمكنك أيضًا الرجوع إلى التخطيطي الموضح في الشكل.
الخطوة 3: الكود
كود اردوينو
أولاً ، سنقوم بتضمين جميع المكتبات المطلوبة.
- Wire.h: - لاتصالات I2C
- Adafruit_LedBackpack
- Adafruit_GFX
كل هذه المكتبات متوفرة في Arduino IDE نفسه. عليك فقط تثبيتها من Library Manager. رسم >> تضمين مكتبة >> إدارة المكتبات
وظيفة الإعداد ()
إعداد مصفوفة 8 بت عدد صحيح بدون إشارة إلى قيم ثنائية strore8 لـ 8 صفوف ، من 8 بت لكل صف (8 أعمدة). قم بتعيين عنوان اتصال I2C.
وظيفة الحلقة ()
نظرًا لأننا نحتاج إلى طباعة الحرف ، فنحن بحاجة إلى رمز الحرف في الوقت الفعلي. الطريقة الأكثر ملاءمة هي إرسال الرمز بشكل تسلسلي وسيقوم Arduino بقراءة البيانات التسلسلية وطباعة الحرف وفقًا لذلك. قد يكون إرسال مصفوفة بشكل متسلسل مهمة شاقة ، ومن ثم يمكننا إرسال سلسلة بها جميع الرموز الثمانية (8 بت لكل منها) مفصولة بفواصل.
قراءة السلسلة التسلسلية:
إذا (Serial.available ()> 0) {data = Serial.readStringUntil ('\ n') ؛ Serial.println (بيانات) ؛ }
بعد قراءة النص ، نحتاج إلى فك شفرة هذه السلسلة واستعادة القيم الثنائية. كما نعلم ، فإن تنسيق سلسلة الإدخال سيكون دائمًا كما هو. يمكننا ترميزها للعثور على سلاسل فرعية وتحويل السلاسل إلى قيمها العشرية المكافئة. ثم سنمرر المصفوفة العشرية (uint8_t) لطباعة الحرف على المصفوفة.
تحويل سلسلة من 8 بتات إلى عدد عشري:
int val (String str) {int v = 0 ؛ لـ (int i = 0؛ i <8؛ i ++) {if (str == '1') {v = v + power (2، (7-i)) ؛ }} return v؛ }
لتقييم المكافئ العشري باستخدام دالة الطاقة (pow ()) ، تحتاج إلى التعامل مع قيم النوع المزدوج ، وبالتالي يمكننا كتابة دالة الطاقة الخاصة بنا على النحو التالي:
int power (int base، int exponent) {int c = 1؛ لـ (int i = 0؛ i {c = c * base؛} إرجاع c؛}
الآن ، أخيرًا ، سنكتب الكود لطباعة الحرف باستخدام المصفوفة المُنشأة المكونة من 8 قيم عشرية (واحدة لكل صف).
void print_emoji (uint8_t emoji ، String color) {matrix.clear ()؛ إذا (اللون == "أحمر") {matrix.drawBitmap (0 ، 0 ، رمز تعبيري ، 8 ، 8 ، LED_RED) ؛ } else {matrix.drawBitmap (0، 0، emoji، 8، 8، LED_GREEN)؛ } matrix.writeDisplay () ؛ تأخير (500) ؛ }
ستفهم هذا الرمز بسهولة لأننا نقوم بمسح المصفوفة أولاً ثم نعرض الحرف باستخدام مصفوفة الرموز التعبيرية باستخدام دالة matrix.drawBitmap (). لا تنس كتابة "matrix.writeDisplay ()" بعد كل التنسيقات لأن هذه الوظيفة ستعرض فقط جميع التنسيقات التي تمت حتى الآن على المصفوفة.
يمكنك الآن إرسال السلسلة بكل قيم الكود وسيقوم Arduino بطباعة الحرف على المصفوفة. يمكنك تنزيل كود Arduino من الأسفل. لأغراض تجريبية ، يمكنك الكتابة
B00111100 ، B01000010 ، B10100101 ، B10000001 ، B10100101 ، B10011001 ، B01000010 ، B00111100
هذه السلسلة في Serial Monitor ويمكنها رؤية الحرف في المصفوفة.
الآن ، نحتاج إلى إرسال البيانات التسلسلية تلقائيًا من البرنامج عندما نضغط على الزر "طباعة". لأتمتة هذا ، سنقوم بإنشاء مصفوفة تجريبية 8 × 8 وسنوفر وسيلة للمستخدم لاختيار الخلايا التي يجب تلوينها ثم سيقوم البرنامج تلقائيًا بإنشاء الكود وإرسال البيانات بشكل تسلسلي إلى Arduino بتنسيق سلسلة. اخترت المعالجة لبقية عملي. في المعالجة ، يمكننا إنشاء مصفوفة باستخدام 64 زرًا (مستطيلات بوظيفة مضغوطة) ويمكننا تعيين قيمة ولون معينين في البداية (فليكن اللون الأبيض بقيمة 0). الآن عند الضغط على الزر ، سنقوم بتحويل لون الزر إلى اللون الأسود وضبط القيمة على 1. إذا ضغط المستخدم على الزر نفسه مرة أخرى ، ستتغير قيمته مرة أخرى إلى 0 ويعود اللون إلى الأبيض. سيساعد هذا المستخدم على تغيير الكود مرارًا وتكرارًا بسهولة ويمكنه إجراء التعديلات بسهولة دون مسح المصفوفة بأكملها مرة أخرى. عند النقر فوق الزر "طباعة" ، سنقوم بعمل سلسلة مماثلة لتلك الموضحة أعلاه للعرض التوضيحي. ثم سيتم إرسال السلسلة إلى المنفذ التسلسلي المحدد.
يمكنك تنزيل رمز المعالجة من الأسفل. هذا هو أول كود لي في المعالجة. تحظى الاقتراحات الخاصة بالطريقة المحسنة للترميز بتقدير كبير.
يمكنك أن ترى كيف تبدو واجهة المستخدم الرسومية وكيف يتم إنشاء الشخصية باستخدام النظام. لن يستغرق الأمر ثوانٍ لإنشاء نفس الحرف على المصفوفة.
يمكنك تنزيل الكود والصور الخاصة بهذا المشروع من مستودع GitHub الخاص بي.
موصى به:
OreServer - خادم ماين كرافت Raspberry Pi المخصص مع مؤشر مشغل LED: 9 خطوات (بالصور)
OreServer - خادم ماين كرافت Raspberry Pi المخصص مع مؤشر مشغل LED: تحديث يوليو 2020 - قبل البدء في هذا المشروع ، يرجى العلم أنه تم إجراء الكثير من التغييرات والتحديثات على أدوات البرامج المختلفة التي استخدمتها لإنشاء هذا أكثر من اثنين سنين مضت. نتيجة لذلك ، لم تعد العديد من الخطوات تعمل كما هو مكتوب
مولد الموسيقى المعتمد على الطقس (مولد ميدي ESP8266): 4 خطوات (بالصور)
مولد الموسيقى المعتمد على الطقس (ESP8266 Based Midi Generator): مرحبًا ، سأشرح اليوم كيفية صنع مولد الموسيقى الخاص بك الذي يعتمد على الطقس. إنه يعتمد على ESP8266 ، وهو نوع يشبه Arduino ، ويستجيب لدرجة الحرارة والمطر وشدة الضوء. لا تتوقع أن تقوم بعمل أغانٍ كاملة أو برنامج على وتر
مولد - مولد تيار مباشر باستخدام مفتاح ريد: 3 خطوات
المولد - مولد التيار المستمر باستخدام مفتاح Reed Switch: مولد التيار المستمر البسيط مولد التيار المباشر (DC) هو آلة كهربائية تحول الطاقة الميكانيكية إلى تيار كهربائي مباشر هام: يمكن استخدام مولد التيار المباشر (DC) كمحرك DC بدون أي إنشائية التغييرات
كيفية إنشاء حرف ثنائي الأبعاد باستخدام وحدة التحكم في الأحرف في Unreal Engine 4 باستخدام برنامج Visual Script للكمبيوتر الشخصي: 11 خطوة
كيفية إنشاء حرف ثنائي الأبعاد باستخدام وحدة تحكم الأحرف في Unreal Engine 4 باستخدام برنامج Visual Script للكمبيوتر: كيفية إنشاء شخصية ثنائية الأبعاد باستخدام وحدة تحكم في الأحرف في محرك Unreal 4 باستخدام برنامج نصي مرئي للكمبيوتر الشخصي مرحبًا ، أنا جوردان ستيلتز. أعمل على تطوير ألعاب الفيديو منذ أن كان عمري 15 عامًا. سيعلمك هذا البرنامج التعليمي كيفية إنشاء شخصية أساسية باستخدام
كيفية طباعة الأحرف المخصصة في شاشة LCD باستخدام متحكم 8051: 4 خطوات
كيفية طباعة الأحرف المخصصة في شاشة LCD باستخدام متحكم 8051: سنخبرك في هذا المشروع عن كيفية طباعة الأحرف المخصصة في شاشة LCD مقاس 16 * 2 باستخدام متحكم 8051. نحن نستخدم شاشات الكريستال السائل في وضع 8 بت. يمكننا أن نفعل الشيء نفسه مع وضع 4 بت أيضًا