قام المحفل

STONE مسلسل HMI اردوينو عرض محو الأمية للتعلم المبكر

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

تصميم آلة التعلم المبكر باستخدام شاشة اللمس التسلسلية STVI056WT-01 ، للتعرف على الأشكال من خلال النظر إلى الصور ، والتعرف على الكلمات وفقًا للألوان ، وتصميم تنسيق ترفيهي لتحديد الأخطاء الصحيحة ، والنتيجة أو اجتياز المستوى ، حتى يتمكن الأطفال من تعلم التعرف على الألوان وفهم الأشكال الأساسية وتعلم الكلمات المقابلة بطريقة مريحة ومرحة.

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

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

يتم عرض بيئة الأجهزة الخاصة بالعرض التوضيحي في الشكل 1 والشكل 2 والشكل 3.

يأتي STONE رسميًا مع لوحتين ، من بينها ، المربع الأول عبارة عن لوحة تنزيل USB واللوحة الطويلة عبارة عن USB إلى لوحة اتصالات تسلسلية (ومصدر طاقة DC2V للشاشة التسلسلية).

STONE المسلسل HMI Arduino عرض محو الأمية للتعلم المبكر IOT PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
STONE مسلسل HMI اردوينو عرض محو الأمية للتعلم المبكر

(الشكل 1: الاتصال وتوصيل الطاقة لشاشة STONE التسلسلية)  الوصف: 下载 连接 2(الشكل 2: مخطط توصيل لتنزيل ملفات التحكم في الرسوم الأساسية من شاشة STONE)

الوصف: اردوينو 与 USB 到 串口 转换 板 连接(الشكل 3: اتصال TX و RX و GND بين لوحة اتصالات الشاشة التسلسلية STONE ولوحة تطوير اردوينو)

STONE المسلسل HMI Arduino عرض محو الأمية للتعلم المبكر IOT PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
STONE مسلسل HMI اردوينو عرض محو الأمية للتعلم المبكر

(الشكل 4: منطقة الرسم الأساسية للتحكم في الرسومات والعنوان المتغير وإعدادات المعلمات الأخرى)

بعد تحديد عنصر تحكم Basicgraphics في STONE TOOLBox (برنامج تصميم واجهة المستخدم الرسومية) قائمة التكوين المتغير (D) ، وتعيين منطقة الرسم ومعلمات العنوان المتغير ، يتم استخدام التعليمات 0x82 للكتابة إلى عنوان الذاكرة المتغيرة المحدد (تم تعيين 0x1000 هنا) بعد تعيين منطقة الرسم ومعلمات العنوان المتغير ، يتم استخدام التعليمات 0x82 لكتابة CMD + Data_pack_Num_Max + Data إلى عنوان الذاكرة المتغير المحدد (0x1000 في هذه الحالة) لإكمال تنفيذ وظائف الرسم. يظهر رمز الوظيفة المحدد في الشكل 6 ، حيث يوجد تعليمات رسم خط 0x0002 ، باستخدام المثال التالي.

STONE المسلسل HMI Arduino عرض محو الأمية للتعلم المبكر IOT PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
STONE مسلسل HMI اردوينو عرض محو الأمية للتعلم المبكر

(الشكل 5: تنسيق أمر بيانات التحكم في الرسومات الأساسية)

STONE المسلسل HMI Arduino عرض محو الأمية للتعلم المبكر IOT PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
STONE مسلسل HMI اردوينو عرض محو الأمية للتعلم المبكر

STONE المسلسل HMI Arduino عرض محو الأمية للتعلم المبكر IOT PlatoBlockchain Data Intelligence. البحث العمودي. عاي.(الشكل 6: رسم توضيحي لأوامر خط الرسم والمستطيل للتحكم الأساسي في الرسم)

تعليمات الرسم الخطي 0x0002 ، مثال على الاستخدام.

لتوصيل خط أسود من إحداثيات (340 ، 200) إلى إحداثيات (585 ، 200) ، تكون التعليمات

A5 5A 11 82 10 00 00 02 00 01 00 00 01 54 00 C8 02 49 00 C8

ارسم ثلاثة خطوط سوداء مغلقة في مثلث به ثلاثة رؤوس عند الإحداثيات (200 ، 200) ، (300 ، 200) ، (250 ، 100) ، والتعليمات هي

A5 5A 19 82 10 00 00 02 00 03 00 00 00 C00 8 C00 8 01C 2 C00 8 FA 00 00 64 C00 8 C00

ما سبق هو 0x1000 هو العنوان المتغير للتحكم الأساسي في الرسومات ، و 0x0002 هو رمز التعليمات ، و 0x0001 و 0x0003 عبارة عن سطر واحد و 1 أسطر على التوالي ، و 3x0 هو رمز اللون ، والقيمة 0000 سوداء والقيمة ffff بيضاء ساطعة. إحداثيات XY فورية أخرى لكل نقطة.

مثال على رسم مستطيل.

مستطيل إحداثيات قمة اليسار العلوي (340 ، 237) ، إحداثيات رأس اليمين السفلي (585 ، 340) لون أسود ، الأمر هو

A5 5A 11 82 10 00 00 03 00 01 01 54 00 إد 02 49 01 54 00 00

ارسم مستطيلين في نفس الوقت (340 ، 237) - (585 ، 340) ، (324 ، 221) - (601 ، 356) ، الأمر هو

A5 5A 1B 82 10 00 00 03 00 02 01 54 00 ED 02 49 01 54 00 00 01 44 00 DD 02 59 01 64 FF FF

ما سبق هو 0x1000 هو العنوان المتغير للتحكم الأساسي في الرسومات ، 0x0003 هو رمز أمر المستطيل ، 0x0001 ، 0x0002 عبارة عن مستطيل واحد ، مستطيلان ، 1x2 ، 0xffff هي رمز اللون ، قيمة 0000 سوداء ، قيمة fffff ساطعة أبيض. الآخرون هم إحداثيات XY للرأس الأيسر العلوي والرأس الأيمن السفلي لكل مستطيل.

STONE المسلسل HMI Arduino عرض محو الأمية للتعلم المبكر IOT PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
STONE مسلسل HMI اردوينو عرض محو الأمية للتعلم المبكر

(الشكل 7: مستطيل يملأ ويرسم أوامر دائرة للتحكم في الرسومات الأساسية)

مثال لتعبئة المستطيل.

أمر تعبئة المستطيل الأسود (470 ، 200) ~ (550 ، 255) هو

A5 5A 11 82 10 00 00 04 00 01 01 D6 00 C8 02 26 00 FF 00 00 00

مثال على رسم دائرة.

مركز الدائرة (470 ، 200) ، R = 50 أسود ، التعليمات هي

A5 5A 0F 82 10 00 00 05 00 01 01 D6 00 C8 00 32 00 00

لرسم دائرتين في نفس الوقت ، المركز أ (470 ، 200) R = 50 والمركز B (256 ، 200) R = 80 ، كلاهما باللون الأسود ، الأمر هو

A5 5A 17 82 10 00 00 05 00 02 01 D6 00 C8 00 32 00 00 01 00 00 C8 00 50 00 00

STONE المسلسل HMI Arduino عرض محو الأمية للتعلم المبكر IOT PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
STONE مسلسل HMI اردوينو عرض محو الأمية للتعلم المبكر

(الشكل 8: أمر Arc للتحكم الأساسي في الرسومات)

دقة القوس هي 0.5 درجة ، 360 درجة تقابل 720 ، و 0 درجة في الاتجاه الرأسي التصاعدي.

مثال على القوس.

القوس العلوي 315 درجة للبدء - 45 درجة حتى النهاية ، مركز الدائرة (300 ، 200) R = 80 ، أسود ، الأمر هو

A5 5A 13 82 10 00 00 0B 00 01 00 00 01 2C 00 C8 00 50 02 76 00 5A

بخصوص الألوان.

0x0000 أسود. 0xffff أبيض. 0x00ff هو أزرق. 0xf000 أحمر

0xff60 أصفر ، 0x2f60 أخضر

STONE المسلسل HMI Arduino عرض محو الأمية للتعلم المبكر IOT PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
STONE مسلسل HMI اردوينو عرض محو الأمية للتعلم المبكر

(الشكل 9: معلمات وعناوين لوحة رسم واجهة التحكم في الرسومات الأساسية)

STONE المسلسل HMI Arduino عرض محو الأمية للتعلم المبكر IOT PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
STONE مسلسل HMI اردوينو عرض محو الأمية للتعلم المبكر

(الشكل 10: معلمات لوحة الرسم وعناوين واجهة الألوان الأساسية للتحكم في الرسومات)

وفقًا لعنوان المتغير ، يكون الأمر لملء اللون الأخضر لـ (10 ، 80) ~ (630 ، 400) هو

أ5 5أ 11 82 60 00 00 04 00 01 00 0أ 00 50 02 76 01 90 2f 60

أوجه التشابه الأخرى ، راجع رمز البرنامج للحصول على التفاصيل.

الكود الموضح في الفيديو هو كما يلي.

/*

  frank10

  STONE و arduino COMM ، تشغيل الرسومات الأساسي في البرنامج ..

  يضيء مصباح LED لمدة ثانية واحدة ، ثم ينطفئ لمدة ثانية واحدة ، بشكل متكرر. يخبرنا LED أن التشغيل الناعم جيد!

  يحتوي النموذج على صفحتين ، الصفحة 1 عبارة عن شكل ، والصفحة 2 عبارة عن كورلور!

  كود المثال هذا موجود في ملف frank. 20210625

 */

// يحتوي Pin 13 على مؤشر LED متصل بمعظم لوحات Arduino.

// أعطه إسما:

أدى int = 13 ؛

int iYePian = 0 ؛ // 0x0020 لعدد YePian!

// int iGongLu = 0 ؛ // 0x0180 من أجل The GongLu!

// int iLiuLiang = 0 ؛ // 0x0160 لـ LiuLiang الآن!

int iJiao = 0 ؛ // 0x0260 لـ JieJuJiao!

int iGongLuWater = 0 ؛ // 0x0280 لـ The Water GongLu! القيمة هي 0-50000!

int iLed = 1 ؛ // تأخير الوقت الأسطوانات.

int iLed2 = 1 ؛ // تأخير الوقت الأسطوانات. 50 مللي ثانية تفعل نقطة.

int iLed3 = 0 ؛ // تأخير الوقت الأسطوانات. 50 مللي ثانية تفعل نقطة.

int iLed4 = 0 ؛ // تأخير الوقت الأسطوانات. 50 مللي ثانية تفعل نقطة.

int iCurve0 = 0 ؛ // قيمة المنحنى 0. 50 مللي ثانية تفعل نقطة.

int iCurve1 = 0 ؛ // قيمة المنحنى 1 ،. 50 مللي ثانية تفعل نقطة.

int iFlag0 = 1 ؛ // علم المنحنى 0 + أو - ؛ .1 لأعلى ، و 0 لأسفل.

int iFlag1 = 1 ؛ // علم المنحنى 1 + أو - ؛ .1 لأعلى ، و 0 لأسفل.

int iNum = 0 ؛ // قراءة في حرف الأسطوانات.

int iNum2 = 0 ؛ // قراءة في char num2 لـ ShuiDianZhan!

// int iPower = 2 ؛ // مفتاح التمثال 0x0009

// int iMode = 2 ؛ // مفتاح التمثال 0x000A

int iPowerWater = 2 ؛ // مفتاح التمثال 0x0039

// يتم تشغيل روتين الإعداد مرة واحدة عند الضغط على إعادة تعيين:

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

  // تهيئة الدبوس الرقمي كمخرج.

  pinMode (الصمام ، الإخراج) ؛    

  Serial.begin (115200) ؛ // افتح وظيفة الاتصال التسلسلي وانتظر حتى يتم فتح المنفذ التسلسلي

  بينما (! المسلسل) {

    ؛ // انتظر حتى يتم توصيل المنفذ التسلسلي. مطلوب ليوناردو فقط

  } 

}

// يعمل روتين الحلقة مرارًا وتكرارًا إلى الأبد:

حلقة باطلة () {

  int inChar.

/ * ——————————————————————————- * /    

    إذا (iLed == 800) {    

// ——- قراءة قيمة 0x0039 ———-

            Serial.write (0xA5) ؛ // ”A5 هو 165

            Serial.write (0x5A) ؛ // "5A" تساوي 90

            Serial.write (0x04) ؛ // طول

            Serial.write (0x83) ؛ // اقرأ!

            Serial.write (0x00) ؛ // عنوان مفتاح التشغيل ShuiDianZhan!

            Serial.write (0x39) ؛ // عنوان مفتاح التشغيل ShuiDianZhan!

            Serial.write (0x01) ؛ // 0x0039 (مفتاح التشغيل)

// ——— قيمة إرجاع STONE ستكون "A5 5A 06 83 00 39 01 00 01" ——

     }

  // اقرأ المعلومات المرسلة بواسطة المنفذ التسلسلي:

  إذا (Serial.available ()> 0) {inChar = Serial.read () ؛ }

 /*

   حفظ خبز.

   لأنه يمكن أن يكون لها مفتاح قراءة ولها عمل مفتاح.

   البرنامج عبارة عن HMI يقوم مفتاح الإدخال بعمل peplose.

 */

 // —————————————————————————————

 // —————————- بدء قراءة المفتاح 0x0039 ———————————–

  إذا (inChar == 0x39) {iNum2 = 1 ؛ }

  إذا ((inChar == 0x01) && (iNum2 == 1)) {iNum2 = 2 ؛ }

  إذا ((inChar == 0x00) && (iNum2 == 2)) {iNum2 = 3 ؛ }

  إذا ((inChar == 0x01) && (iNum2 == 3)) { 

      iNum2 = 0 ؛

      إذا كان (iPowerWater! = 1) {

          iPowerWater = 1 ؛ //تشغيل!      

          iJiao = 0 ؛

          iGongLuWater = 0 ؛

      }

   }

   إذا ((inChar == 0x02) && (iNum2 == 3)) { 

      iNum2 = 0 ؛

      iPowerWater = 2 ؛ // إيقاف التشغيل!

   }

 // —————— قراءة المفتاح 0x0039 بشكل جيد! iPowerWater طيب! ——————————-

// —————————————————————————————

  تأخير (1) ؛

  iLed + = 1 ؛  

  iLed2 + = 1 ؛ // 50 مللي ثانية تفعل نقطة.

  // ———————————————————————————————–

  // ———————————— 50 مللي ثانية تبدأ نقطة ما —————————————–

    إذا (iLed2 == 50) { 

           iLed2 = 1 ،

           iLed4 + = 1 ؛ // 50 مللي ثانية تفعل نقطة. 

           إذا (iFlag0 == 1) {

                iCurve0 + = 1 ؛ // 50 مللي ثانية تفعل نقطة. 

                إذا (iCurve0> = 150) {

                    iFlag0 = 0 ؛ // إن iCurve0 رفض !.

                }

           }

           إذا (iFlag0 == 0) {

                iCurve0 - = 1 ؛ // 50 مللي ثانية تفعل نقطة. 

                إذا (iCurve0 <= 1) {

                    iFlag0 = 1 ، // يحضر iCurve0 !.

                }

           }

           إذا (iFlag1 == 1) {

                إذا (iLed4> = 3) {

                  iCurve1 + = 1 ؛ // 50 مللي ثانية تفعل نقطة. 

                  iLed4 = 0 ،

                }

                إذا (iCurve1> = 50) {

                    iFlag1 = 0 ؛ // إن iCurve1 رفض !.

                }

           }

           إذا (iFlag1 == 0) {

                إذا (iLed4> = 3) {

                  iLed4 = 0 ،

                  iCurve1 - = 1 ؛ // 50 مللي ثانية تفعل نقطة. 

                }

                إذا (iCurve1 <= 1) {

                    iFlag1 = 1 ، // يحضر iCurve1 !.

                }

           }

            Serial.write (0xA5) ؛ // ”A5 هو 165

            Serial.write (0x5A) ؛ // "5A" تساوي 90

            Serial.write (0x06) ؛

            Serial.write (0x84) ؛ // اكتب لمنحنى!

            Serial.write (0x03) ؛ // مسار المنحنى ،

            Serial.write (iCurve0) ؛ // N = 1 ،

            Serial.write (0x00) ؛

            Serial.write (iCurve1) ؛

            Serial.write (0x00) ؛           

    }

  // ——————————-- 50 مللي ثانية تفعل نقطة النهاية ——————————————

  // ———————————————————————————————-

  إذا (iLed == 500) { 

      الكتابة الرقمية (led ، عالية) ؛ // قم بتشغيل LED (HIGH هو مستوى الجهد)

                  // تأخير (500) ؛ // انتظر ثانية ، المدى: 200-2000

  }   

  إذا (iLed> = 1000) {   

      الكتابة الرقمية (led ، منخفضة) ؛ // قم بإيقاف تشغيل LED بجعل الجهد منخفضًا

                  // تأخير (500) ؛ // انتظر ثانية ، النطاق: 200-2000

      آيليد = 1 ؛

      إذا (iNum <= 6) iNum + = 1 ؛ // شكل بدوره!

      إذا (iNum == 6) iNum = 0 ؛ // شكل بدوره!

// —————————————– الأحمر يبدأ ——————————————–    

      إذا (iNum == 1) {// مثلث! والأحمر!

            Serial.write (0xA5) ؛ // ”A5 هو 165

            Serial.write (0x5A) ؛ // "5A" تساوي 90

            Serial.write (0x19) ؛

            Serial.write (0x82) ؛

            Serial.write (0x10) ؛ // عنوان H للرسومات الأساسية

            Serial.write (0x00) ؛ // عنوان L للرسومات الأساسية

            Serial.write (0x00) ؛ // هل خط CMD 

            Serial.write (0x02) ؛ // هل خط CMD

            Serial.write (0x00) ؛ // رقم السطر

            Serial.write (0x03) ؛ // رقم السطر.

            Serial.write (0x00) ؛ // colorH أسود

            Serial.write (0x00) ؛ // colorL

            Serial.write (0x00) ؛ // نقطة X1H

            Serial.write (0xc8) ؛ // نقطة X1L

            Serial.write (0x00) ؛ // نقطة Y1H 

            Serial.write (0xc8) ؛ // نقطة Y1L

            Serial.write (0x01) ؛ // نقطة X2H

            Serial.write (0x2C) ؛ // نقطة X2L.

            Serial.write (0x00) ؛ // نقطة Y2H

            Serial.write (0xC8) ؛ // pointY2L

            Serial.write (0x00) ؛ // نقطة X3H

            Serial.write (0xFA) ؛ // نقطة X3L

            Serial.write (0x00) ؛ // نقطة Y3H 

            Serial.write (0x64) ؛ // نقطة Y3L

            Serial.write (0x00) ؛ // نقطة X1H

            Serial.write (0xc8) ؛ // نقطة X1L

            Serial.write (0x00) ؛ // نقطة Y1H 

            Serial.write (0xc8) ؛ // نقطة Y1L

            //يملأ--

            Serial.write (0xA5) ؛ // ”A5 هو 165

            Serial.write (0x5A) ؛ // "5A" تساوي 90

            Serial.write (0x11) ؛

            Serial.write (0x82) ؛

            Serial.write (0x60) ؛ // عنوان H من صفحة الرسومات الأساسية 2

            Serial.write (0x00) ؛ // addressL من الرسومات الأساسية pabe2

            Serial.write (0x00) ؛ // قم بملء المستطيل CMD 

            Serial.write (0x04) ؛ // قم بملء المستطيل CMD

            Serial.write (0x00) ؛ // رقم المستطيل

            Serial.write (0x01) ؛ // رقم المستطيل

            Serial.write (0x00) ؛ // نقطة X1H

            Serial.write (0x0A) ؛ // نقطة X1L

            Serial.write (0x00) ؛ // نقطة Y1H 

            Serial.write (0x50) ؛ // نقطة Y1L

            Serial.write (0x02) ؛ // نقطة X2H

            Serial.write (0x76) ؛ // نقطة X2L.

            Serial.write (0x01) ؛ // نقطة Y2H

            Serial.write (0x90) ؛ // نقطة Y2L          

            Serial.write (0xF0) ؛ // اللون الأحمر 

            Serial.write (0x00) ؛ // أحمر colorL          

      }

  // ————————————– الأحمر هو النهاية ——————————————–   

  // ————————————– يبدأ اللون الأصفر والقوس —————————————–

        إذا (iNum == 2) {// arc! والأصفر!

            Serial.write (0xA5) ؛ // ”A5 هو 165

            Serial.write (0x5A) ؛ // "5A" تساوي 90

            Serial.write (0x13) ؛

            Serial.write (0x82) ؛

            Serial.write (0x10) ؛ // عنوان H من صفحة الرسومات الأساسية 1

            Serial.write (0x00) ؛ // addressL من الرسومات الأساسية pabe1

            Serial.write (0x00) ؛ // هل قوس CMD 

            Serial.write (0x0B) ؛ // هل قوس CMD

            Serial.write (0x00) ؛ // رقم القوس

            Serial.write (0x01) ؛ // رقم القوس.

            Serial.write (0x00) ؛ // colorH أسود

            Serial.write (0x00) ؛ // colorL فارغ

            Serial.write (0x01) ؛ // سنتل الدائرة XH

            Serial.write (0x2c) ؛ // سنتل دائرة XL

            Serial.write (0x00) ؛ // سنتل الدائرة YH 

            Serial.write (0xc8) ؛ // سنتل الدائرة YL

            Serial.write (0x00) ؛ // RH

            Serial.write (0x50) ؛ // RL.

            Serial.write (0x02) ؛ // Angle1H

            Serial.write (0x76) ؛ // Angle1L

            Serial.write (0x00) ؛ // Angle2H

            Serial.write (0x5A) ؛ // Angle2L

             //يملأ--

            Serial.write (0xA5) ؛ // ”A5 هو 165

            Serial.write (0x5A) ؛ // "5A" تساوي 90

            Serial.write (0x11) ؛

            Serial.write (0x82) ؛

            Serial.write (0x60) ؛ // عنوان H من صفحة الرسومات الأساسية 2

            Serial.write (0x00) ؛ // addressL من الرسومات الأساسية pabe2

            Serial.write (0x00) ؛ // قم بملء المستطيل CMD 

            Serial.write (0x04) ؛ // قم بملء المستطيل CMD

            Serial.write (0x00) ؛ // رقم المستطيل

            Serial.write (0x01) ؛ // رقم المستطيل

            Serial.write (0x00) ؛ // نقطة X1H

            Serial.write (0x0A) ؛ // نقطة X1L

            Serial.write (0x00) ؛ // نقطة Y1H 

            Serial.write (0x50) ؛ // نقطة Y1L

            Serial.write (0x02) ؛ // نقطة X2H

            Serial.write (0x76) ؛ // نقطة X2L.

            Serial.write (0x01) ؛ // نقطة Y2H

            Serial.write (0x90) ؛ // نقطة Y2L          

            Serial.write (0xFF) ؛ // اللون الأصفر 

            Serial.write (0x60) ؛ // اللون الأصفر L.            

      }

// ————————————– ينتهي اللون الأصفر والقوس —————————————–

  // ————————————– يبدأ اللون الأخضر والمستطيل —————————————–

        إذا (iNum == 3) {// مستطيل! والأخضر!

            Serial.write (0xA5) ؛ // ”A5 هو 165

            Serial.write (0x5A) ؛ // "5A" تساوي 90

            Serial.write (0x11) ؛

            Serial.write (0x82) ؛

            Serial.write (0x10) ؛ // عنوان H من صفحة الرسومات الأساسية 1

            Serial.write (0x00) ؛ // addressL من الرسومات الأساسية pabe1

            Serial.write (0x00) ؛ // هل المستطيل CMD 

            Serial.write (0x03) ؛ // هل المستطيل CMD

            Serial.write (0x00) ؛ // رقم المستطيل

            Serial.write (0x01) ؛ // رقم المستطيل

            Serial.write (0x01) ؛ // نقطة X1H

            Serial.write (0x54) ؛ // نقطة X1L

            Serial.write (0x00) ؛ // نقطة Y1H 

            Serial.write (0xED) ؛ // نقطة Y1L

            Serial.write (0x02) ؛ // نقطة X2H

            Serial.write (0x49) ؛ // نقطة X2L.

            Serial.write (0x01) ؛ // نقطة Y2H

            Serial.write (0x54) ؛ // نقطة Y2L          

             Serial.write (0x00) ؛ // colorH أسود

            Serial.write (0x00) ؛ // colorL فارغ        

                        //يملأ--

            Serial.write (0xA5) ؛ // ”A5 هو 165

            Serial.write (0x5A) ؛ // "5A" تساوي 90

            Serial.write (0x11) ؛

            Serial.write (0x82) ؛

            Serial.write (0x60) ؛ // عنوان H من صفحة الرسومات الأساسية 2

            Serial.write (0x00) ؛ // addressL من الرسومات الأساسية pabe2

            Serial.write (0x00) ؛ // قم بملء المستطيل CMD 

            Serial.write (0x04) ؛ // قم بملء المستطيل CMD

            Serial.write (0x00) ؛ // رقم المستطيل

            Serial.write (0x01) ؛ // رقم المستطيل

            Serial.write (0x00) ؛ // نقطة X1H

            Serial.write (0x0A) ؛ // نقطة X1L

            Serial.write (0x00) ؛ // نقطة Y1H 

            Serial.write (0x50) ؛ // نقطة Y1L

            Serial.write (0x02) ؛ // نقطة X2H

            Serial.write (0x76) ؛ // نقطة X2L.

            Serial.write (0x01) ؛ // نقطة Y2H

            Serial.write (0x90) ؛ // نقطة Y2L          

            Serial.write (0x2F) ؛ // اللون الأخضر 

            Serial.write (0x60) ؛ // اللون الأخضر   

      }

// ————————————– اللون الأخضر والمستطيل ينتهي —————————————–     

  // ————————————– يبدأ اللون البرتقالي والمربع —————————————–

        إذا (iNum == 4) {// مربع! والبرتقالي!

            Serial.write (0xA5) ؛ // ”A5 هو 165

            Serial.write (0x5A) ؛ // "5A" تساوي 90

            Serial.write (0x11) ؛

            Serial.write (0x82) ؛

            Serial.write (0x10) ؛ // عنوان H من صفحة الرسومات الأساسية 1

            Serial.write (0x00) ؛ // addressL من الرسومات الأساسية pabe1

            Serial.write (0x00) ؛ // هل المستطيل CMD 

            Serial.write (0x03) ؛ // هل المستطيل CMD

            Serial.write (0x00) ؛ // رقم المستطيل

            Serial.write (0x01) ؛ // رقم المستطيل

            Serial.write (0x01) ؛ // نقطة X1H

            Serial.write (0x54) ؛ // نقطة X1L

            Serial.write (0x00) ؛ // نقطة Y1H 

            Serial.write (0x91) ؛ // نقطة Y1L

            Serial.write (0x02) ؛ // نقطة X2H

            Serial.write (0x49) ؛ // نقطة X2L.

            Serial.write (0x01) ؛ // نقطة Y2H

            Serial.write (0x86) ؛ // نقطة Y2L          

             Serial.write (0x00) ؛ // colorH أسود

            Serial.write (0x00) ؛ // colorL فارغ        

                        //يملأ--

            Serial.write (0xA5) ؛ // ”A5 هو 165

            Serial.write (0x5A) ؛ // "5A" تساوي 90

            Serial.write (0x11) ؛

            Serial.write (0x82) ؛

            Serial.write (0x60) ؛ // عنوان H من صفحة الرسومات الأساسية 2

            Serial.write (0x00) ؛ // addressL من الرسومات الأساسية pabe2

            Serial.write (0x00) ؛ // قم بملء المستطيل CMD 

            Serial.write (0x04) ؛ // قم بملء المستطيل CMD

            Serial.write (0x00) ؛ // رقم المستطيل

            Serial.write (0x01) ؛ // رقم المستطيل

            Serial.write (0x00) ؛ // نقطة X1H

            Serial.write (0x0A) ؛ // نقطة X1L

            Serial.write (0x00) ؛ // نقطة Y1H 

            Serial.write (0x50) ؛ // نقطة Y1L

            Serial.write (0x02) ؛ // نقطة X2H

            Serial.write (0x76) ؛ // نقطة X2L.

            Serial.write (0x01) ؛ // نقطة Y2H

            Serial.write (0x90) ؛ // نقطة Y2L          

            Serial.write (0xFD) ؛ // اللون البرتقالي 

            Serial.write (0x60) ؛ // اللون البرتقالي L.   

      }

// ————————————– نهاية المربع البرتقالي —————————————–  

  // ————————————– يبدأ اللون الأزرق والدائرة —————————————–

        إذا (iNum == 5) {// دائرة! والأزرق!

            Serial.write (0xA5) ؛ // ”A5 هو 165

            Serial.write (0x5A) ؛ // "5A" تساوي 90

            Serial.write (0x0F) ؛

            Serial.write (0x82) ؛

            Serial.write (0x10) ؛ // عنوان H من صفحة الرسومات الأساسية 1

            Serial.write (0x00) ؛ // addressL من الرسومات الأساسية pabe1

            Serial.write (0x00) ؛ // هل دائرة CMD 

            Serial.write (0x05) ؛ // هل دائرة CMD

            Serial.write (0x00) ؛ // رقم الدائرة

            Serial.write (0x01) ؛ // رقم الدائرة     

            Serial.write (0x01) ؛ // سنتل الدائرة XH

            Serial.write (0xD6) ؛ // سنتل دائرة XL

            Serial.write (0x00) ؛ // سنتل الدائرة YH 

            Serial.write (0xc8) ؛ // سنتل الدائرة YL

            Serial.write (0x00) ؛ // RH

            Serial.write (0x32) ؛ // RL.      

             Serial.write (0x00) ؛ // colorH أسود

            Serial.write (0x00) ؛ // colorL فارغ     

                      //يملأ--

            Serial.write (0xA5) ؛ // ”A5 هو 165

            Serial.write (0x5A) ؛ // "5A" تساوي 90

            Serial.write (0x11) ؛

            Serial.write (0x82) ؛

            Serial.write (0x60) ؛ // عنوان H من صفحة الرسومات الأساسية 2

            Serial.write (0x00) ؛ // addressL من الرسومات الأساسية pabe2

            Serial.write (0x00) ؛ // قم بملء المستطيل CMD 

            Serial.write (0x04) ؛ // قم بملء المستطيل CMD

            Serial.write (0x00) ؛ // رقم المستطيل

            Serial.write (0x01) ؛ // رقم المستطيل

            Serial.write (0x00) ؛ // نقطة X1H

            Serial.write (0x0A) ؛ // نقطة X1L

            Serial.write (0x00) ؛ // نقطة Y1H 

            Serial.write (0x50) ؛ // نقطة Y1L

            Serial.write (0x02) ؛ // نقطة X2H

            Serial.write (0x76) ؛ // نقطة X2L.

            Serial.write (0x01) ؛ // نقطة Y2H

            Serial.write (0x90) ؛ // نقطة Y2L          

            Serial.write (0x00) ؛ // اللون الأزرق 

            Serial.write (0xFF) ؛ // اللون الأزرق     

      }

// ————————————– ينتهي اللون الأزرق والدائرة —————————————–   

أخيرًا ، تصحيح الأخطاء عبر الإنترنت.

            STONE TOOLBox (برنامج تصميم واجهة المستخدم الرسومية) سيقوم بتحرير تنزيل ملف الشاشة ، وتحميل ملف كود اردوينو ، وتوصيل مزود الطاقة ، والتواصل ، وتشغيل الطاقة لمراقبة رسم الصورة وتغيير اللون ، لتحقيق التأثير المطلوب.

الكود الموضح في الفيديو هو كما يلي.

STONE المسلسل HMI Arduino عرض محو الأمية للتعلم المبكر IOT PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
STONE مسلسل HMI اردوينو عرض محو الأمية للتعلم المبكر

(محاولات التوليف عبر الإنترنت)

STONE المسلسل HMI Arduino عرض محو الأمية للتعلم المبكر IOT PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
STONE مسلسل HMI اردوينو عرض محو الأمية للتعلم المبكر
STONE المسلسل HMI Arduino عرض محو الأمية للتعلم المبكر IOT PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
STONE مسلسل HMI اردوينو عرض محو الأمية للتعلم المبكر
STONE المسلسل HMI Arduino عرض محو الأمية للتعلم المبكر IOT PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
STONE مسلسل HMI اردوينو عرض محو الأمية للتعلم المبكر
STONE المسلسل HMI Arduino عرض محو الأمية للتعلم المبكر IOT PlatoBlockchain Data Intelligence. البحث العمودي. عاي.
STONE مسلسل HMI اردوينو عرض محو الأمية للتعلم المبكر

المصدر: أفلاطون داتا إنتليجنس