IOT

STONE serielle HMI Arduino-Demonstration zum frühen Lernen von Lese- und Schreibfähigkeiten

Verwendung der Grundlegende Grafiksteuerung des seriellen STONE-Bildschirms können Sie Linien, Dreiecke, Polygone, Rechtecke, Quadrate, Kreise, Bögen, Füllfarben, Ausschneiden und Einfügen usw. zeichnen.

Der Entwurf einer frühlernenden Maschine mit dem seriellen Touchscreen STVI056WT-01, um Formen durch Betrachten der Bilder zu erkennen, Wörter anhand von Farben zu erkennen und ein Unterhaltungsformat zu entwerfen, um die richtigen Fehler zu bestimmen, zu bewerten oder das Niveau zu bestehen, damit Kinder lernen, Farben zu erkennen, Grundformen zu verstehen und die entsprechenden Wörter entspannt und spielerisch zu lernen.

Die offizielle Videopräsentation zeigt nicht die tatsächliche Wirkung der Basic-Grafiksteuerung, daher wird diese Demo sie ergänzen. Die Zeichenanweisungen werden durch die Kommunikation zwischen den Arduino-Steuerplatine und dem STONE-Serienbildschirmn.

Außerdem beinhaltet dieser Hinweis nicht den vollständigen Funktionsinhalt der Basic Grafiksteuerung, sondern nur die bei der Nutzung verwendeten Funktionen der Ausarbeitung, die aufgezeichneten sind auf der Maschine getestet OK, Sie können den Demolauf direkt herunterladen.

Die Hardwareumgebung für die Demo ist in Abbildung 1, Abbildung 2 und Abbildung 3 dargestellt.

STONE wird offiziell mit 2 Boards geliefert, von denen das quadratische ein USB-Download-Board und das lange ein USB-zu-Seriell-Kommunikationsboard (und eine DC12V-Stromversorgung für den seriellen Bildschirm) ist.

(Abbildung 1: Kommunikations- und Stromanschluss des seriellen STONE-Bildschirms) (Abbildung 2: Anschlussdiagramm zum Herunterladen von Basisgrafik-Steuerdateien vom STONE-Bildschirm)

(Abbildung 3: TX, RX, GND-Verbindung zwischen der seriellen STONE-Bildschirmkommunikationsplatine und der Arduino-Entwicklungsplatine)

(Abbildung 4: Grundlegende Grafiksteuerung des Zeichenbereichs und der Variablenadresse und anderer Parametereinstellungen)

Nach der Auswahl des Basicgraphics-Steuerelements im Menü der STONE TOOLBox (GUI Design Software) Variablenkonfiguration (D) und der Einstellung des Zeichenbereichs und der Variablenadressenparameter wird die 0x82-Anweisung verwendet, um in die eingestellte Variable Speicheradresse (0x1000 wird hier eingestellt) zu schreiben. Nach dem Einstellen des Zeichenbereichs und der Variablenadressenparameter wird der Befehl 0x82 verwendet, um CMD + Data_pack_Num_Max + Data in die eingestellte Variable Speicheradresse (0x1000 in diesem Fall) zu schreiben, um die Implementierung der Zeichenfunktionen abzuschließen. Der spezifische Funktionscode ist in Abbildung 6 dargestellt, wo es eine Strichzeichnungsanweisung 0x0002 gibt, anhand des folgenden Beispiels.

(Abbildung 5: Grundlegendes Befehlsformat für Grafiksteuerdaten)

(Abbildung 6: Darstellung der Befehle zum Zeichnen von Linien und Rechtecken für die grundlegende grafische Steuerung)

Strichzeichnungsanweisung 0x0002, Anwendungsbeispiel.

Um eine schwarze Linie von den Koordinaten (340, 200) mit den Koordinaten (585, 200) zu verbinden, lautet die Anweisung

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

Zeichnen Sie drei schwarze Linien, die zu einem Dreieck mit drei Scheitelpunkten an den Koordinaten (200, 200), (300, 200), (250, 100) geschlossen sind, und die Anweisung lautet

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

Das obige 0x1000 ist die variable Adresse des Basic-Grafiksteuerelements, 0x0002 ist der Befehlscode, 0x0001 und 0x0003 sind 1 Zeile bzw. 3 Zeilen, 0x0000 ist der Farbcode, der Wert 0000 ist schwarz und der Wert ffff ist hellweiß. Andere sofortige XY-Koordinaten jedes Punktes.

Beispiel für das Zeichnen eines Rechtecks.

Rechteck obere linke Eckpunktkoordinaten (340, 237), untere rechte Eckpunktkoordinaten (585, 340) Farbe schwarz, der Befehl ist

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

Zeichne gleichzeitig zwei Rechtecke (340, 237) – (585, 340), (324, 221) – (601, 356), der Befehl lautet

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

Das obige 0x1000 ist die variable Adresse des Basic-Grafiksteuerelements, 0x0003 ist der Rechteck-Befehlscode, 0x0001, 0x0002 sind 1 Rechteck, 2 Rechtecke, 0x0000, 0xffff ist der Farbcode, der Wert von 0000 ist schwarz, der Wert von fffff ist hell Weiß. Die anderen sind die XY-Koordinaten des oberen linken Scheitelpunkts und des unteren rechten Scheitelpunkts jedes Rechtecks.

(Abbildung 7: Befehle zum Füllen von Rechtecken und zum Zeichnen von Kreisen für die grundlegende Grafiksteuerung)

Beispiel für eine rechteckige Füllung.

Der Befehl zum Füllen des schwarzen Rechtecks ​​(470, 200) ~ (550 ,255) ist

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

Beispiel für das Zeichnen eines Kreises.

Der Mittelpunkt des Kreises (470, 200), R = 50 schwarz, die Anweisung lautet

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

Um zwei Kreise gleichzeitig zu zeichnen, Mittelpunkt A (470, 200) R=50 und Mittelpunkt B (256, 200) R=80, beide in Schwarz, lautet der Befehl

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

(Abbildung 8: Arc-Befehl für Basic-Grafiksteuerung)

Die Bogenauflösung beträgt 0.5 Grad, 360 Grad entspricht 720 und 0 Grad entspricht der vertikalen Aufwärtsrichtung.

Bogen beispiel.

Der obere Bogen 315 Grad zum Anfang – 45 Grad zum Ende, der Mittelpunkt des Kreises (300, 200) R = 80, schwarz, der Befehl ist

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

Apropos Farben.

0x0000 ist schwarz 0xffff ist weiß 0x00ff ist blau 0xf000 ist rot 0xfd60 ist orange

0xff60 ist gelb 0x2f60 ist grün

(Abbildung 9: Zeichenbrettparameter und Adressen der grundlegenden Grafiksteuerungsformschnittstelle)

(Abbildung 10: Zeichenbrettparameter und Adressen der Farbschnittstelle der Basic-Grafiksteuerung)

Entsprechend der variablen Adresse lautet der Befehl zum Füllen der grünen Farbe für (10, 80) ~ (630, 400)

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

Weitere Ähnlichkeiten finden Sie im Programmcode für Details.

Der im Video gezeigte Code sieht wie folgt aus.

/*

frank10

STONE und arduino COMM, die Basic-Grafik spielt im Programm..

Schaltet eine LED für eine Sekunde ein und dann für eine Sekunde aus, wiederholt. Die LED sagt uns, dass der Softlauf in Ordnung ist!

Das Beispiel hat zwei Seiten. Die Seite 1 ist Form, die Seite 2 ist Farbe!

Dieser Beispielcode befindet sich in der Datei von frank. 20210625

*/

// Bei den meisten Arduino-Boards ist an Pin 13 eine LED angeschlossen.

// gib ihm einen Namen:

int led = 13;

int iYePian = 0; //0x0020 für die Anzahl von YePian!

//int iGongLu = 0; //0x0180 für The GongLu!

//int iLiuLiang = 0; //0x0160 für The now LiuLiang!

int iJiao = 0; // 0x0260 für The JieJuJiao!

int iGongLuWasser = 0; //0x0280 für The Water GongLu! Wert ist 0-50000!

int iLed = 1; // Verzögerungszeit num.

int iLed2 = 1; // Verzögerungszeit num. 50ms machen einen Punkt.

int iLed3 = 0; // Verzögerungszeit num. 50ms machen einen Punkt.

int iLed4 = 0; // Verzögerungszeit num. 50ms machen einen Punkt.

int iCurve0 = 0; //Der Wert von curve0. 50ms machen einen Punkt.

int iCurve1 = 0; //Der Wert von Kurve1. 50ms machen einen Punkt.

int iFlag0 = 1; // Das Flag der Kurve0 + oder -; .1 ist oben, 0 ist unten.

int iFlag1 = 1; // Das Flag der Kurve1 + oder -; .1 ist oben, 0 ist unten.

int iNum = 0 ; // Zeichennummer einlesen.

int iNum2 = 0; // char num2 für ShuiDianZhan einlesen!

//int iPower = 2; //Schlüsselstatue 0x0009

//int iMode = 2; //Schlüsselstatue 0x000A

int iPowerWater = 2; //Schlüsselstatue 0x0039

// die Setup-Routine wird einmal ausgeführt, wenn Sie Reset drücken:

void setup () {

// Initialisieren Sie den digitalen Pin als Ausgang.

pinMode (led, AUSGANG);

Serial.begin(115200); // Öffnen Sie die serielle Kommunikationsfunktion und warten Sie, bis sich der serielle Port öffnet

während (!Seriell) {

; // Warten Sie, bis der serielle Port eine Verbindung herstellt. Nur für Leonardo benötigt

}

}

// die Schleifenroutine läuft immer und immer wieder:

void loop () {

int inChar;

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

if (iLed == 800) {

//——- 0x0039-Wert lesen———-

Serial.write (0xA5); //”A5″ ist 165

Serial.write (0x5A); //"5A" ist 90

Serial.write (0x04); //Länge

Serial.write (0x83); // lesen!

Serial.write (0x00); // Adresse von ShuiDianZhan Power key!

Serial.write (0x39); // Adresse von ShuiDianZhan Power Key!

Serial.write (0x01); // 0x0039 (Power-Taste)

//———STONE Rückgabewert ist „A5 5A 06 83 00 39 01 00 01“——

}

// Lesen Sie die von der seriellen Schnittstelle gesendeten Informationen:

if (Serial.available () > 0) { inChar = Serial.read (); }

/*

einen backen sparen.

weil kann einen gelesenen Schlüssel haben und eine Schlüsselarbeit haben.

Das Programm ist ein HMI, das eine Eingabetaste eine Arbeit von Peplose macht.

*/

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

//——————————-0x0039 Schlüssellesebeginn———————————–

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(iPowerWasser != 1){

iPowerWasser = 1 ; //ein!

iJiao = 0;

iGongLuWasser = 0 ;

}

}

if ((inChar == 0x02)&&(iNum2 == 3)) {

iNum2 = 0 ;

iPowerWasser = 2 ; //ausschalten!

}

//——————0x0039 Schlüssel gelesen ok! iPowerWater ok!——————————-

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

Verzögerung (1);

iLED += 1;

iLED2 += 1; // 50ms machen einen Punkt.

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

//———————————50ms beginnt ein Punkt————————————–

if (iLed2 == 50) {

iLED2 = 1;

iLED4 += 1; // 50ms machen einen Punkt.

if(iFlag0 == 1){

iKurve0 += 1; // 50ms machen einen Punkt.

if(iCurve0 >= 150){

iFlag0 = 0; // Der iCurve0 dreht nach unten!.

}

}

if(iFlag0 == 0){

iKurve0 -= 1; // 50ms machen einen Punkt.

if(iCurve0 <= 1){

iFlag0 = 1; // Die iCurve0 dreht sich!.

}

}

if(iFlag1 == 1){

if(iLed4 >= 3){

iKurve1 += 1; // 50ms machen einen Punkt.

iLED4 = 0;

}

if(iCurve1 >= 50){

iFlag1 = 0; // Der iCurve1 dreht nach unten!.

}

}

if(iFlag1 == 0){

if(iLed4 >= 3){

iLED4 = 0;

iKurve1 -= 1; // 50ms machen einen Punkt.

}

if(iCurve1 <= 1){

iFlag1 = 1; // Die iCurve1 dreht sich!.

}

}

Serial.write (0xA5); //”A5″ ist 165

Serial.write (0x5A); //"5A" ist 90

Serial.write (0x06);

Serial.write (0x84); // in die Kurve schreiben!

Serial.write (0x03); // Der Kurvenverlauf,

Serial.write (iCurve0); // N=1,

Serial.write (0x00);

Serial.write (iCurve1);

Serial.write (0x00);

}

//——————————-50ms macht das Spitzenende—————————————

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

if (iLed == 500) {

digitalWrite (led, HIGH); // schalte die LED ein (HIGH ist der Spannungspegel)

// Verzögerung (500); // warte eine Sekunde, Bereich: 200-2000

}

if (iLed >= 1000) {

digitalWrite (LED, NIEDRIG); // schalten Sie die LED aus, indem Sie die Spannung LOW machen

// Verzögerung (500); // warte eine Sekunde, Bereich: 200-2000

iLED = 1;

if( iNum <= 6 ) iNum += 1; //Form drehen!

if( iNum == 6 ) iNum = 0; //Form drehen!

//————————————–Das Rot ist Anfang—————————————–

if( iNum == 1){ // Dreieck! und Rot!

Serial.write (0xA5); //”A5″ ist 165

Serial.write (0x5A); //"5A" ist 90

Serial.write (0x19);

Serial.write (0x82);

Serial.write (0x10); // AdresseH der Basisgrafik

Serial.write (0x00); // AdresseL der Basisgrafik

Serial.write (0x00); // Zeile CMD . ausführen

Serial.write (0x02); // Zeile CMD . ausführen

Serial.write (0x00); // die Nummer der Zeile

Serial.write (0x03); // Die Nummer der Zeile.

Serial.write (0x00); //FarbeH schwarz

Serial.write (0x00); //FarbeL

Serial.write (0x00); // PunktX1H

Serial.write (0xc8); // PunktX1L

Serial.write (0x00); // pointY1H

Serial.write (0xc8); // pointY1L

Serial.write (0x01); // PunktX2H

Serial.write (0x2C); // PunktX2L.

Serial.write (0x00); // pointY2H

Serial.write (0xC8); // pointY2L

Serial.write (0x00); // PunktX3H

Serial.write (0xFA); // PunktX3L

Serial.write (0x00); // pointY3H

Serial.write (0x64); // pointY3L

Serial.write (0x00); // PunktX1H

Serial.write (0xc8); // PunktX1L

Serial.write (0x00); // pointY1H

Serial.write (0xc8); // pointY1L

//füllen--

Serial.write (0xA5); //”A5″ ist 165

Serial.write (0x5A); //"5A" ist 90

Serial.write (0x11);

Serial.write (0x82);

Serial.write (0x60); // AdresseH der Basisgrafikseite2

Serial.write (0x00); // AdresseL von Basic Graphics pabe2

Serial.write (0x00); // Rechteck ausfüllen CMD

Serial.write (0x04); // Rechteck ausfüllen CMD

Serial.write (0x00); // die Nummer des Rechtecks

Serial.write (0x01); // Die Nummer des Rechtecks

Serial.write (0x00); // PunktX1H

Serial.write (0x0A); // PunktX1L

Serial.write (0x00); // pointY1H

Serial.write (0x50); // pointY1L

Serial.write (0x02); // PunktX2H

Serial.write (0x76); // PunktX2L.

Serial.write (0x01); // pointY2H

Serial.write (0x90); // pointY2L

Serial.write (0xF0); // Rote FarbeH

Serial.write (0x00); // Rote FarbeL

}

//————————————–Das Rot ist zu Ende—————————————–

//————————————–Das Gelb und der Bogen beginnt—————————————–

if( iNum == 2){ // Bogen! und gelb!

Serial.write (0xA5); //”A5″ ist 165

Serial.write (0x5A); //"5A" ist 90

Serial.write (0x13);

Serial.write (0x82);

Serial.write (0x10); // AdresseH der Basisgrafikseite1

Serial.write (0x00); // AdresseL von Basic Graphics pabe1

Serial.write (0x00); // Bogen CMD . ausführen

Serial.write (0x0B); // Bogen CMD . ausführen

Serial.write (0x00); // die Nummer des Bogens

Serial.write (0x01); // Die Nummer des Bogens.

Serial.write (0x00); // FarbeH schwarz

Serial.write (0x00); // FarbeL blank

Serial.write (0x01); // Kreismittelpunkt XH

Serial.write (0x2c); // Kreismittelpunkt XL

Serial.write (0x00); // Kreismittelpunkt YH

Serial.write (0xc8); // Kreismittelpunkt YL

Serial.write (0x00); // NS

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

Serial.write (0x02); // Winkel1H

Serial.write (0x76); // Winkel1L

Serial.write (0x00); // Winkel2H

Serial.write (0x5A); // Winkel2L

//füllen--

Serial.write (0xA5); //”A5″ ist 165

Serial.write (0x5A); //"5A" ist 90

Serial.write (0x11);

Serial.write (0x82);

Serial.write (0x60); // AdresseH der Basisgrafikseite2

Serial.write (0x00); // AdresseL von Basic Graphics pabe2

Serial.write (0x00); // Rechteck ausfüllen CMD

Serial.write (0x04); // Rechteck ausfüllen CMD

Serial.write (0x00); // die Nummer des Rechtecks

Serial.write (0x01); // Die Nummer des Rechtecks

Serial.write (0x00); // PunktX1H

Serial.write (0x0A); // PunktX1L

Serial.write (0x00); // pointY1H

Serial.write (0x50); // pointY1L

Serial.write (0x02); // PunktX2H

Serial.write (0x76); // PunktX2L.

Serial.write (0x01); // pointY2H

Serial.write (0x90); // pointY2L

Serial.write (0xFF); // Gelbe FarbeH

Serial.write (0x60); // Gelbe FarbeL

}

//————————————–Das Gelb und der Bogen ist zu Ende—————————————–

//————————————–Das Grün und das Rechteck beginnen—————————————–

if( iNum == 3){ // Rechteck! und Grün!

Serial.write (0xA5); //”A5″ ist 165

Serial.write (0x5A); //"5A" ist 90

Serial.write (0x11);

Serial.write (0x82);

Serial.write (0x10); // AdresseH der Basisgrafikseite1

Serial.write (0x00); // AdresseL von Basic Graphics pabe1

Serial.write (0x00); // Mache ein Rechteck CMD

Serial.write (0x03); // Mache ein Rechteck CMD

Serial.write (0x00); // die Nummer des Rechtecks

Serial.write (0x01); // Die Nummer des Rechtecks

Serial.write (0x01); // PunktX1H

Serial.write (0x54); // PunktX1L

Serial.write (0x00); // pointY1H

Serial.write (0xED); // pointY1L

Serial.write (0x02); // PunktX2H

Serial.write (0x49); // PunktX2L.

Serial.write (0x01); // pointY2H

Serial.write (0x54); // pointY2L

Serial.write (0x00); // FarbeH schwarz

Serial.write (0x00); // FarbeL blank

//füllen--

Serial.write (0xA5); //”A5″ ist 165

Serial.write (0x5A); //"5A" ist 90

Serial.write (0x11);

Serial.write (0x82);

Serial.write (0x60); // AdresseH der Basisgrafikseite2

Serial.write (0x00); // AdresseL von Basic Graphics pabe2

Serial.write (0x00); // Rechteck ausfüllen CMD

Serial.write (0x04); // Rechteck ausfüllen CMD

Serial.write (0x00); // die Nummer des Rechtecks

Serial.write (0x01); // Die Nummer des Rechtecks

Serial.write (0x00); // PunktX1H

Serial.write (0x0A); // PunktX1L

Serial.write (0x00); // pointY1H

Serial.write (0x50); // pointY1L

Serial.write (0x02); // PunktX2H

Serial.write (0x76); // PunktX2L.

Serial.write (0x01); // pointY2H

Serial.write (0x90); // pointY2L

Serial.write (0x2F); // Grüne FarbeH

Serial.write (0x60); // Grüne FarbeL

}

//————————————–Das Grün und das Rechteck ist Ende—————————————–

//————————————–Die Orange und das Quadrat ist beginnen—————————————–

if( iNum == 4){ // Quadrat! und orange!

Serial.write (0xA5); //”A5″ ist 165

Serial.write (0x5A); //"5A" ist 90

Serial.write (0x11);

Serial.write (0x82);

Serial.write (0x10); // AdresseH der Basisgrafikseite1

Serial.write (0x00); // AdresseL von Basic Graphics pabe1

Serial.write (0x00); // Mache ein Rechteck CMD

Serial.write (0x03); // Mache ein Rechteck CMD

Serial.write (0x00); // die Nummer des Rechtecks

Serial.write (0x01); // Die Nummer des Rechtecks

Serial.write (0x01); // PunktX1H

Serial.write (0x54); // PunktX1L

Serial.write (0x00); // pointY1H

Serial.write (0x91); // pointY1L

Serial.write (0x02); // PunktX2H

Serial.write (0x49); // PunktX2L.

Serial.write (0x01); // pointY2H

Serial.write (0x86); // pointY2L

Serial.write (0x00); // FarbeH schwarz

Serial.write (0x00); // FarbeL blank

//füllen--

Serial.write (0xA5); //”A5″ ist 165

Serial.write (0x5A); //"5A" ist 90

Serial.write (0x11);

Serial.write (0x82);

Serial.write (0x60); // AdresseH der Basisgrafikseite2

Serial.write (0x00); // AdresseL von Basic Graphics pabe2

Serial.write (0x00); // Rechteck ausfüllen CMD

Serial.write (0x04); // Rechteck ausfüllen CMD

Serial.write (0x00); // die Nummer des Rechtecks

Serial.write (0x01); // Die Nummer des Rechtecks

Serial.write (0x00); // PunktX1H

Serial.write (0x0A); // PunktX1L

Serial.write (0x00); // pointY1H

Serial.write (0x50); // pointY1L

Serial.write (0x02); // PunktX2H

Serial.write (0x76); // PunktX2L.

Serial.write (0x01); // pointY2H

Serial.write (0x90); // pointY2L

Serial.write (0xFD); // orange FarbeH

Serial.write (0x60); // orange FarbeL

}

//————————————–Die Orange und das Quadrat ist zu Ende—————————————–

//————————————–Das Blau und der Kreis beginnen—————————————–

if ( iNum == 5) { // Kreis! und Blau!

Serial.write (0xA5); //”A5″ ist 165

Serial.write (0x5A); //"5A" ist 90

Serial.write (0x0F);

Serial.write (0x82);

Serial.write (0x10); // AdresseH der Basisgrafikseite1

Serial.write (0x00); // AdresseL von Basic Graphics pabe1

Serial.write (0x00); // Kreise CMD . ein

Serial.write (0x05); // Kreise CMD . ein

Serial.write (0x00); // die Nummer des Kreises

Serial.write (0x01); // Die Nummer des Kreises

Serial.write (0x01); // Kreismittelpunkt XH

Serial.write (0xD6); // Kreismittelpunkt XL

Serial.write (0x00); // Kreismittelpunkt YH

Serial.write (0xc8); // Kreismittelpunkt YL

Serial.write (0x00); // NS

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

Serial.write (0x00); // FarbeH schwarz

Serial.write (0x00); // FarbeL blank

//füllen--

Serial.write (0xA5); //”A5″ ist 165

Serial.write (0x5A); //"5A" ist 90

Serial.write (0x11);

Serial.write (0x82);

Serial.write (0x60); // AdresseH der Basisgrafikseite2

Serial.write (0x00); // AdresseL von Basic Graphics pabe2

Serial.write (0x00); // Rechteck ausfüllen CMD

Serial.write (0x04); // Rechteck ausfüllen CMD

Serial.write (0x00); // die Nummer des Rechtecks

Serial.write (0x01); // Die Nummer des Rechtecks

Serial.write (0x00); // PunktX1H

Serial.write (0x0A); // PunktX1L

Serial.write (0x00); // pointY1H

Serial.write (0x50); // pointY1L

Serial.write (0x02); // PunktX2H

Serial.write (0x76); // PunktX2L.

Serial.write (0x01); // pointY2H

Serial.write (0x90); // pointY2L

Serial.write (0x00); // blaue FarbeH

Serial.write (0xFF); // blaue FarbeL

}

//————————————–Das Blau und der Kreis ist zu Ende—————————————–

Endlich Online-Debugging.

STONE TOOLBox (GUI Design-Software) bearbeitet den Download der Bildschirmdatei, das Hochladen der Arduino-Code-Datei, das Anschließen der Stromversorgung, die Kommunikation, das Einschalten, um die Bildzeichnung und die Farbänderung zu beobachten, um den gewünschten Effekt zu erzielen.

Der im Video gezeigte Code sieht wie folgt aus.

(Online-Tuning-Versuche)

Quelle: Plato Data Intelligence