משתמש ב שליטה גרפית בסיסית של מסך סידורי STONE, אתה יכול לצייר קווים, משולשים, מצולעים, מלבנים, ריבועים, עיגולים, קשתות, צבעי מילוי, לגזור ולהדביק, וכן הלאה.
עיצוב מכונת למידה מוקדמת באמצעות מסך המגע הטורי STVI056WT-01, לזיהוי צורות ע"י התבוננות בתמונות, זיהוי מילים לפי צבעים, ועיצוב פורמט בידורי לקביעת השגיאות הנכונות, להבקיע או לעבור את הרמה, כדי שילדים יוכלו ללמוד לזהות צבעים, להבין צורות בסיסיות וללמוד את המילים המתאימות בצורה נינוחה ושובבה.
מצגת הווידאו הרשמית אינה נותנת את האפקט הממשי של בקרת הגרפיקה הבסיסית, ולכן הדגמה זו תשלים אותה. ההוראות לציור מועברות באמצעות התקשורת בין ה לוח בקרה של ארדואינו ו מסך סידורי של STONEn.
בנוסף, הערה זו אינה כוללת את התוכן הפונקציונלי המלא של בקרת הגרפיקה הבסיסית, רק הפונקציות המשמשות בשימוש בעיבוד, הרשומות נבדקות על המכונה בסדר, אתה יכול להוריד ישירות את הפעלת ההדגמה.
סביבת החומרה עבור ההדגמה מוצגת באיור 1, איור 2 ואיור 3.
STONE מגיע באופן רשמי עם 2 לוחות, ביניהם, המרובע הוא לוח הורדת USB והארוך הוא לוח תקשורת USB לטורי (וספק כוח DC12V למסך הטורי).
(איור 1: תקשורת וחיבור לחשמל של מסך טורי של STONE) (איור 2: דיאגרמת חיבור להורדת קבצי בקרת גרפיקה בסיסית ממסך STONE)
(איור 3: חיבור TX, RX, GND בין לוח תקשורת מסך טורי STONE ללוח פיתוח arduino)
(איור 4: אזור ציור בקרת גרפיקה בסיסית וכתובת משתנה והגדרות פרמטרים אחרות)
לאחר בחירת הפקד Basicgraphics בתפריט STONE TOOLBox(GUI Design software) Configuration Variable (D), והגדרת הפרמטרים של אזור הציור והכתובות המשתנות, ההוראה 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 מלבנים, 2x0, 0000xffff הוא קוד הצבע, הערך של 0 הוא שחור, הערך של fff הוא בהיר לבן. האחרות הן קואורדינטות XY של הקודקוד השמאלי העליון והקודקוד הימני התחתון של כל מלבן.
(איור 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
כדי לצייר שני עיגולים בו-זמנית, מרכז 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: פקודת 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 הוא אדום 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
קווי דמיון נוספים, עיין בקוד התוכנית לפרטים.
הקוד המודגם בסרטון הוא כדלקמן.
/*
frank10
STONE ו-arduino COMM, הגרפיקה הבסיסית משחקת בתוכנית..
מדליק נורית לשנייה אחת, ואז כבוי לשנייה אחת, שוב ושוב. ה-LED אומר לנו שהרכה פועלת בסדר!
לדוגמא יש שני עמודים. עמוד1 הוא צורה, עמוד 2 הוא קורור!
קוד דוגמה זה נמצא בקובץ של frank. 20210625
*/
// לפין 13 יש נורית LED המחוברת ברוב לוחות הארדואינו.
// תן לזה שם:
int led = 13;
int iYePian = 0; //0x0020 עבור המספר של YePian!
//int iGongLu = 0; //0x0180 עבור The GongLu!
//int iLiuLiang = 0; //0x0160 עבור The now LiuLiang!
int iJiao = 0; // 0x0260 עבור The JieJuJiao!
int iGongLuWater = 0; //0x0280 עבור The Water GongLu! הערך הוא 0-50000!
int iLed = 1; // זמן עיכוב num.
int iLed2 = 1; // זמן עיכוב מספר. 50ms עושים נקודה.
int iLed3 = 0; // זמן עיכוב מספר. 50ms עושים נקודה.
int iLed4 = 0; // זמן עיכוב מספר. 50ms עושים נקודה.
int iCurve0 = 0; //הערך של curve0. 50ms עושים נקודה.
int iCurve1 = 0; //הערך של עקומה1,. 50ms עושים נקודה.
int iFlag0 = 1; // הדגל של העקומה0 + או -; .1 למעלה, 0 למטה.
int iFlag1 = 1; // הדגל של העקומה1 + או -; .1 למעלה, 0 למטה.
int iNum = 0; //קרא ב-char num.
int iNum2 = 0; //קרא ב-char num2 עבור ShuiDianZhan!
//int iPower = 2; //פסל מפתח 0x0009
//int iMode = 2; //פסל מפתח 0x000A
int iPowerWater = 2; //פסל מפתח 0x0039
// שגרת ההתקנה פועלת פעם אחת כשלוחצים על reset:
void setup () {
// אתחל את הפין הדיגיטלי כפלט.
pinMode(led, OUTPUT);
Serial.begin(115200); // פתח את פונקציית התקשורת הטורית והמתן עד שהיציאה הטורית תיפתח
while (!Serial) {
; // המתן לחיבור של יציאה טורית. דרוש לליאונרדו בלבד
}
}
// שגרת הלולאה עוברת שוב ושוב לנצח:
loid loop () {
int inChar;
/*———————————————————————————-*/
if (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 "——
}
// קרא את המידע שנשלח על ידי היציאה הטורית:
if (Serial.available() > 0) { inChar = Serial.read(); }
/*
לשמור באק.
כי יכול להיות מפתח קריאה ויש עבודה של מפתח.
התוכנית היא HMI שמפתח קלט עושה עבודה של peplose.
*/
//———————————————————————————
//—————————-0x0039 הקריאה מתחילה————————————
if (inChar == 0x39) { iNum2 = 1 ; }
if ((inChar == 0x01)&&(iNum2 == 1)) { iNum2 = 2 ; }
if ((inChar == 0x00)&&(iNum2 == 2)) { iNum2 = 3 ; }
if ((inChar == 0x01)&&(iNum2 == 3)) {
iNum2 = 0 ;
if(iPowerWater != 1){
iPowerWater = 1 ; //פועל!
iJiao = 0 ;
iGongLuWater = 0 ;
}
}
if ((inChar == 0x02)&&(iNum2 == 3)) {
iNum2 = 0 ;
iPowerWater = 2 ; //כיבוי!
}
//——————0x0039 מקש קרא בסדר! iPowerWater בסדר!—————————-
//———————————————————————————
עיכוב (1);
iLed += 1;
iLed2 += 1; // 50ms עושים נקודה.
//———————————————————————————————
//———————————50ms תתחיל נקודה—————————————
if (iLed2 == 50) {
iLed2 = 1;
iLed4 += 1; // 50ms עושים נקודה.
if(iFlag0 == 1){
iCurve0 += 1; // 50ms עושים נקודה.
if(iCurve0 >= 150){
iFlag0 = 0; // ה-iCurve0 מטה!.
}
}
if(iFlag0 == 0){
iCurve0 -= 1; // 50ms עושים נקודה.
if(iCurve0 <= 1){
iFlag0 = 1; // ה-iCurve0 מופיע!.
}
}
if(iFlag1 == 1){
if(iLed4 >= 3){
iCurve1 += 1; // 50ms עושים נקודה.
iLed4 = 0;
}
if(iCurve1 >= 50){
iFlag1 = 0; // ה-iCurve1 מטה!.
}
}
if(iFlag1 == 0){
if(iLed4 >= 3){
iLed4 = 0;
iCurve1 -= 1; // 50ms עושים נקודה.
}
if(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 לסיים את הנקודה—————————————
//———————————————————————————————
if (iLed == 500) {
digitalWrite(led, HIGH); // הפעל את הנורית (HIGH היא רמת המתח)
//delay(500); // המתן שנייה, טווח:200-2000
}
if (iLed >= 1000) {
digitalWrite(led, LOW); // כבה את ה-LED על ידי הפיכת המתח לנמוך
//delay(500); // המתן שנייה, טווח:200-2000
iLed = 1;
if( iNum <= 6 ) iNum += 1; //תפנית צורה!
if( iNum == 6 ) iNum = 0; //תפנית צורה!
//————————————–האדום מתחיל——————————————
if( 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); // pointX1L
Serial.write(0x00); // נקודת Y1H
Serial.write(0xc8); // pointY1L
Serial.write(0x01); // נקודהX2H
Serial.write(0x2C); // pointX2L.
Serial.write(0x00); // נקודת Y2H
Serial.write(0xC8); // pointY2L
Serial.write(0x00); // נקודהX3H
Serial.write(0xFA); // pointX3L
Serial.write(0x00); // נקודת Y3H
Serial.write(0x64); // pointY3L
Serial.write(0x00); // נקודהX1H
Serial.write(0xc8); // pointX1L
Serial.write(0x00); // נקודת Y1H
Serial.write(0xc8); // pointY1L
//למלא--
Serial.write(0xA5); //"A5" הוא 165
Serial.write(0x5A); //"5A" הוא 90
Serial.write(0x11);
Serial.write(0x82);
Serial.write(0x60); // כתובתH של דף גרפיקה בסיסי2
Serial.write(0x00); // כתובתL של גרפיקה בסיסית pabe2
Serial.write(0x00); // האם למלא מלבן CMD
Serial.write(0x04); // האם למלא מלבן CMD
Serial.write(0x00); // המספר של המלבן
Serial.write(0x01); // המספר של המלבן
Serial.write(0x00); // נקודהX1H
Serial.write(0x0A); // pointX1L
Serial.write(0x00); // נקודת Y1H
Serial.write(0x50); // pointY1L
Serial.write(0x02); // נקודהX2H
Serial.write(0x76); // pointX2L.
Serial.write(0x01); // נקודת Y2H
Serial.write(0x90); // pointY2L
Serial.write(0xF0); // צבע אדוםH
Serial.write(0x00); // צבע אדוםL
}
//————————————–האדום נגמר——————————————
//————————————–הצהוב והקשת מתחילים——————————————
if( 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); // כתובתL של גרפיקה בסיסית pabe1
Serial.write(0x00); // עשה arc CMD
Serial.write(0x0B); // עשה arc CMD
Serial.write(0x00); // המספר של הקשת
Serial.write(0x01); // מספר הקשת.
Serial.write(0x00); // צבע H שחור
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); // כתובתL של גרפיקה בסיסית pabe2
Serial.write(0x00); // האם למלא מלבן CMD
Serial.write(0x04); // האם למלא מלבן CMD
Serial.write(0x00); // המספר של המלבן
Serial.write(0x01); // המספר של המלבן
Serial.write(0x00); // נקודהX1H
Serial.write(0x0A); // pointX1L
Serial.write(0x00); // נקודת Y1H
Serial.write(0x50); // pointY1L
Serial.write(0x02); // נקודהX2H
Serial.write(0x76); // pointX2L.
Serial.write(0x01); // נקודת Y2H
Serial.write(0x90); // pointY2L
Serial.write(0xFF); // צבע צהובH
Serial.write(0x60); // צבע צהובL
}
//————————————–הצהוב והקשת נגמרים——————————————
//————————————–הירוק והמלבן מתחילים——————————————
if( 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); // כתובתL של גרפיקה בסיסית pabe1
Serial.write(0x00); // עשה CMD מלבן
Serial.write(0x03); // עשה CMD מלבן
Serial.write(0x00); // המספר של המלבן
Serial.write(0x01); // המספר של המלבן
Serial.write(0x01); // נקודהX1H
Serial.write(0x54); // pointX1L
Serial.write(0x00); // נקודת Y1H
Serial.write(0xED); // pointY1L
Serial.write(0x02); // נקודהX2H
Serial.write(0x49); // pointX2L.
Serial.write(0x01); // נקודת Y2H
Serial.write(0x54); // pointY2L
Serial.write(0x00); // צבע H שחור
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); // כתובתL של גרפיקה בסיסית pabe2
Serial.write(0x00); // האם למלא מלבן CMD
Serial.write(0x04); // האם למלא מלבן CMD
Serial.write(0x00); // המספר של המלבן
Serial.write(0x01); // המספר של המלבן
Serial.write(0x00); // נקודהX1H
Serial.write(0x0A); // pointX1L
Serial.write(0x00); // נקודת Y1H
Serial.write(0x50); // pointY1L
Serial.write(0x02); // נקודהX2H
Serial.write(0x76); // pointX2L.
Serial.write(0x01); // נקודת Y2H
Serial.write(0x90); // pointY2L
Serial.write(0x2F); // צבע ירוקH
Serial.write(0x60); // צבע ירוקL
}
//————————————– הירוק והמלבן נגמרים——————————————
//—————————————התפוז והריבוע מתחילים——————————————
if( 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); // כתובתL של גרפיקה בסיסית pabe1
Serial.write(0x00); // עשה CMD מלבן
Serial.write(0x03); // עשה CMD מלבן
Serial.write(0x00); // המספר של המלבן
Serial.write(0x01); // המספר של המלבן
Serial.write(0x01); // נקודהX1H
Serial.write(0x54); // pointX1L
Serial.write(0x00); // נקודת Y1H
Serial.write(0x91); // pointY1L
Serial.write(0x02); // נקודהX2H
Serial.write(0x49); // pointX2L.
Serial.write(0x01); // נקודת Y2H
Serial.write(0x86); // pointY2L
Serial.write(0x00); // צבע H שחור
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); // כתובתL של גרפיקה בסיסית pabe2
Serial.write(0x00); // האם למלא מלבן CMD
Serial.write(0x04); // האם למלא מלבן CMD
Serial.write(0x00); // המספר של המלבן
Serial.write(0x01); // המספר של המלבן
Serial.write(0x00); // נקודהX1H
Serial.write(0x0A); // pointX1L
Serial.write(0x00); // נקודת Y1H
Serial.write(0x50); // pointY1L
Serial.write(0x02); // נקודהX2H
Serial.write(0x76); // pointX2L.
Serial.write(0x01); // נקודת Y2H
Serial.write(0x90); // pointY2L
Serial.write(0xFD); // צבע כתוםH
Serial.write(0x60); // צבע כתוםL
}
//————————————–התפוז והריבוע נגמר——————————————
//—————————————כחול והעיגול מתחיל——————————————
if( 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); // כתובתL של גרפיקה בסיסית 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); // צבע H שחור
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); // כתובתL של גרפיקה בסיסית pabe2
Serial.write(0x00); // האם למלא מלבן CMD
Serial.write(0x04); // האם למלא מלבן CMD
Serial.write(0x00); // המספר של המלבן
Serial.write(0x01); // המספר של המלבן
Serial.write(0x00); // נקודהX1H
Serial.write(0x0A); // pointX1L
Serial.write(0x00); // נקודת Y1H
Serial.write(0x50); // pointY1L
Serial.write(0x02); // נקודהX2H
Serial.write(0x76); // pointX2L.
Serial.write(0x01); // נקודת Y2H
Serial.write(0x90); // pointY2L
Serial.write(0x00); // צבע כחולH
Serial.write(0xFF); // צבע כחולL
}
//————————————–הכחול והעיגול נגמרים——————————————
לבסוף, איתור באגים מקוון.
STONE TOOLBox(תוכנת GUI Design) תערוך את הורדת קובץ המסך, העלאת קובץ קוד ארדואינו, תחבר את ספק הכוח, תקשורת, תדליק כדי לצפות בציור התמונה ובשינוי הצבע, כדי להשיג את האפקט הרצוי.
הקוד המודגם בסרטון הוא כדלקמן.
(נסיונות כוונון מקוונים)
מקור: מודיעין נתונים אפלטון