IOT

Επίδειξη αλφαβητισμού πρώιμης μάθησης σε σειρά STONE HMI Arduino

Χρήση του Βασικός έλεγχος γραφικών της σειριακής οθόνης STONE, μπορείτε να σχεδιάσετε γραμμές, τρίγωνα, πολύγωνα, ορθογώνια, τετράγωνα, κύκλους, τόξα, να γεμίσετε χρώματα, να κόψετε και να επικολλήσετε κ.λπ.

Ο σχεδιασμός μιας μηχανής πρώιμης εκμάθησης που χρησιμοποιεί τη σειριακή οθόνη αφής STVI056WT-01, για να αναγνωρίζει σχήματα κοιτάζοντας τις εικόνες, να αναγνωρίζει λέξεις ανάλογα με τα χρώματα και να σχεδιάζει μια μορφή ψυχαγωγίας για τον προσδιορισμό των σωστών σφαλμάτων, τη βαθμολογία ή την επιτυχία του επιπέδου, ώστε τα παιδιά να μάθουν να αναγνωρίζουν τα χρώματα, να κατανοούν βασικά σχήματα και να μαθαίνουν τις αντίστοιχες λέξεις με χαλαρό και παιχνιδιάρικο τρόπο.

Η επίσημη παρουσίαση βίντεο δεν δίνει το πραγματικό αποτέλεσμα του βασικού ελέγχου γραφικών, επομένως αυτό το demo θα το συμπληρώσει. Οι οδηγίες για το σχέδιο μεταδίδονται μέσω της επικοινωνίας μεταξύ των πλακέτα ελέγχου arduino και την ΠΕΤΡΑ σειριακή οθόνηn.

Επιπλέον, αυτή η σημείωση δεν περιλαμβάνει το πλήρες λειτουργικό περιεχόμενο του Βασικού στοιχείου ελέγχου γραφικών, μόνο οι λειτουργίες που χρησιμοποιούνται στη χρήση της επεξεργασίας, οι εγγεγραμμένες δοκιμάζονται στο μηχάνημα ΟΚ, μπορείτε να πραγματοποιήσετε απευθείας λήψη της δοκιμαστικής εκτέλεσης.

Το περιβάλλον υλικού για την επίδειξη φαίνεται στο Σχήμα 1, Εικόνα 2 και Εικόνα 3.

Το STONE έρχεται επίσημα με 2 πλακέτες, μεταξύ των οποίων η τετράγωνη είναι μια πλακέτα λήψης USB και η μεγάλη είναι μια πλακέτα επικοινωνίας USB σε σειριακή (και τροφοδοτικό DC12V για τη σειριακή οθόνη).

(Εικόνα 1: Επικοινωνία και σύνδεση ρεύματος της σειριακής οθόνης STONE) (Εικόνα 2: Διάγραμμα σύνδεσης για λήψη αρχείων ελέγχου Basic Graphics από την οθόνη STONE)

(Εικόνα 3: Σύνδεση TX, RX, GND μεταξύ πλακέτας επικοινωνίας σειριακής οθόνης STONE και πλακέτας ανάπτυξης arduino)

(Εικόνα 4: Βασικός έλεγχος γραφικών περιοχής σχεδίασης και μεταβλητής διεύθυνσης και άλλες ρυθμίσεις παραμέτρων)

Αφού επιλέξετε το στοιχείο ελέγχου Basicgraphics στο μενού STONE TOOLBox (GUI Design Software) Variable Configuration (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 είναι η μεταβλητή διεύθυνση του Basic graphics control, 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 είναι φωτεινή, η τιμή fffff είναι φωτεινή, λευκό. Οι άλλες είναι οι συντεταγμένες 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 για ένα δευτερόλεπτο, στη συνέχεια σβήνει για ένα δευτερόλεπτο, επανειλημμένα. Η λυχνία LED μας λέει ότι η απαλή λειτουργία είναι εντάξει!

Το δείγμα έχει δύο σελίδες. Η σελίδα 1 είναι σχήμα, η σελίδα 2 είναι corlor!

Αυτό το παράδειγμα κώδικα βρίσκεται στο αρχείο του frank. 20210625

*/

// Το Pin 13 έχει LED συνδεδεμένο στις περισσότερες πλακέτες Arduino.

// δώστε του ένα όνομα:

int led = 13;

int iYePian = 0; //0x0020 για The num of YePian!

//int iGongLu = 0; //0x0180 για το The GongLu!

//int iLiuLiang = 0; //0x0160 για το τώρα LiuLiang!

int iJiao = 0; // 0x0260 για το The JieJuJiao!

int iGongLuWater = 0; //0x0280 για το The Water GongLu! η τιμή είναι 0-50000!

int iLed = 1; //χρόνος καθυστέρησης αρ.

int iLed2 = 1; //χρόνος καθυστέρησης αρ. 50 ms κάνε ένα σημείο.

int iLed3 = 0; //χρόνος καθυστέρησης αρ. 50 ms κάνε ένα σημείο.

int iLed4 = 0; //χρόνος καθυστέρησης αρ. 50 ms κάνε ένα σημείο.

int iCurve0 = 0; //Η τιμή της καμπύλης0. 50 ms κάνε ένα σημείο.

int iCurve1 = 0; //Η τιμή της καμπύλης1,. 50 ms κάνε ένα σημείο.

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

// η ρουτίνα ρύθμισης (setup) εκτελείται μία φορά όταν πατάτε την επαναφορά:

άκυρη ρύθμιση () {

// προετοιμάστε το ψηφιακό pin ως έξοδο.

pinMode(led, OUTPUT);

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 "——

}

// Διαβάστε τις πληροφορίες που αποστέλλονται από τη σειριακή θύρα:

if (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 ;

if(iPowerWater != 1){

iPowerWater = 1; //ενεργοποίηση!

iJiao = 0 ;

iGongLuWater = 0 ;

}

}

εάν ((inChar == 0x02)&&(iNum2 == 3)) {

iNum2 = 0 ;

iPowerWater = 2; //απενεργοποιώ!

}

//——————Το πλήκτρο 0x0039 διαβάστηκε εντάξει! iPowerWater εντάξει!——————————-

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

καθυστέρηση (1);

iLed += 1;

iLed2 += 1; // 50ms κάντε ένα σημείο.

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

//———————————50 ms ξεκινάει ένα σημείο—————————————–

αν (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);

}

//——————————-50 ms τελειώνει το σημείο——————————————

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

αν (iLed == 500) {

digitalWrite(led, HIGH); // ανάψτε το LED (HIGH είναι το επίπεδο τάσης)

//καθυστέρηση(500); // περιμένετε ένα δευτερόλεπτο, Εύρος: 200-2000

}

αν (iLed >= 1000) {

digitalWrite(led, LOW); // απενεργοποιήστε το LED κάνοντας την τάση ΧΑΜΗΛΗ

//καθυστέρηση(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); // διεύθυνση Η βασικών γραφικών

Serial.write(0x00); // διεύθυνσηL βασικών γραφικών

Serial.write(0x00); // Do line CMD

Serial.write(0x02); // Do line CMD

Serial.write(0x00); // ο αριθμός της γραμμής

Serial.write(0x03); // Ο αριθμός της γραμμής.

Serial.write(0x00); //χρώμαH μαύρο

Serial.write(0x00); //χρώμαL

Serial.write(0x00); // σημείοΧ1Η

Serial.write(0xc8); // σημείοX1L

Serial.write(0x00); // σημείοY1H

Serial.write(0xc8); // σημείοY1L

Serial.write(0x01); // σημείοΧ2Η

Serial.write(0x2C); // σημείοX2L.

Serial.write(0x00); // σημείοY2H

Serial.write(0xC8); // σημείοY2L

Serial.write(0x00); // σημείοΧ3Η

Serial.write(0xFA); // σημείοX3L

Serial.write(0x00); // σημείοY3H

Serial.write(0x64); // σημείοY3L

Serial.write(0x00); // σημείοΧ1Η

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); // σημείοΧ1Η

Serial.write(0x0A); // σημείοX1L

Serial.write(0x00); // σημείοY1H

Serial.write(0x50); // σημείοY1L

Serial.write(0x02); // σημείοΧ2Η

Serial.write(0x76); // σημείοX2L.

Serial.write(0x01); // σημείοY2H

Serial.write(0x90); // σημείοY2L

Serial.write(0xF0); // Κόκκινο χρώμα Η

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); // addressL του βασικού γραφικού pabe1

Serial.write(0x00); // Κάντε τόξο CMD

Serial.write(0x0B); // Κάντε τόξο CMD

Serial.write(0x00); // ο αριθμός του τόξου

Serial.write(0x01); // Ο αριθμός του τόξου.

Serial.write(0x00); // χρώμαH μαύρο

Serial.write(0x00); // χρώμαL κενό

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); // Γωνία1Η

Serial.write(0x76); // Γωνία1L

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); // διεύθυνση H της σελίδας Βασικών γραφικών2

Serial.write(0x00); // addressL του βασικού γραφικού pabe2

Serial.write(0x00); // Να γεμίσει το ορθογώνιο CMD

Serial.write(0x04); // Να γεμίσει το ορθογώνιο CMD

Serial.write(0x00); // ο αριθμός του ορθογωνίου

Serial.write(0x01); // Ο αριθμός του ορθογωνίου

Serial.write(0x00); // σημείοΧ1Η

Serial.write(0x0A); // σημείοX1L

Serial.write(0x00); // σημείοY1H

Serial.write(0x50); // σημείοY1L

Serial.write(0x02); // σημείοΧ2Η

Serial.write(0x76); // σημείοX2L.

Serial.write(0x01); // σημείοY2H

Serial.write(0x90); // σημείοY2L

Serial.write(0xFF); // Κίτρινο χρώμα Η

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); // addressL του βασικού γραφικού pabe1

Serial.write(0x00); // Κάντε ορθογώνιο CMD

Serial.write(0x03); // Κάντε ορθογώνιο CMD

Serial.write(0x00); // ο αριθμός του ορθογωνίου

Serial.write(0x01); // Ο αριθμός του ορθογωνίου

Serial.write(0x01); // σημείοΧ1Η

Serial.write(0x54); // σημείοX1L

Serial.write(0x00); // σημείοY1H

Serial.write(0xED); // σημείοY1L

Serial.write(0x02); // σημείοΧ2Η

Serial.write(0x49); // σημείοX2L.

Serial.write(0x01); // σημείοY2H

Serial.write(0x54); // σημείοY2L

Serial.write(0x00); // χρώμαH μαύρο

Serial.write(0x00); // χρώμαL κενό

//γέμισμα--

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); // σημείοΧ1Η

Serial.write(0x0A); // σημείοX1L

Serial.write(0x00); // σημείοY1H

Serial.write(0x50); // σημείοY1L

Serial.write(0x02); // σημείοΧ2Η

Serial.write(0x76); // σημείοX2L.

Serial.write(0x01); // σημείοY2H

Serial.write(0x90); // σημείοY2L

Serial.write(0x2F); // Πράσινο χρώμα Η

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); // addressL του βασικού γραφικού pabe1

Serial.write(0x00); // Κάντε ορθογώνιο CMD

Serial.write(0x03); // Κάντε ορθογώνιο CMD

Serial.write(0x00); // ο αριθμός του ορθογωνίου

Serial.write(0x01); // Ο αριθμός του ορθογωνίου

Serial.write(0x01); // σημείοΧ1Η

Serial.write(0x54); // σημείοX1L

Serial.write(0x00); // σημείοY1H

Serial.write(0x91); // σημείοY1L

Serial.write(0x02); // σημείοΧ2Η

Serial.write(0x49); // σημείοX2L.

Serial.write(0x01); // σημείοY2H

Serial.write(0x86); // σημείοY2L

Serial.write(0x00); // χρώμαH μαύρο

Serial.write(0x00); // χρώμαL κενό

//γέμισμα--

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); // σημείοΧ1Η

Serial.write(0x0A); // σημείοX1L

Serial.write(0x00); // σημείοY1H

Serial.write(0x50); // σημείοY1L

Serial.write(0x02); // σημείοΧ2Η

Serial.write(0x76); // σημείοX2L.

Serial.write(0x01); // σημείοY2H

Serial.write(0x90); // σημείοY2L

Serial.write(0xFD); // πορτοκαλί χρώμαΗ

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); // 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); // χρώμαH μαύρο

Serial.write(0x00); // χρώμαL κενό

//γέμισμα--

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); // σημείοΧ1Η

Serial.write(0x0A); // σημείοX1L

Serial.write(0x00); // σημείοY1H

Serial.write(0x50); // σημείοY1L

Serial.write(0x02); // σημείοΧ2Η

Serial.write(0x76); // σημείοX2L.

Serial.write(0x01); // σημείοY2H

Serial.write(0x90); // σημείοY2L

Serial.write(0x00); // μπλε χρώμαΗ

Serial.write(0xFF); // μπλε χρώμαL

}

//————————————–Το μπλε και ο κύκλος είναι το τέλος——————————————–

Τέλος, διαδικτυακός εντοπισμός σφαλμάτων.

Το STONE TOOLBox (λογισμικό σχεδίασης GUI) θα επεξεργαστεί τη λήψη του αρχείου οθόνης, τη μεταφόρτωση του αρχείου κώδικα arduino, τη σύνδεση του τροφοδοτικού, την επικοινωνία, την ενεργοποίηση για να παρατηρήσει το σχέδιο της εικόνας και την αλλαγή χρώματος, για να επιτύχει το επιθυμητό αποτέλεσμα.

Ο κώδικας που παρουσιάζεται στο βίντεο είναι ο εξής.

(διαδικτυακές προσπάθειες συντονισμού)

Πηγή: Intelligence Data Intelligence