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

الرسومات على شاشة SSD1306 I2C OLED 128x64 مع CircuitPython باستخدام Itsybitsy M4 Express: 13 خطوة (مع صور)
الرسومات على شاشة SSD1306 I2C OLED 128x64 مع CircuitPython باستخدام Itsybitsy M4 Express: 13 خطوة (مع صور)

فيديو: الرسومات على شاشة SSD1306 I2C OLED 128x64 مع CircuitPython باستخدام Itsybitsy M4 Express: 13 خطوة (مع صور)

فيديو: الرسومات على شاشة SSD1306 I2C OLED 128x64 مع CircuitPython باستخدام Itsybitsy M4 Express: 13 خطوة (مع صور)
فيديو: OLED-дисплеи с Arduino — OLED I2C и SPI 2024, يوليو
Anonim
الرسومات على شاشة 128x64 SSD1306 I2C OLED 128x64 مع CircuitPython باستخدام Itsybitsy M4 Express
الرسومات على شاشة 128x64 SSD1306 I2C OLED 128x64 مع CircuitPython باستخدام Itsybitsy M4 Express

شاشة SSD1306 OLED صغيرة (0.96 بوصة) ، غير مكلفة ، ومتاحة على نطاق واسع ، I2C ، شاشة رسومية أحادية اللون بدقة 128 × 64 بكسل ، والتي يمكن توصيلها بسهولة (4 أسلاك فقط) إلى لوحات تطوير المعالجات الدقيقة مثل Raspberry Pi أو Arduino أو Adafruit Itsybitsy M4 Express أو CircuitPlayground Express أو أجهزة CircuitPython الأخرى. يمكن تنزيل برامج التشغيل من الإنترنت.

كانت الإجراءات الرسومية لـ Arduinos متاحة لبعض الوقت ولكن ليس لأنظمة التطوير الأخرى.

تسمح برامج تشغيل الأجهزة الأساسية للمستخدمين بما يلي:

  • امسح الشاشة إلى الأسود أو الأبيض. oled.fill (c)
  • اكتب سلسلة نصية على الشاشة في الموضع المحدد (س ، ص) oled.text ("نص" ، س ، ص ، ج)
  • ارسم نقطة في الموضع المحدد (x ، y) oled.pixel (x ، y ، c)
  • قم بتحميل ملف صورة على الشاشة. (غير مستخدم في هذا المشروع)
  • تحديث شاشة oled.show ()

سيوضح هذا Instructable ، بإجراءات بسيطة ، كيفية الرسم بشكل تفاعلي:

  • خطوط
  • الدوائر
  • مربعات جوفاء
  • كتل صلبة
  • شخصيات محددة مسبقًا

سأستخدم Adafruit Itsybitsy M4 Express لإثبات الأساليب ولكن الكود في Python يمكن نقله بسهولة إلى أنظمة تطوير أخرى.

لقد اخترت Itsybitsy M4 لهذا العرض التوضيحي لأنه غير مكلف وقوي وسهل البرمجة ، ويتضمن مدخلات / مخرجات تناظرية ورقمية ، ولديه الكثير من الذاكرة ، ولديه وثائق بسهولة ، ومنتديات مساعدة على الإنترنت ، ومن السهل جدًا إعداده في البداية ويدعم CircuitPython ، وهو إصدار من Python مثالي لأولئك الجدد في مجال الترميز.

بمجرد قيامك بإعداد Itsybitsy و SSD1306 فهذا بناء بسيط للغاية للوحة التجارب. لا توجد كتابة ، يمكن تنزيل جميع الملفات.

هذا مشروع غير مكلف وسهل البناء ولكنه يقدم بعض الأفكار المتوسطة / المتقدمة. أتمنى أن تجربها. لقد تأثرت بهذا العرض الصغير.

الخطوة 1: ما نحتاجه لهذا المشروع

ما نحتاجه لهذا المشروع
ما نحتاجه لهذا المشروع

المعدات:

  • عرض SSD1306 I2C أحادي 128 × 64 بكسل
  • إتسيبيتسي إم 4 إكسبرس
  • كابل microUSB إلى USB - لبرمجة اللوحة
  • اللوح
  • 1 10 كيلو أوم مقياس الجهد
  • 1 زر التبديل
  • سلك التوصيل - يمكن أن تساعد الألوان المختلفة
  • الكمبيوتر (لكتابة الكود وتحميله) - كمبيوتر محمول قديم جدًا سيفي بالغرض.

برمجة:

محرر Mu - لكتابة التعليمات البرمجية وتحميل البرنامج النصي إلى Itsybitsy

يتم شرح إعداد Itsybitsy هنا:

أحدث إصدار من CircuitPython:

مكتبات CircuitPython:

محرر Mu:

الخطوة 2: الدائرة

الدائرة
الدائرة

هذه دائرة بسيطة جدًا للإعداد. توضح الصفحة التالية اللوح النهائي بأسلاك ملونة لتسهيل الأمور.

الخطوة 3: إصدار اللوح للدائرة

إصدار اللوح للدائرة
إصدار اللوح للدائرة

توجد قضبان كهربائية في الجزء العلوي والسفلي من اللوح. باستخدام السلك الأحمر ، انضم إلى القضبان + ve معًا. مع السلك الأسود ، انضم إلى القضبان معًا.

ربط دبوس 3V من Itsybitsy إلى السكة السفلية + خمسة - السلك الأحمر. (العمود 12)

قم بربط دبوس G (GND) الخاص بـ Itsybitsy بالسكك الحديدية العلوية - السلك الأسود. (العمود 12)

في العمودين 33 و 34 ، قم بتوصيل دبابيس SSD1306 VCC و GND بقضبان الطاقة العلوية.

باستخدام سلك وردي ، قم بربط دبابيس SCL معًا.

بسلك رمادي ، انضم إلى دبابيس SDA معًا.

باستخدام الأسلاك الحمراء والسوداء ، قم بتوصيل المسامير الخارجية لمقياس الجهد بقضبان الطاقة العلوية وبسلك أخضر ، قم بتوصيل دبوس المركز (الماسحة) بـ A5 في Itsybitsy.

قم بتوصيل أحد جانبي مفتاح الزر بسلك أرجواني بالدبوس 2 وبسلك أسود ، قم بتوصيل الجانب الآخر بسكة GND.

الخطوة 4: تحميل الخط

تحميل الخط
تحميل الخط

قم بتنزيل ملف الخط واسحبه إلى محرك الأقراص CIRCUITPY. (هذا هو إتسبيتسي.)

انقر نقرًا مزدوجًا فوق مجلد lib وانظر إلى قائمة برامج التشغيل التي قمت بتحميلها بالفعل.

الخطوة 5: إضافة برامج تشغيل إضافية

إضافة برامج تشغيل إضافية
إضافة برامج تشغيل إضافية

ستحتاج إلى ما يلي في مجلد lib:

  • simpleio.mpy
  • adafruit_bus_device
  • adafruit_framebuf.mpy
  • adafruit_ssd1306.mpy

إذا كانت مفقودة ، فاسحبها إلى المجلد من أحدث إصدار متاح.

أنت الآن جاهز لتنزيل البرنامج النصي.

بمجرد تحميله في محرر Mu ، يمكنك حفظه في Itsybitsy بالاسم main.py.

يعمل البرنامج من خلال سلسلة من العروض التوضيحية للخطوط والدوائر والرسم البياني الشريطي الديناميكي وعرض الأحرف المحددة. فقط أدر القدر ببطء واضغط مع الاستمرار على الزر للتحكم في الشاشة.

تقدم الصفحات التالية مزيدًا من المعلومات حول كيفية عمل البرنامج.

الخطوة 6: إعداد الأجهزة

قم بإعداد الأجهزة
قم بإعداد الأجهزة

يقوم هذا القسم الأول بتحميل جميع المكتبات وإعداد SSD1306 ومقياس الجهد ومفتاح الزر على المسامير الصحيحة.

الخطوة 7: تحديد الأحرف ورسم خطوط أفقية ورأسية

تحديد الحروف ورسم خطوط أفقية ورأسية
تحديد الحروف ورسم خطوط أفقية ورأسية
تحديد الحروف ورسم خطوط أفقية ورأسية
تحديد الحروف ورسم خطوط أفقية ورأسية

يقوم هذا القسم بإعداد الأحرف المحددة مسبقًا. يبلغ عرضها 5 نقاط وارتفاعها 8 نقاط. ترسم كل نقطة في التعريف 4 نقاط على الشاشة بحيث تظهر بشكل أفضل.

من السهل رسم الخطوط الأفقية والعمودية بحلقة. عليك فقط أن تتذكر أنك بحاجة إلى النقطة الإضافية في النهاية. سيحتاج الخط من (0 ، 7) إلى (5 ، 7) إلى 6 نقاط: مع x يساوي 0 ، 1 ، 2 ، 3 ، 4 و 5 على التوالي.

أمر النقطة الأساسي هو oled.pixel (x ، y ، color) - 0 باللون الأسود و 1 باللون الأبيض.

الأصل (0 ، 0) في أعلى يسار الشاشة ، 0-127 بكسل أفقيًا (من اليسار إلى اليمين) و0-63 عموديًا (من أعلى إلى أسفل).

الخطوة 8: المربعات والكتل والخطوط المنحدرة

الصناديق والكتل والخطوط المنحدرة
الصناديق والكتل والخطوط المنحدرة

الصناديق مبنية من خطوط أفقية وعمودية.

الكتل مبنية من خطوط أفقية متعددة.

بالنسبة للخطوط المنحدرة ، نتحقق أولاً من أن الإحداثيات تُعطى لليسار أولاً. إذا لم نقم بتبديلها حيث سيتم رسم الخط من اليسار إلى اليمين.

ثم نحسب الميل ونستخدمه لتعيين قيمة y لكل قيمة x.

يجعل إجراء العرض (t) الشاشة المحدثة مرئية وينتظر تأخيرًا قصيرًا ، t ثانية.

الخطوة 9: رمز الدرجة والتوضيح والرسم البياني الشريطي والدائرة

رمز الدرجة ، Anlgnment ، الرسم البياني الشريطي والدائرة
رمز الدرجة ، Anlgnment ، الرسم البياني الشريطي والدائرة

يتم إنشاء رمز الدرجة من 4 بكسل.

يضيف روتين المحاذاة () مسافات إضافية أمام الرقم لمحاذاة القيم القصيرة لليمين في مسافة ثابتة.

يرسم روتين الرسم البياني (v) رسمًا بيانيًا شريطيًا أفقيًا يعطي النسبة المئوية المحددة. تتم كتابة القيمة في الطرف الأيمن باستخدام حرف "T" لتمثيل 100 (طن أو قمة).

تتطلب الدوائر بعض علم المثلثات لذلك نحتاج إلى استيراد مكتبة الرياضيات في بداية النص. نستخدم الجيب وجيب التمام والراديان لحساب إزاحتي س وص من المركز حيث يتم تدوير نصف القطر بمقدار 90 درجة. يتم رسم النقاط في كل من الأرباع الأربعة لكل حساب للتعويضات.

الخطوة العاشرة: جمع القمامة والعناوين والدوائر

جمع القمامة والعناوين والدوائر
جمع القمامة والعناوين والدوائر

توضح هذه التعليمات مسح الشاشة بالأبيض والأسود ، وكتابة نص على الشاشة واستخدام روتين "جمع القمامة" gc () لتحرير مساحة. توضح القيمة أن هناك مساحة كبيرة لنص أكبر بكثير.

ثم يرسم البرنامج دوائر بمركز مشترك ومراكز متحركة. روتين سريع للغاية بالنظر إلى مقدار الحساب المطلوب.

يتم كتابة عنوان العرض التوضيحي للخطوط بعد ذلك.

الخطوة 11: عرض الخطوط

عرض الخطوط
عرض الخطوط

يعطي هذا الروتين حقًا للخط () تمرينًا. يتم رسم الخطوط الشعاعية من كل زاوية من الزوايا الأربع للعرض مع تباعد مختلف أنماط تشكيل.

الخطوة 12: الحلقة الرئيسية: الرسم البياني الشريطي والشخصيات المحددة

الحلقة الرئيسية: الرسم البياني الشريطي والشخصيات المحددة
الحلقة الرئيسية: الرسم البياني الشريطي والشخصيات المحددة

هذه هي الحلقة الرئيسية للبرنامج. القيم من مقياس الجهد تغير القيم المعروضة وتغير طول الرسم البياني الشريطي.

إذا تم الضغط على الزر ، فسيتم تبديل الأحرف المحددة كما هي 1/0 و True / False. تعمل هذه الحلقة ببطء شديد لأن رسم الأحرف المحددة مسبقًا عملية بطيئة. يمكنك تسريع الأمور من خلال التعليق على بعضها.

لا يوجد مستشعر درجة حرارة مُركب ، لتبسيط هذا العرض التوضيحي ، لذا فإن علامة "؟" يتم عرضه بدلاً من قيمة في السطر 190.

موصى به: