Sử dụng Kiểm soát đồ họa cơ bản của màn hình nối tiếp STONE, bạn có thể vẽ đường thẳng, hình tam giác, đa giác, hình chữ nhật, hình vuông, hình tròn, vòng cung, tô màu, cắt và dán, v.v.
Thiết kế của một máy học sớm sử dụng màn hình cảm ứng nối tiếp STVI056WT-01, để nhận dạng hình dạng bằng cách nhìn vào hình ảnh, nhận dạng từ theo màu sắc và thiết kế một định dạng giải trí để xác định lỗi chính xác, cho điểm hoặc vượt qua cấp độ, để trẻ có thể học cách nhận biết màu sắc, hiểu các hình dạng cơ bản và học các từ tương ứng một cách thoải mái và vui tươi.
Bản trình bày video chính thức không cung cấp hiệu ứng thực tế của điều khiển đồ họa Cơ bản, vì vậy bản trình diễn này sẽ bổ sung cho nó. Các hướng dẫn vẽ được truyền qua giao tiếp giữa bảng điều khiển arduino và Màn hình nối tiếp STONEn.
Ngoài ra, bản ghi chú này không bao gồm đầy đủ nội dung chức năng của Điều khiển đồ họa cơ bản, chỉ có các chức năng sử dụng trong việc sử dụng công phu, ghi lại được kiểm tra trên máy OK, bạn có thể trực tiếp tải về chạy demo.
Môi trường phần cứng cho bản demo được hiển thị trong Hình 1, Hình 2 và Hình 3.
STONE chính thức đi kèm với 2 bảng mạch, trong đó bảng vuông là bảng tải USB và bảng dài là bảng giao tiếp USB sang nối tiếp (và nguồn điện DC12V cho màn hình nối tiếp).
(Hình 1: Giao tiếp và kết nối nguồn của màn hình nối tiếp STONE) (Hình 2: Sơ đồ kết nối để tải xuống các tệp điều khiển Đồ họa Cơ bản từ màn hình STONE)
(Hình 3: Kết nối TX, RX, GND giữa bảng giao tiếp màn hình nối tiếp STONE và bảng phát triển arduino)
(Hình 4: Vùng vẽ điều khiển đồ họa cơ bản và địa chỉ biến và các cài đặt tham số khác)
Sau khi chọn điều khiển Basicgraphics trong menu STONE TOOLBox (phần mềm Thiết kế GUI) Cấu hình Biến (D), và thiết lập vùng vẽ và các tham số địa chỉ biến, lệnh 0x82 được sử dụng để ghi vào bộ Địa chỉ bộ nhớ biến (0x1000 được đặt ở đây) Sau khi thiết lập vùng bản vẽ và các tham số địa chỉ biến, lệnh 0x82 được sử dụng để ghi CMD + Data_pack_Num_Max + Dữ liệu vào địa chỉ Bộ nhớ biến đã đặt (trong trường hợp này là 0x1000) để hoàn thành việc thực hiện các chức năng vẽ. Mã chức năng cụ thể được hiển thị trong Hình 6, trong đó có hướng dẫn vẽ đoạn thẳng 0x0002, sử dụng ví dụ sau.
(Hình 5: Định dạng lệnh dữ liệu điều khiển đồ họa cơ bản)
(Hình 6: Hình minh họa các lệnh vẽ đường thẳng và hình chữ nhật để điều khiển đồ họa Cơ bản)
Hướng dẫn vẽ đường thẳng 0x0002, ví dụ về cách sử dụng.
Để nối một đường màu đen từ tọa độ (340, 200) đến tọa độ (585, 200), hướng dẫn là
A5 5A 11 82 10 00 00 02 00 01 00 00 01 54 00 C8 02 49 00 C8
Vẽ ba đường thẳng màu đen đóng thành một tam giác có ba đỉnh tại các tọa độ (200, 200), (300, 200), (250, 100) và hướng dẫn là
A5 5A 19 82 10 00 00 02 00 03 00 00 00 00 8 C00 8 C01 2 00C 8 C00 00 FA 64 00 8 C00 8 CXNUMX
0x1000 ở trên là địa chỉ biến của điều khiển đồ họa Cơ bản, 0x0002 là mã lệnh, 0x0001 và 0x0003 lần lượt là 1 dòng và 3 dòng, 0x0000 là mã màu, giá trị 0000 là màu đen và giá trị ffff là màu trắng sáng. Các tọa độ XY tức thời khác của mỗi điểm.
Ví dụ về cách vẽ hình chữ nhật.
Hình chữ nhật tọa độ đỉnh trên bên trái (340, 237), tọa độ đỉnh dưới bên phải (585, 340) màu đen, lệnh là
A5 5A 11 82 10 00 00 03 00 01 01 54 00 ED 02 49 01 54 00 00
Vẽ đồng thời hai hình chữ nhật (340, 237) - (585, 340), (324, 221) - (601, 356), lệnh là
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 ở trên là địa chỉ biến của điều khiển đồ họa Cơ bản, 0x0003 là mã lệnh hình chữ nhật, 0x0001, 0x0002 là 1 hình chữ nhật, 2 hình chữ nhật, 0x0000, 0xffff là mã màu, giá trị 0000 là màu đen, giá trị của fffff là sáng trắng. Các tọa độ khác là tọa độ XY của đỉnh trên cùng bên trái và đỉnh dưới cùng bên phải của mỗi hình chữ nhật.
(Hình 7: Các lệnh tô hình chữ nhật và vẽ hình tròn để điều khiển đồ họa Cơ bản)
Ví dụ điền hình chữ nhật.
Lệnh điền vào hình chữ nhật màu đen (470, 200) ~ (550, 255) là
A5 5A 11 82 10 00 00 04 00 01 01 D6 00 C8 02 26 00 FF 00 00 00
Ví dụ về cách vẽ đường tròn.
Tâm của hình tròn (470, 200), R = 50 màu đen, hướng dẫn là
A5 5A 0F 82 10 00 00 05 00 01 01 D6 00 C8 00 32 00 00
Để vẽ đồng thời hai đường tròn, tâm A (470, 200) R = 50 và tâm B (256, 200) R = 80, cả hai đều màu đen, lệnh là
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
(Hình 8: Lệnh Arc để điều khiển đồ họa Cơ bản)
Độ phân giải vòng cung là 0.5 độ, 360 độ tương ứng với 720 và 0 độ theo hướng thẳng đứng lên trên.
Ví dụ về hồ quang.
Cung trên 315 độ để bắt đầu - 45 độ để kết thúc, tâm của hình tròn (300, 200) R = 80, màu đen, lệnh là
A5 5A 13 82 10 00 00 0B 00 01 00 00 01 2C 00 C8 00 50 02 76 00 5A
Về màu sắc.
0x0000 là màu đen 0xffff là màu trắng 0x00ff là màu xanh lam 0xf000 là màu đỏ 0xfd60 là màu cam
0xff60 là màu vàng 0x2f60 là màu xanh lá cây
(Hình 9: Thông số và địa chỉ bảng vẽ giao diện hình dạng điều khiển đồ họa cơ bản)
(Hình 10: Các thông số và địa chỉ bảng vẽ của giao diện màu điều khiển đồ họa Cơ bản)
Theo địa chỉ biến, lệnh tô màu xanh lục cho (10, 80) ~ (630, 400) là
A5 5A 11 82 60 00 00 04 00 01 00 0A 00 50 02 76 01 90 2f 60
Các điểm tương đồng khác, xem mã chương trình để biết thêm chi tiết.
Đoạn mã được minh họa trong video như sau.
/*
frank10
STONE và arduino COMM, đồ họa Cơ bản chơi ở chương trình ..
Bật đèn LED trong một giây, sau đó tắt trong một giây, lặp đi lặp lại.
Mẫu có hai trang. Trang1 là hình dạng, trang2 là corlor!
Mã ví dụ này nằm trong tệp của Frank. 20210625
*/
// Chân 13 có một đèn LED được kết nối trên hầu hết các bảng Arduino.
// đặt tên cho nó:
int led = 13;
int iYePian = 0; // 0x0020 cho Số của YePian!
// int iGongLu = 0; // 0x0180 cho The GongLu!
// int iLiuLiang = 0; // 0x0160 cho LiuLiang bây giờ!
int iJiao = 0; // 0x0260 cho The JieJuJiao!
int iGongLuWater = 0; // 0x0280 cho The Water GongLu! giá trị là 0-50000!
int iLed = 1; // thời gian trễ num.
int iLed2 = 1; // thời gian trễ num. 50ms thực hiện một điểm.
int iLed3 = 0; // thời gian trễ num. 50ms thực hiện một điểm.
int iLed4 = 0; // thời gian trễ num. 50ms thực hiện một điểm.
int iCurve0 = 0; // Giá trị của đường cong0. 50ms thực hiện một điểm.
int iCurve1 = 0; // Giá trị của curve1,. 50ms thực hiện một điểm.
int iFlag0 = 1; // Cờ của đường cong0 + hoặc -; .1 tăng, 0 giảm.
int iFlag1 = 1; // Cờ của đường cong1 + hoặc -; .1 tăng, 0 giảm.
int iNum = 0; // đọc trong char num.
int iNum2 = 0; // đọc trong char num2 cho ShuiDianZhan!
// int iPower = 2; // tượng phím 0x0009
// int iMode = 2; // tượng phím 0x000A
int iPowerWater = 2; // tượng phím 0x0039
// quy trình thiết lập chạy một lần khi bạn nhấn đặt lại:
void setup () {
// khởi tạo chân số dưới dạng đầu ra.
pinMode (led, OUTPUT);
Serial.begin (115200); // Mở chức năng giao tiếp nối tiếp và đợi cổng nối tiếp mở
trong khi (! nối tiếp) {
; // đợi cổng nối tiếp kết nối. Chỉ cần cho Leonardo
}
}
// thói quen lặp đi lặp lại mãi mãi:
void loop () {
int inChar;
/ * ——————————————————————————- * /
nếu (iLed == 800) {
// ——- đọc giá trị 0x0039 ———-
Serial.write (0xA5); // ”A5 ″ là 165
Serial.write (0x5A); // "5A" là 90
Serial.write (0x04); // chiều dài
Serial.write (0x83); // đọc!
Serial.write (0x00); // địa chỉ của khóa Nguồn ShuiDianZhan!
Serial.write (0x39); // địa chỉ của phím nguồn ShuiDianZhan!
Serial.write (0x01); // 0x0039 (phím nguồn)
// ——— Giá trị trả về của STONE sẽ là “A5 5A 06 83 00 39 01 00 01“ ——
}
// Đọc thông tin được gửi bởi cổng nối tiếp:
if (Serial.available ()> 0) {inChar = Serial.read (); }
/*
tiết kiệm một bánh nướng.
bởi vì có thể có khóa đọc và có khóa hoạt động.
chương trình là một HMI mà một khóa đầu vào thực hiện công việc của peplose.
*/
// ————————————————————————————
// —————————- Đọc phím 0x0039 bắt đầu ———————————–
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; // BẬT nguồn!
iJiao = 0;
iGongLuWater = 0;
}
}
if ((inChar == 0x02) && (iNum2 == 3)) {
iNum2 = 0;
iPowerWater = 2; //tắt nguồn!
}
// —————— Phím 0x0039 đọc ok! iPowerWater ok! —————————-
// ————————————————————————————
độ trễ (1);
iLed + = 1;
iLed2 + = 1; // 50ms thực hiện một điểm.
// ——————————————————————————————–
// ——————————— 50ms bắt đầu một điểm ————————————–
nếu (iLed2 == 50) {
iLed2 = 1;
iLed4 + = 1; // 50ms thực hiện một điểm.
if (iFlag0 == 1) {
iCurve0 + = 1; // 50ms thực hiện một điểm.
if (iCurve0> = 150) {
iFlag0 = 0; // iCurve0 quay xuống !.
}
}
if (iFlag0 == 0) {
iCurve0 - = 1; // 50ms thực hiện một điểm.
if (iCurve0 <= 1) {
iFlag0 = 1; // iCurve0 bật lên !.
}
}
if (iFlag1 == 1) {
if (iLed4> = 3) {
iCurve1 + = 1; // 50ms thực hiện một điểm.
iLed4 = 0;
}
if (iCurve1> = 50) {
iFlag1 = 0; // iCurve1 quay xuống !.
}
}
if (iFlag1 == 0) {
if (iLed4> = 3) {
iLed4 = 0;
iCurve1 - = 1; // 50ms thực hiện một điểm.
}
if (iCurve1 <= 1) {
iFlag1 = 1; // iCurve1 bật lên !.
}
}
Serial.write (0xA5); // ”A5 ″ là 165
Serial.write (0x5A); // "5A" là 90
Serial.write (0x06);
Serial.write (0x84); // ghi thành đường cong!
Serial.write (0x03); // Đường cong,
Serial.write (iCurve0); // N = 1,
Serial.write (0x00);
Serial.write (iCurve1);
Serial.write (0x00);
}
// ——————————- 50ms kết thúc điểm —————————————
// ——————————————————————————————-
nếu (iLed == 500) {
digitalWrite (dẫn đầu, CAO); // bật đèn LED (CAO là mức điện áp)
// delay (500); // đợi trong giây lát, Phạm vi: 200-2000
}
if (iLed> = 1000) {
digitalWrite (dẫn đầu, THẤP); // tắt đèn LED bằng cách đặt điện áp THẤP
// delay (500); // đợi trong giây lát, phạm vi: 200-2000
iLed = 1;
if (iNum <= 6) iNum + = 1; // biến hình!
if (iNum == 6) iNum = 0; // biến hình!
// ————————————– Màu đỏ bắt đầu —————————————–
if (iNum == 1) {// hình tam giác! và đỏ!
Serial.write (0xA5); // ”A5 ″ là 165
Serial.write (0x5A); // "5A" là 90
Serial.write (0x19);
Serial.write (0x82);
Serial.write (0x10); // addressH của đồ họa Cơ bản
Serial.write (0x00); // addressL của đồ họa Cơ bản
Serial.write (0x00); // Do dòng CMD
Serial.write (0x02); // Do dòng CMD
Serial.write (0x00); // số của dòng
Serial.write (0x03); // Số của dòng.
Serial.write (0x00); // colorH đen
Serial.write (0x00); // colorL
Serial.write (0x00); // pointX1H
Serial.write (0xc8); // pointX1L
Serial.write (0x00); // pointY1H
Serial.write (0xc8); // pointY1L
Serial.write (0x01); // pointX2H
Serial.write (0x2C); // pointX2L.
Serial.write (0x00); // pointY2H
Serial.write (0xC8); // pointY2L
Serial.write (0x00); // pointX3H
Serial.write (0xFA); // pointX3L
Serial.write (0x00); // pointY3H
Serial.write (0x64); // pointY3L
Serial.write (0x00); // pointX1H
Serial.write (0xc8); // pointX1L
Serial.write (0x00); // pointY1H
Serial.write (0xc8); // pointY1L
//lấp đầy--
Serial.write (0xA5); // ”A5 ″ là 165
Serial.write (0x5A); // "5A" là 90
Serial.write (0x11);
Serial.write (0x82);
Serial.write (0x60); // addressH của Trang đồ họa cơ bản2
Serial.write (0x00); // addressL của Đồ họa cơ bản pabe2
Serial.write (0x00); // Do Fill hình chữ nhật CMD
Serial.write (0x04); // Do Fill hình chữ nhật CMD
Serial.write (0x00); // số của hình chữ nhật
Serial.write (0x01); // Số của hình chữ nhật
Serial.write (0x00); // pointX1H
Serial.write (0x0A); // pointX1L
Serial.write (0x00); // pointY1H
Serial.write (0x50); // pointY1L
Serial.write (0x02); // pointX2H
Serial.write (0x76); // pointX2L.
Serial.write (0x01); // pointY2H
Serial.write (0x90); // pointY2L
Serial.write (0xF0); // Màu đỏH
Serial.write (0x00); // Màu đỏL
}
// ————————————– Màu đỏ đã hết —————————————–
// ————————————– Màu vàng và vòng cung bắt đầu —————————————–
if (iNum == 2) {// vòng cung! và màu vàng!
Serial.write (0xA5); // ”A5 ″ là 165
Serial.write (0x5A); // "5A" là 90
Serial.write (0x13);
Serial.write (0x82);
Serial.write (0x10); // addressH của Trang đồ họa cơ bản1
Serial.write (0x00); // addressL của Đồ họa cơ bản pabe1
Serial.write (0x00); // Thực hiện cung cấp CMD
Serial.write (0x0B); // Thực hiện cung cấp CMD
Serial.write (0x00); // số cung
Serial.write (0x01); // Số cung.
Serial.write (0x00); // colorH đen
Serial.write (0x00); // colorL trống
Serial.write (0x01); // tâm của vòng tròn XH
Serial.write (0x2c); // centel của vòng tròn XL
Serial.write (0x00); // tâm của vòng tròn YH
Serial.write (0xc8); // tâm của vòng tròn 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
//lấp đầy--
Serial.write (0xA5); // ”A5 ″ là 165
Serial.write (0x5A); // "5A" là 90
Serial.write (0x11);
Serial.write (0x82);
Serial.write (0x60); // addressH của Trang đồ họa cơ bản2
Serial.write (0x00); // addressL của Đồ họa cơ bản pabe2
Serial.write (0x00); // Do Fill hình chữ nhật CMD
Serial.write (0x04); // Do Fill hình chữ nhật CMD
Serial.write (0x00); // số của hình chữ nhật
Serial.write (0x01); // Số của hình chữ nhật
Serial.write (0x00); // pointX1H
Serial.write (0x0A); // pointX1L
Serial.write (0x00); // pointY1H
Serial.write (0x50); // pointY1L
Serial.write (0x02); // pointX2H
Serial.write (0x76); // pointX2L.
Serial.write (0x01); // pointY2H
Serial.write (0x90); // pointY2L
Serial.write (0xFF); // Màu vàngH
Serial.write (0x60); // Màu vàngL
}
// ————————————– Màu vàng và vòng cung kết thúc —————————————–
// ————————————– Màu xanh lá cây và hình chữ nhật bắt đầu —————————————–
if (iNum == 3) {// hình chữ nhật! Và xanh lá cây!
Serial.write (0xA5); // ”A5 ″ là 165
Serial.write (0x5A); // "5A" là 90
Serial.write (0x11);
Serial.write (0x82);
Serial.write (0x10); // addressH của Trang đồ họa cơ bản1
Serial.write (0x00); // addressL của Đồ họa cơ bản pabe1
Serial.write (0x00); // Làm CMD hình chữ nhật
Serial.write (0x03); // Làm CMD hình chữ nhật
Serial.write (0x00); // số của hình chữ nhật
Serial.write (0x01); // Số của hình chữ nhật
Serial.write (0x01); // pointX1H
Serial.write (0x54); // pointX1L
Serial.write (0x00); // pointY1H
Serial.write (0xED); // pointY1L
Serial.write (0x02); // pointX2H
Serial.write (0x49); // pointX2L.
Serial.write (0x01); // pointY2H
Serial.write (0x54); // pointY2L
Serial.write (0x00); // colorH đen
Serial.write (0x00); // colorL trống
//lấp đầy--
Serial.write (0xA5); // ”A5 ″ là 165
Serial.write (0x5A); // "5A" là 90
Serial.write (0x11);
Serial.write (0x82);
Serial.write (0x60); // addressH của Trang đồ họa cơ bản2
Serial.write (0x00); // addressL của Đồ họa cơ bản pabe2
Serial.write (0x00); // Do Fill hình chữ nhật CMD
Serial.write (0x04); // Do Fill hình chữ nhật CMD
Serial.write (0x00); // số của hình chữ nhật
Serial.write (0x01); // Số của hình chữ nhật
Serial.write (0x00); // pointX1H
Serial.write (0x0A); // pointX1L
Serial.write (0x00); // pointY1H
Serial.write (0x50); // pointY1L
Serial.write (0x02); // pointX2H
Serial.write (0x76); // pointX2L.
Serial.write (0x01); // pointY2H
Serial.write (0x90); // pointY2L
Serial.write (0x2F); // Màu xanh lụcH
Serial.write (0x60); // Màu xanh lục
}
// ————————————– Màu xanh lá cây và hình chữ nhật đã kết thúc —————————————–
// ————————————– Quả cam và hình vuông bắt đầu —————————————–
if (iNum == 4) {// hình vuông! và màu cam!
Serial.write (0xA5); // ”A5 ″ là 165
Serial.write (0x5A); // "5A" là 90
Serial.write (0x11);
Serial.write (0x82);
Serial.write (0x10); // addressH của Trang đồ họa cơ bản1
Serial.write (0x00); // addressL của Đồ họa cơ bản pabe1
Serial.write (0x00); // Làm CMD hình chữ nhật
Serial.write (0x03); // Làm CMD hình chữ nhật
Serial.write (0x00); // số của hình chữ nhật
Serial.write (0x01); // Số của hình chữ nhật
Serial.write (0x01); // pointX1H
Serial.write (0x54); // pointX1L
Serial.write (0x00); // pointY1H
Serial.write (0x91); // pointY1L
Serial.write (0x02); // pointX2H
Serial.write (0x49); // pointX2L.
Serial.write (0x01); // pointY2H
Serial.write (0x86); // pointY2L
Serial.write (0x00); // colorH đen
Serial.write (0x00); // colorL trống
//lấp đầy--
Serial.write (0xA5); // ”A5 ″ là 165
Serial.write (0x5A); // "5A" là 90
Serial.write (0x11);
Serial.write (0x82);
Serial.write (0x60); // addressH của Trang đồ họa cơ bản2
Serial.write (0x00); // addressL của Đồ họa cơ bản pabe2
Serial.write (0x00); // Do Fill hình chữ nhật CMD
Serial.write (0x04); // Do Fill hình chữ nhật CMD
Serial.write (0x00); // số của hình chữ nhật
Serial.write (0x01); // Số của hình chữ nhật
Serial.write (0x00); // pointX1H
Serial.write (0x0A); // pointX1L
Serial.write (0x00); // pointY1H
Serial.write (0x50); // pointY1L
Serial.write (0x02); // pointX2H
Serial.write (0x76); // pointX2L.
Serial.write (0x01); // pointY2H
Serial.write (0x90); // pointY2L
Serial.write (0xFD); // màu camH
Serial.write (0x60); // màu camL
}
// ————————————– Quả cam và hình vuông là hết —————————————–
// ————————————– Màu xanh lam và vòng tròn bắt đầu —————————————–
if (iNum == 5) {// vòng tròn! và màu xanh!
Serial.write (0xA5); // ”A5 ″ là 165
Serial.write (0x5A); // "5A" là 90
Serial.write (0x0F);
Serial.write (0x82);
Serial.write (0x10); // addressH của Trang đồ họa cơ bản1
Serial.write (0x00); // addressL của Đồ họa cơ bản pabe1
Serial.write (0x00); // Do vòng tròn CMD
Serial.write (0x05); // Do vòng tròn CMD
Serial.write (0x00); // số của vòng tròn
Serial.write (0x01); // Số lượng của vòng tròn
Serial.write (0x01); // tâm của vòng tròn XH
Serial.write (0xD6); // centel của vòng tròn XL
Serial.write (0x00); // tâm của vòng tròn YH
Serial.write (0xc8); // tâm của vòng tròn YL
Serial.write (0x00); // RH
Serial.write (0x32); // RL.
Serial.write (0x00); // colorH đen
Serial.write (0x00); // colorL trống
//lấp đầy--
Serial.write (0xA5); // ”A5 ″ là 165
Serial.write (0x5A); // "5A" là 90
Serial.write (0x11);
Serial.write (0x82);
Serial.write (0x60); // addressH của Trang đồ họa cơ bản2
Serial.write (0x00); // addressL của Đồ họa cơ bản pabe2
Serial.write (0x00); // Do Fill hình chữ nhật CMD
Serial.write (0x04); // Do Fill hình chữ nhật CMD
Serial.write (0x00); // số của hình chữ nhật
Serial.write (0x01); // Số của hình chữ nhật
Serial.write (0x00); // pointX1H
Serial.write (0x0A); // pointX1L
Serial.write (0x00); // pointY1H
Serial.write (0x50); // pointY1L
Serial.write (0x02); // pointX2H
Serial.write (0x76); // pointX2L.
Serial.write (0x01); // pointY2H
Serial.write (0x90); // pointY2L
Serial.write (0x00); // màu xanh lamH
Serial.write (0xFF); // màu xanh lam
}
// ————————————– Màu xanh lam và vòng tròn kết thúc —————————————–
Cuối cùng là gỡ lỗi trực tuyến.
STONE TOOLBox (phần mềm GUI Design) sẽ chỉnh sửa tải file màn hình, upload file mã arduino, kết nối nguồn điện, giao tiếp, bật nguồn để quan sát hình vẽ và chuyển màu, đạt hiệu quả như mong muốn.
Đoạn mã được minh họa trong video như sau.
(cố gắng điều chỉnh trực tuyến)
Nguồn: Plato Data Intelligence