使用RP2040-Zero和GC9A01的演示项目来向每个屏幕发送不同的图像

  发布人:amy2025 时间:2025-08-26

RP2040-2x GC9A01显示在共享SPI显示位图眼睛和绘制眼睛绘制仪表使用多语言和符号字体

这个使用RP2040-Zero和两个GC9A01显示器的演示项目侧重于向每个屏幕发送不同的图像。通过利用SPI端口的共享使用,两个显示器都连接到RP2040-Zero,允许有效的通信。建立连接后,使用适当的代码将不同的数据发送到每个屏幕。这允许您在一个屏幕上显示时间和日期信息,同时在另一个屏幕上显示彩色图形或动画。这个项目是一个令人印象深刻的例子,突出了RP2040-Zero的灵活性和功能,以及使用共享SPI端口的效率。

使用Ardunio_GFX_Library绘制眼部图形

绘制Gauge样本(Ms CoPilot帮助完成)

下一步尝试显示空格字符,天气符号和土耳其字符。

代码

/*******************************************************************************

* Start of Arduino_GFX setting

*

* Arduino_GFX try to find the settings depends on selected board in Arduino IDE

* Or you can define the display dev kit not in the board list

* Defalult pin list for non display dev kit:

* Arduino Nano, Micro and more: CS: 9, DC: 8, RST: 7, BL: 6, SCK: 13, MOSI: 11, MISO: 12

* ESP32 various dev board : CS: 5, DC: 27, RST: 33, BL: 22, SCK: 18, MOSI: 23, MISO: nil

* ESP32-C3 various dev board : CS: 7, DC: 2, RST: 1, BL: 3, SCK: 4, MOSI: 6, MISO: nil

* ESP32-S2 various dev board : CS: 34, DC: 38, RST: 33, BL: 21, SCK: 36, MOSI: 35, MISO: nil

* ESP32-S3 various dev board : CS: 40, DC: 41, RST: 42, BL: 48, SCK: 36, MOSI: 35, MISO: nil

* ESP8266 various dev board : CS: 15, DC: 4, RST: 2, BL: 5, SCK: 14, MOSI: 13, MISO: 12

* Raspberry Pi Pico dev board : CS: 17, DC: 27, RST: 26, BL: 28, SCK: 18, MOSI: 19, MISO: 16

* RTL8720 BW16 old patch core : CS: 18, DC: 17, RST: 2, BL: 23, SCK: 19, MOSI: 21, MISO: 20

* RTL8720_BW16 Official core : CS: 9, DC: 8, RST: 6, BL: 3, SCK: 10, MOSI: 12, MISO: 11

* RTL8722 dev board : CS: 18, DC: 17, RST: 22, BL: 23, SCK: 13, MOSI: 11, MISO: 12

* RTL8722_mini dev board : CS: 12, DC: 14, RST: 15, BL: 13, SCK: 11, MOSI: 9, MISO: 10

* Seeeduino XIAO dev board : CS: 3, DC: 2, RST: 1, BL: 0, SCK: 8, MOSI: 10, MISO: 9

* Teensy 4.1 dev board : CS: 39, DC: 41, RST: 40, BL: 22, SCK: 13, MOSI: 11, MISO: 12

******************************************************************************/

#include

#include

#include "hardware/adc.h"

Arduino_DataBus *bus = new Arduino_RPiPicoSPI(8 /* DC */, 9 /* CS */, 10 /* SCK */, 11 /* MOSI */, 12 /* MISO */, spi1 /* spi */);

Arduino_GFX *gfx = new Arduino_GC9A01(bus, 28 /* RST */, 0 /* rotation */, true /* IPS */, 240 /* width */, 240 /* height */);

// kinci ekran tanmlamalar

Arduino_DataBus *bus2 = new Arduino_RPiPicoSPI(12 /* DC */, 14 /* CS */, 10 /* SCK */, 11 /* MOSI */, 17 /* MISO */, spi1 /* spi */);

Arduino_GFX *gfx2 = new Arduino_GC9A01(bus2, 29 /* RST */, 0 /* rotation */, true /* IPS */, 240 /* width */, 240 /* height */);

/* More dev device declaration: https://github.com/moononournation/Arduino_GFX/wiki/Dev-Device-Declaration */

/*******************************************************************************

* End of Arduino_GFX setting

******************************************************************************/

void setup(void)

{

#ifdef DEV_DEVICE_INIT

DEV_DEVICE_INIT();

#endif

// Init Display

if (!gfx->begin())

{

Serial.println("gfx->begin() failed!");

}

if (!gfx2->begin())

{

Serial.println("gfx2->begin() failed!");

}

gfx->fillScreen(RGB565_BLACK);

gfx2->fillScreen(RGB565_BLACK);

#ifdef GFX_BL

pinMode(GFX_BL, OUTPUT);

digitalWrite(GFX_BL, HIGH);

#endif

gfx->setCursor(20, 20);

gfx->setTextColor(RGB565_BLACK);

gfx->println("Hello World!");

gfx2->setCursor(25, 25);

gfx2->setTextColor(RGB565_BLACK);

gfx2->println("Merhaba Dunya!");

delay(5000); // 5 seconds

}

void loop()

{

gfx->setCursor(random(gfx->width()), random(gfx->height()));

gfx->setTextColor(random(0xffff), random(0xffff));

gfx->setTextSize(random(6) /* x scale */, random(6) /* y scale */, random(2) /* pixel_margin */);

gfx->println("Helloo!");

gfx2->setCursor(random(gfx2->width()), random(gfx2->height()));

gfx2->setTextColor(random(0xffff), random(0xffff));

gfx2->setTextSize(random(6) /* x scale */, random(6) /* y scale */, random(2) /* pixel_margin */);

gfx2->println("Merhaba!");

delay(2000);

}



关键词: 显示器 RP2040-Zero GC9A01

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关电路