جدول المحتويات:
- الخطوة 1: ما نحتاجه لهذا المشروع
- الخطوة 2: الدائرة
- الخطوة 3: إصدار اللوح للدائرة
- الخطوة 4: تحميل الخط
- الخطوة 5: إضافة برامج تشغيل إضافية
- الخطوة 6: إعداد الأجهزة
- الخطوة 7: تحديد الأحرف ورسم خطوط أفقية ورأسية
- الخطوة 8: المربعات والكتل والخطوط المنحدرة
- الخطوة 9: رمز الدرجة والتوضيح والرسم البياني الشريطي والدائرة
- الخطوة العاشرة: جمع القمامة والعناوين والدوائر
- الخطوة 11: عرض الخطوط
- الخطوة 12: الحلقة الرئيسية: الرسم البياني الشريطي والشخصيات المحددة
فيديو: الرسومات على شاشة SSD1306 I2C OLED 128x64 مع CircuitPython باستخدام Itsybitsy M4 Express: 13 خطوة (مع صور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
شاشة 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: رمز الدرجة والتوضيح والرسم البياني الشريطي والدائرة
يتم إنشاء رمز الدرجة من 4 بكسل.
يضيف روتين المحاذاة () مسافات إضافية أمام الرقم لمحاذاة القيم القصيرة لليمين في مسافة ثابتة.
يرسم روتين الرسم البياني (v) رسمًا بيانيًا شريطيًا أفقيًا يعطي النسبة المئوية المحددة. تتم كتابة القيمة في الطرف الأيمن باستخدام حرف "T" لتمثيل 100 (طن أو قمة).
تتطلب الدوائر بعض علم المثلثات لذلك نحتاج إلى استيراد مكتبة الرياضيات في بداية النص. نستخدم الجيب وجيب التمام والراديان لحساب إزاحتي س وص من المركز حيث يتم تدوير نصف القطر بمقدار 90 درجة. يتم رسم النقاط في كل من الأرباع الأربعة لكل حساب للتعويضات.
الخطوة العاشرة: جمع القمامة والعناوين والدوائر
توضح هذه التعليمات مسح الشاشة بالأبيض والأسود ، وكتابة نص على الشاشة واستخدام روتين "جمع القمامة" gc () لتحرير مساحة. توضح القيمة أن هناك مساحة كبيرة لنص أكبر بكثير.
ثم يرسم البرنامج دوائر بمركز مشترك ومراكز متحركة. روتين سريع للغاية بالنظر إلى مقدار الحساب المطلوب.
يتم كتابة عنوان العرض التوضيحي للخطوط بعد ذلك.
الخطوة 11: عرض الخطوط
يعطي هذا الروتين حقًا للخط () تمرينًا. يتم رسم الخطوط الشعاعية من كل زاوية من الزوايا الأربع للعرض مع تباعد مختلف أنماط تشكيل.
الخطوة 12: الحلقة الرئيسية: الرسم البياني الشريطي والشخصيات المحددة
هذه هي الحلقة الرئيسية للبرنامج. القيم من مقياس الجهد تغير القيم المعروضة وتغير طول الرسم البياني الشريطي.
إذا تم الضغط على الزر ، فسيتم تبديل الأحرف المحددة كما هي 1/0 و True / False. تعمل هذه الحلقة ببطء شديد لأن رسم الأحرف المحددة مسبقًا عملية بطيئة. يمكنك تسريع الأمور من خلال التعليق على بعضها.
لا يوجد مستشعر درجة حرارة مُركب ، لتبسيط هذا العرض التوضيحي ، لذا فإن علامة "؟" يتم عرضه بدلاً من قيمة في السطر 190.
موصى به:
رسم متحرك على شاشة LCD مقاس 16 × 2 I2c باستخدام Nucleo STM32: 4 خطوات
الرسوم المتحركة على شاشة LCD 16x2 I2c باستخدام STM32 Nucleo: مرحبًا يا أصدقاء ، هذا برنامج تعليمي يوضح كيفية عمل رسوم متحركة مخصصة على شاشة LCD مقاس 16 × 2 i2c. هناك عدد قليل جدًا من الأشياء اللازمة للمشروع ، لذلك إذا كان لديك وصول إلى الرمز ، يمكنك الانتهاء في غضون ساعة واحدة. بعد اتباع هذا البرنامج التعليمي ، ستكون قادرًا على
CircuitPython مع Itsybitsy M4 Express 1: الإعداد: 9 خطوات
CircuitPython مع Itsybitsy M4 Express 1: الإعداد: جديد في البرمجة؟ هل تستخدم Scratch فقط وتريد الانتقال إلى لغة نصية توفر وصولاً سهلاً إلى الحوسبة المادية باستخدام مصابيح LED ومفاتيح وشاشات وأجهزة استشعار؟ ثم قد يكون هذا لك. لقد لاحظت أن هذا الموقع يحتوي على العديد من Instructables ab
شاشة LCD I2C / IIC - قم بتحويل شاشة SPI LCD إلى شاشة I2C LCD: 5 خطوات
شاشة LCD I2C / IIC | قم بتحويل شاشة SPI LCD إلى شاشة I2C LCD: يحتاج استخدام شاشة spi LCD إلى عدد كبير جدًا من التوصيلات التي يصعب فعلها ، لذلك وجدت وحدة يمكنها تحويل شاشة i2c LCD إلى شاشة spi LCD ، لذا فلنبدأ
محول حرف LCD I2c (مثال على اتصال I2c): 12 خطوة (مع صور)
محول حرف LCD I2c (مثال على اتصال I2c): أقوم بعمل مخطط اتصال لمحول i2c لعرض الأحرف. تحقق من التحديثات على موقعي ، والآن أضفت مخطط توصيل الأسلاك لاستخدام المكتبة الأصلية وليس مكتبة LiquidCrystal Arduino. لشاشات LCD ذات الأحرف ، مشروع متشعب
احصل على شاشة لـ Google Home باستخدام Raspberry Pi و Dialogflow (بديل Chromecast): 13 خطوة
احصل على شاشة لـ Google Home باستخدام Raspberry Pi و Dialogflow (Chromecast Alternative): منذ أن اشتريت منزل Google الخاص بي ، كنت أرغب في التحكم في أجهزتي في المنزل باستخدام الأوامر الصوتية. إنه يعمل بشكل رائع بكل الطرق ، لكنني شعرت بالسوء بسبب ميزة الفيديو الخاصة به. لا يمكننا مشاهدة Youtube و Netflix إلا إذا كان لدينا جهاز Chromecast أو T