IOT

STONE سیریل HMI Arduino ابتدائی سیکھنے کی خواندگی کا مظاہرہ

یہاں بنیادی گرافکس کنٹرول اسٹون سیریل اسکرین کے، آپ لکیریں، مثلث، کثیر الاضلاع، مستطیل، مربع، دائرے، آرکس، رنگ بھر سکتے ہیں، کٹ اور پیسٹ کر سکتے ہیں، وغیرہ۔

سیریل ٹچ اسکرین STVI056WT-01 کا استعمال کرتے ہوئے ابتدائی سیکھنے کی مشین کا ڈیزائن، تصویروں کو دیکھ کر شکلوں کی شناخت کرنے، رنگوں کے مطابق الفاظ کی شناخت کرنے، اور صحیح غلطیوں کا تعین کرنے، اسکور کرنے یا لیول کو پاس کرنے کے لیے تفریحی فارمیٹ ڈیزائن کرنے کے لیے، تاکہ بچے رنگوں کو پہچاننا، بنیادی شکلوں کو سمجھنا اور متعلقہ الفاظ کو آرام دہ اور چنچل انداز میں سیکھ سکیں۔

آفیشل ویڈیو پریزنٹیشن بنیادی گرافکس کنٹرول کا اصل اثر نہیں دیتی، اس لیے یہ ڈیمو اس کی تکمیل کرے گا۔ ڈرائنگ کے لئے ہدایات کے درمیان مواصلات کے ذریعے منتقل کیا جاتا ہے arduino کنٹرول بورڈ اور اسٹون سیریل سکریn.

اس کے علاوہ، اس نوٹ میں بنیادی گرافکس کنٹرول کا مکمل فنکشنل مواد شامل نہیں ہے، صرف تفصیل کے استعمال میں استعمال ہونے والے فنکشنز، ریکارڈ شدہ مشین اوکے پر ٹیسٹ کیے جاتے ہیں، آپ ڈیمو رن کو براہ راست ڈاؤن لوڈ کر سکتے ہیں۔

ڈیمو کے لیے ہارڈ ویئر کا ماحول تصویر 1، شکل 2 اور شکل 3 میں دکھایا گیا ہے۔

STONE باضابطہ طور پر 2 بورڈز کے ساتھ آتا ہے، جن میں سے، مربع ایک USB ڈاؤن لوڈ بورڈ ہے اور لمبا ایک USB ٹو سیریل کمیونیکیشن بورڈ (اور سیریل اسکرین کے لیے DC12V پاور سپلائی) ہے۔

(شکل 1: اسٹون سیریل اسکرین کا مواصلات اور پاور کنکشن) (شکل 2: اسٹون اسکرین سے بنیادی گرافکس کنٹرول فائلوں کو ڈاؤن لوڈ کرنے کے لیے کنکشن ڈایاگرام)

(شکل 3: TX, RX, GND کنکشن STONE سیریل سکرین کمیونیکیشن بورڈ اور arduino ڈویلپمنٹ بورڈ کے درمیان)

(شکل 4: بنیادی گرافکس کنٹرول ڈرائنگ ایریا اور متغیر ایڈریس اور دیگر پیرامیٹر سیٹنگز)

اسٹون ٹول باکس (جی یو آئی ڈیزائن سافٹ ویئر) مینو ویری ایبل کنفیگریشن (ڈی) میں بنیادی گرافکس کنٹرول کو منتخب کرنے اور ڈرائنگ ایریا اور متغیر ایڈریس کے پیرامیٹرز کو سیٹ کرنے کے بعد، سیٹ ویری ایبل میموری ایڈریس پر لکھنے کے لیے 0x82 انسٹرکشن کا استعمال کیا جاتا ہے (0x1000 یہاں سیٹ ہے) ڈرائنگ ایریا اور متغیر ایڈریس کے پیرامیٹرز کو سیٹ کرنے کے بعد، 0x82 انسٹرکشن کا استعمال CMD + Data_pack_Num_Max + Data کو سیٹ ویری ایبل میموری ایڈریس پر لکھنے کے لیے کیا جاتا ہے (اس معاملے میں 0x1000) ڈرائنگ کے فنکشنز کو مکمل کرنے کے لیے۔ مخصوص فنکشن کوڈ کو تصویر 6 میں دکھایا گیا ہے، جہاں درج ذیل مثال کا استعمال کرتے ہوئے ایک لائن ڈرائنگ انسٹرکشن 0x0002 ہے۔

(شکل 5: بنیادی گرافکس کنٹرول ڈیٹا کمانڈ فارمیٹ)

(شکل 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 00 C8 00 C8 01 2C 00 C8 00 FA 00 64 00 C8 00 C8

اوپر والا 0x1000 بنیادی گرافکس کنٹرول کا متغیر پتہ ہے، 0x0002 انسٹرکشن کوڈ ہے، 0x0001 اور 0x0003 بالترتیب 1 لائن اور 3 لائنیں ہیں، 0x0000 کلر کوڈ ہے، ویلیو 0000 سیاہ ہے اور قدر ffff روشن سفید ہے۔ ہر ایک پوائنٹ کے دوسرے فوری XY نقاط۔

مستطیل ڈرائنگ کی مثال۔

مستطیل اوپری بائیں عمودی نقاط (340, 237)، نچلے دائیں ورٹیکس کوآرڈینیٹ (585, 340) کا رنگ سیاہ، کمانڈ ہے

A5 5A 11 82 10 00 00 03 00 01 01 54 00 ED 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 1 مستطیل، 2 مستطیل، 0x0000، 0xffff کلر کوڈ ہے، 0000 کی قدر fff کی چمکیلی قدر ہے، سفید. دوسرے ہر مستطیل کے اوپری بائیں جانب اور نیچے دائیں جانب کے XY نقاط ہیں۔

(شکل 7: بنیادی گرافکس کنٹرول کے لیے مستطیل بھریں اور دائرے کی کمانڈ ڈرا کریں)

مستطیل بھرنے کی مثال۔

سیاہ مستطیل فل (470, 200) ~ (550) کمانڈ ہے

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

ایک ہی وقت میں دو دائرے بنانے کے لیے، مرکز A (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

(شکل 8: بنیادی گرافکس کنٹرول کے لیے آرک کمانڈ)

آرک ریزولوشن 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 سیاہ ہے 0xfff سفید ہے 0x00ff نیلا ہے 0xf000 سرخ ہے 0xfd60 نارنجی ہے

0xff60 پیلا ہے 0x2f60 سبز ہے۔

(شکل 9: بنیادی گرافکس کنٹرول شکل انٹرفیس ڈرائنگ بورڈ کے پیرامیٹرز اور پتے)

(شکل 10: ڈرائنگ بورڈ کے پیرامیٹرز اور بنیادی گرافکس کنٹرول کلر انٹرفیس کے پتے)

متغیر ایڈریس کے مطابق، (10, 80) ~ (630, 400) کے لیے سبز رنگ بھرنے کی کمانڈ ہے

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

دیگر مماثلتیں، تفصیلات کے لیے پروگرام کوڈ دیکھیں۔

ویڈیو میں دکھایا گیا کوڈ درج ذیل ہے۔

/*

فریک ایکس این ایم ایکس ایکس

STONE اور arduino COMM، پروگرام میں بنیادی گرافکس چلتے ہیں۔

ایل ای ڈی کو ایک سیکنڈ کے لیے آن کرتا ہے، پھر ایک سیکنڈ کے لیے بار بار بند کرتا ہے۔ ایل ای ڈی ہمیں بتاتی ہے کہ نرم چل رہا ہے ٹھیک ہے!

نمونے کے دو صفحے ہیں۔ صفحہ 1 شکل کا ہے، صفحہ 2 رنگ کا ہے!

یہ مثال کا کوڈ فرینک کی فائل میں ہے۔ 20210625

*/

// پن 13 میں زیادہ تر آرڈینو بورڈز پر ایل ای ڈی منسلک ہے۔

// اسے ایک نام دیں:

int led = 13;

int iYePian = 0; YePian کی تعداد کے لیے //0x0020!

//int iGongLu = 0; GongLu کے لیے //0x0180!

//int iLiuLiang = 0; //0x0160 اب لیو لیانگ کے لیے!

int iJiao = 0; // The JieJuJiao کے لیے 0x0260!

int iGongLuWater = 0; //0x0280 for The Water GongLu! قیمت 0-50000 ہے!

int iLed = 1; //تاخیر کا وقت نمبر۔

int iLed2 = 1; //تاخیر کا وقت نمبر۔ 50ms ایک پوائنٹ کرتے ہیں۔

int iLed3 = 0; //تاخیر کا وقت نمبر۔ 50ms ایک پوائنٹ کرتے ہیں۔

int iLed4 = 0; //تاخیر کا وقت نمبر۔ 50ms ایک پوائنٹ کرتے ہیں۔

int iCurve0 = 0; //وکر0 کی قدر۔ 50ms ایک پوائنٹ کرتے ہیں۔

int iCurve1 = 0; //وکر 1 کی قدر، 50ms ایک پوائنٹ کرتے ہیں۔

int iFlag0 = 1; // وکر کا جھنڈا 0 + یا -؛ .1 اوپر ہے، 0 نیچے ہے۔

int iFlag1 = 1; // وکر کا جھنڈا 1 + یا -؛ .1 اوپر ہے، 0 نیچے ہے۔

int iNum = 0 ; // چار نمبر میں پڑھیں۔

int iNum2 = 0; // ShuiDianZhan کے لیے چار نمبر 2 میں پڑھیں!

// int iPower = 2؛ // کلیدی مجسمہ 0x0009

// int iMode = 2؛ // کلیدی مجسمہ 0x000A

int iPowerWater = 2; // کلیدی مجسمہ 0x0039

// سیٹ اپ کا معمول ایک بار چلتا ہے جب آپ ری سیٹ دبائیں:

باطل سیٹ اپ () {

// ڈیجیٹل پن کو آؤٹ پٹ کے طور پر شروع کریں۔

پن موڈ (لیڈ، آؤٹ پٹ)؛

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 (پاور کلید)

//———پتھر کی واپسی کی قیمت ہوگی "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; // 50ms ایک پوائنٹ کرتے ہیں۔

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

//————————————— 50ms کرتے ہیں ایک نقطہ شروع——————————————

اگر (iLed2 == 50) {

iLed2 = 1;

iLed4 += 1; // 50ms ایک پوائنٹ کرتے ہیں۔

اگر (iFlag0 == 1){

iCurve0 += 1; // 50ms ایک پوائنٹ کرتے ہیں۔

اگر (iCurve0 >= 150){

iFlag0 = 0; // iCurve0 ٹرن ڈاؤن!

}

}

اگر (iFlag0 == 0){

iCurve0 -= 1؛ // 50ms ایک پوائنٹ کرتے ہیں۔

اگر (iCurve0 <= 1){

iFlag0 = 1; // iCurve0 ٹرن اپ!

}

}

اگر (iFlag1 == 1){

اگر (iLed4 >= 3){

iCurve1 += 1; // 50ms ایک پوائنٹ کرتے ہیں۔

iLed4 = 0;

}

اگر (iCurve1 >= 50){

iFlag1 = 0; // iCurve1 ٹرن ڈاؤن!

}

}

اگر (iFlag1 == 0){

اگر (iLed4 >= 3){

iLed4 = 0;

iCurve1 -= 1؛ // 50ms ایک پوائنٹ کرتے ہیں۔

}

اگر (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);

}

//————————————-50ms پوائنٹ ختم کرتے ہیں——————————————

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

اگر (iLed == 500) {

ڈیجیٹل رائٹ (لیڈ، ہائی)؛ // ایل ای ڈی کو آن کریں (وولٹیج کی سطح زیادہ ہے)

//تاخیر(500)؛ // ایک سیکنڈ کے لیے انتظار کریں، رینج: 200-2000

}

اگر (iLed >= 1000) {

ڈیجیٹل رائٹ (لیڈ، کم)؛ // وولٹیج کو کم کرکے ایل ای ڈی کو بند کردیں

//تاخیر(500)؛ // ایک سیکنڈ کے لیے انتظار کریں، رینج: 200-2000

iLed = 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); // بنیادی گرافکس کا ایڈریس ایچ

Serial.write(0x00); // بنیادی گرافکس کا ایڈریس ایل

Serial.write(0x00); // ڈو لائن سی ایم ڈی

Serial.write(0x02); // ڈو لائن سی ایم ڈی

Serial.write(0x00); // لائن کی تعداد

Serial.write(0x03); // لائن کی تعداد۔

Serial.write(0x00); //رنگ ایچ سیاہ

Serial.write(0x00); //رنگ ایل

Serial.write(0x00); // پوائنٹ ایکس 1 ایچ

Serial.write(0xc8)؛ // پوائنٹ ایکس 1 ایل

Serial.write(0x00); // pointY1H

Serial.write(0xc8)؛ // pointY1L

Serial.write(0x01); // پوائنٹ ایکس 2 ایچ

Serial.write(0x2C)؛ // پوائنٹ ایکس 2 ایل۔

Serial.write(0x00); // pointY2H

Serial.write(0xC8)؛ // pointY2L

Serial.write(0x00); // پوائنٹ ایکس 3 ایچ

Serial.write(0xFA)؛ // پوائنٹ ایکس 3 ایل

Serial.write(0x00); // pointY3H

Serial.write(0x64); // pointY3L

Serial.write(0x00); // پوائنٹ ایکس 1 ایچ

Serial.write(0xc8)؛ // پوائنٹ ایکس 1 ایل

Serial.write(0x00); // pointY1H

Serial.write(0xc8)؛ // pointY1L

// بھریں—-

Serial.write(0xA5)؛ //"A5" 165 ہے۔

Serial.write(0x5A)؛ //"5A" 90 ہے۔

Serial.write(0x11);

Serial.write(0x82);

Serial.write(0x60); // بنیادی گرافکس صفحہ2 کا ایڈریس ایچ

Serial.write(0x00); // بنیادی گرافکس pabe2 کا ایڈریس ایل

Serial.write(0x00); // مستطیل سی ایم ڈی کو بھریں۔

Serial.write(0x04); // مستطیل سی ایم ڈی کو بھریں۔

Serial.write(0x00); // مستطیل کی تعداد

Serial.write(0x01); // مستطیل کی تعداد

Serial.write(0x00); // پوائنٹ ایکس 1 ایچ

Serial.write(0x0A)؛ // پوائنٹ ایکس 1 ایل

Serial.write(0x00); // pointY1H

Serial.write(0x50); // pointY1L

Serial.write(0x02); // پوائنٹ ایکس 2 ایچ

Serial.write(0x76); // پوائنٹ ایکس 2 ایل۔

Serial.write(0x01); // pointY2H

Serial.write(0x90); // pointY2L

Serial.write(0xF0)؛ // سرخ رنگ ایچ

Serial.write(0x00); // سرخ رنگ ایل

}

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

//—————————————— زرد اور قوس شروع ہو گیا ہے————————————————

if( iNum == 2){ // arc! اور پیلا!

Serial.write(0xA5)؛ //"A5" 165 ہے۔

Serial.write(0x5A)؛ //"5A" 90 ہے۔

Serial.write(0x13);

Serial.write(0x82);

Serial.write(0x10); // بنیادی گرافکس صفحہ1 کا ایڈریس ایچ

Serial.write(0x00); // بنیادی گرافکس pabe1 کا ایڈریس ایل

Serial.write(0x00); // ڈو آرک سی ایم ڈی

Serial.write(0x0B)؛ // ڈو آرک سی ایم ڈی

Serial.write(0x00); // قوس کی تعداد

Serial.write(0x01); // قوس کی تعداد۔

Serial.write(0x00); // رنگ ایچ سیاہ

Serial.write(0x00); // رنگ ایل خالی

Serial.write(0x01); // دائرہ XH کا مرکز

Serial.write(0x2c)؛ // دائرہ XL کا مرکز

Serial.write(0x00); // دائرہ YH کا مرکز

Serial.write(0xc8)؛ // دائرہ YL کا مرکز

Serial.write(0x00); // آر ایچ

Serial.write(0x50); // آر ایل.

Serial.write(0x02); // زاویہ 1 ایچ

Serial.write(0x76); // Angle1L

Serial.write(0x00); // زاویہ 2 ایچ

Serial.write(0x5A)؛ // Angle2L

// بھریں—-

Serial.write(0xA5)؛ //"A5" 165 ہے۔

Serial.write(0x5A)؛ //"5A" 90 ہے۔

Serial.write(0x11);

Serial.write(0x82);

Serial.write(0x60); // بنیادی گرافکس صفحہ2 کا ایڈریس ایچ

Serial.write(0x00); // بنیادی گرافکس pabe2 کا ایڈریس ایل

Serial.write(0x00); // مستطیل سی ایم ڈی کو بھریں۔

Serial.write(0x04); // مستطیل سی ایم ڈی کو بھریں۔

Serial.write(0x00); // مستطیل کی تعداد

Serial.write(0x01); // مستطیل کی تعداد

Serial.write(0x00); // پوائنٹ ایکس 1 ایچ

Serial.write(0x0A)؛ // پوائنٹ ایکس 1 ایل

Serial.write(0x00); // pointY1H

Serial.write(0x50); // pointY1L

Serial.write(0x02); // پوائنٹ ایکس 2 ایچ

Serial.write(0x76); // پوائنٹ ایکس 2 ایل۔

Serial.write(0x01); // pointY2H

Serial.write(0x90); // pointY2L

Serial.write(0xFF)؛ // پیلا رنگ ایچ

Serial.write(0x60); // پیلا رنگ ایل

}

//—————————————— زرد اور قوس آخر ہے————————————————

//—————————————— سبز اور مستطیل شروع ہو گیا ہے————————————————

if( iNum == 3){ // مستطیل! اور سبز!

Serial.write(0xA5)؛ //"A5" 165 ہے۔

Serial.write(0x5A)؛ //"5A" 90 ہے۔

Serial.write(0x11);

Serial.write(0x82);

Serial.write(0x10); // بنیادی گرافکس صفحہ1 کا ایڈریس ایچ

Serial.write(0x00); // بنیادی گرافکس pabe1 کا ایڈریس ایل

Serial.write(0x00); // مستطیل سی ایم ڈی کرو

Serial.write(0x03); // مستطیل سی ایم ڈی کرو

Serial.write(0x00); // مستطیل کی تعداد

Serial.write(0x01); // مستطیل کی تعداد

Serial.write(0x01); // پوائنٹ ایکس 1 ایچ

Serial.write(0x54); // پوائنٹ ایکس 1 ایل

Serial.write(0x00); // pointY1H

Serial.write(0xED)؛ // pointY1L

Serial.write(0x02); // پوائنٹ ایکس 2 ایچ

Serial.write(0x49); // پوائنٹ ایکس 2 ایل۔

Serial.write(0x01); // pointY2H

Serial.write(0x54); // pointY2L

Serial.write(0x00); // رنگ ایچ سیاہ

Serial.write(0x00); // رنگ ایل خالی

// بھریں—-

Serial.write(0xA5)؛ //"A5" 165 ہے۔

Serial.write(0x5A)؛ //"5A" 90 ہے۔

Serial.write(0x11);

Serial.write(0x82);

Serial.write(0x60); // بنیادی گرافکس صفحہ2 کا ایڈریس ایچ

Serial.write(0x00); // بنیادی گرافکس pabe2 کا ایڈریس ایل

Serial.write(0x00); // مستطیل سی ایم ڈی کو بھریں۔

Serial.write(0x04); // مستطیل سی ایم ڈی کو بھریں۔

Serial.write(0x00); // مستطیل کی تعداد

Serial.write(0x01); // مستطیل کی تعداد

Serial.write(0x00); // پوائنٹ ایکس 1 ایچ

Serial.write(0x0A)؛ // پوائنٹ ایکس 1 ایل

Serial.write(0x00); // pointY1H

Serial.write(0x50); // pointY1L

Serial.write(0x02); // پوائنٹ ایکس 2 ایچ

Serial.write(0x76); // پوائنٹ ایکس 2 ایل۔

Serial.write(0x01); // pointY2H

Serial.write(0x90); // pointY2L

Serial.write(0x2F)؛ // سبز رنگ ایچ

Serial.write(0x60); // سبز رنگ ایل

}

//—————————————— سبز اور مستطیل آخر ہے————————————————

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

if( iNum == 4){// مربع! اور نارنجی!

Serial.write(0xA5)؛ //"A5" 165 ہے۔

Serial.write(0x5A)؛ //"5A" 90 ہے۔

Serial.write(0x11);

Serial.write(0x82);

Serial.write(0x10); // بنیادی گرافکس صفحہ1 کا ایڈریس ایچ

Serial.write(0x00); // بنیادی گرافکس pabe1 کا ایڈریس ایل

Serial.write(0x00); // مستطیل سی ایم ڈی کرو

Serial.write(0x03); // مستطیل سی ایم ڈی کرو

Serial.write(0x00); // مستطیل کی تعداد

Serial.write(0x01); // مستطیل کی تعداد

Serial.write(0x01); // پوائنٹ ایکس 1 ایچ

Serial.write(0x54); // پوائنٹ ایکس 1 ایل

Serial.write(0x00); // pointY1H

Serial.write(0x91); // pointY1L

Serial.write(0x02); // پوائنٹ ایکس 2 ایچ

Serial.write(0x49); // پوائنٹ ایکس 2 ایل۔

Serial.write(0x01); // pointY2H

Serial.write(0x86); // pointY2L

Serial.write(0x00); // رنگ ایچ سیاہ

Serial.write(0x00); // رنگ ایل خالی

// بھریں—-

Serial.write(0xA5)؛ //"A5" 165 ہے۔

Serial.write(0x5A)؛ //"5A" 90 ہے۔

Serial.write(0x11);

Serial.write(0x82);

Serial.write(0x60); // بنیادی گرافکس صفحہ2 کا ایڈریس ایچ

Serial.write(0x00); // بنیادی گرافکس pabe2 کا ایڈریس ایل

Serial.write(0x00); // مستطیل سی ایم ڈی کو بھریں۔

Serial.write(0x04); // مستطیل سی ایم ڈی کو بھریں۔

Serial.write(0x00); // مستطیل کی تعداد

Serial.write(0x01); // مستطیل کی تعداد

Serial.write(0x00); // پوائنٹ ایکس 1 ایچ

Serial.write(0x0A)؛ // پوائنٹ ایکس 1 ایل

Serial.write(0x00); // pointY1H

Serial.write(0x50); // pointY1L

Serial.write(0x02); // پوائنٹ ایکس 2 ایچ

Serial.write(0x76); // پوائنٹ ایکس 2 ایل۔

Serial.write(0x01); // pointY2H

Serial.write(0x90); // pointY2L

Serial.write(0xFD)؛ // نارنجی رنگ ایچ

Serial.write(0x60); // نارنجی رنگ ایل

}

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

//—————————————— نیلا اور دائرہ شروع ہو گیا ہے————————————————

if( iNum == 5){// دائرہ! اور نیلے!

Serial.write(0xA5)؛ //"A5" 165 ہے۔

Serial.write(0x5A)؛ //"5A" 90 ہے۔

Serial.write(0x0F)؛

Serial.write(0x82);

Serial.write(0x10); // بنیادی گرافکس صفحہ1 کا ایڈریس ایچ

Serial.write(0x00); // بنیادی گرافکس pabe1 کا ایڈریس ایل

Serial.write(0x00); // دائرہ سی ایم ڈی کرو

Serial.write(0x05); // دائرہ سی ایم ڈی کرو

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); // آر ایچ

Serial.write(0x32); // آر ایل.

Serial.write(0x00); // رنگ ایچ سیاہ

Serial.write(0x00); // رنگ ایل خالی

// بھریں—-

Serial.write(0xA5)؛ //"A5" 165 ہے۔

Serial.write(0x5A)؛ //"5A" 90 ہے۔

Serial.write(0x11);

Serial.write(0x82);

Serial.write(0x60); // بنیادی گرافکس صفحہ2 کا ایڈریس ایچ

Serial.write(0x00); // بنیادی گرافکس pabe2 کا ایڈریس ایل

Serial.write(0x00); // مستطیل سی ایم ڈی کو بھریں۔

Serial.write(0x04); // مستطیل سی ایم ڈی کو بھریں۔

Serial.write(0x00); // مستطیل کی تعداد

Serial.write(0x01); // مستطیل کی تعداد

Serial.write(0x00); // پوائنٹ ایکس 1 ایچ

Serial.write(0x0A)؛ // پوائنٹ ایکس 1 ایل

Serial.write(0x00); // pointY1H

Serial.write(0x50); // pointY1L

Serial.write(0x02); // پوائنٹ ایکس 2 ایچ

Serial.write(0x76); // پوائنٹ ایکس 2 ایل۔

Serial.write(0x01); // pointY2H

Serial.write(0x90); // pointY2L

Serial.write(0x00); // نیلے رنگ H

Serial.write(0xFF)؛ // نیلے رنگ ایل

}

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

آخر میں، آن لائن ڈیبگنگ۔

اسٹون ٹول باکس (GUI ڈیزائن سافٹ ویئر) مطلوبہ اثر حاصل کرنے کے لیے اسکرین فائل ڈاؤن لوڈ، arduino کوڈ فائل اپ لوڈ، پاور سپلائی، کمیونیکیشن، پاور آن کو مربوط کرے گا اور تصویری ڈرائنگ اور رنگ کی تبدیلی کا مشاہدہ کرے گا۔

ویڈیو میں دکھایا گیا کوڈ درج ذیل ہے۔

(آن لائن ٹیوننگ کی کوششیں)

ماخذ: پلیٹو ڈیٹا انٹیلی جنس