Dva displeje ST7735
Napsal: 06 dub 2018, 12:32
Ahoj, řeším problém:
Potřebuji řídit dva displeje jedním Arduinem Mega. Podle návodů na netu https://forum.arduino.cc/index.php?topic=382489.0 jsem sesmolil kod:
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <SPI.h>
#define TFT_CS1 10 // pro první displej
#define TFT_CS2 7 // pro druhý displej
#define TFT_RST 9
#define TFT_DC 8
#define TFT_SCLK 11 //nemohu používat "originál" SPI pin52 - tam mi "visí" něco jiného
#define TFT_MOSI 12 //nemohu používat "originál" SPI pin51 - tam mi "visí" něco jiného
Adafruit_ST7735 tft1 = Adafruit_ST7735(TFT_CS1, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST); //nastavení prvního displeje
Adafruit_ST7735 tft2 = Adafruit_ST7735(TFT_CS2, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST); //nastavení druhého displeje
void setup(void)
{
tft1.initR(INITR_BLACKTAB); //inicializace prvního displeje
tft1.setRotation(1);
tft1.fillScreen(ST7735_BLACK);
tft2.initR(INITR_BLACKTAB); //inicializace druhého displeje
tft2.setRotation(1);
tft2.fillScreen(ST7735_BLACK);
}
void loop()
{
tft1.setTextColor(ST7735_RED);
tft1.setTextSize(2);
tft2.setCursor(0, 0);
tft1.print("Displej 1");
tft2.setTextColor(ST7735_RED);
tft2.setTextSize(2);
tft2.setCursor(0, 0);
tft2.print("Displej 2");
}
No, a funguje jen druhý displej. První displej po startu zčerná, pal zbělá a nenapíše nic. Druhý displej pak zčerná a napíše text Displej 2. Jakoby inicializace druhého displeje ten první zastavila. Pokud smáznu inicializaci druhého displeje, první mi funguje, ale druhý samozřejmě ne.
Ale dva displeje fungují: https://learn.adafruit.com/animated-ele ... 1/overview Bohužel jsem začátečník a kód z tohoto příkladu jsem nerozlousknul. A má Angličtina je na tom mizerně.
Tak pokud někdo dokáže poradit, nakopnout mě tím správným směrem, budu rád.
Dík a přeji pěkný den!
Potřebuji řídit dva displeje jedním Arduinem Mega. Podle návodů na netu https://forum.arduino.cc/index.php?topic=382489.0 jsem sesmolil kod:
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <SPI.h>
#define TFT_CS1 10 // pro první displej
#define TFT_CS2 7 // pro druhý displej
#define TFT_RST 9
#define TFT_DC 8
#define TFT_SCLK 11 //nemohu používat "originál" SPI pin52 - tam mi "visí" něco jiného
#define TFT_MOSI 12 //nemohu používat "originál" SPI pin51 - tam mi "visí" něco jiného
Adafruit_ST7735 tft1 = Adafruit_ST7735(TFT_CS1, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST); //nastavení prvního displeje
Adafruit_ST7735 tft2 = Adafruit_ST7735(TFT_CS2, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST); //nastavení druhého displeje
void setup(void)
{
tft1.initR(INITR_BLACKTAB); //inicializace prvního displeje
tft1.setRotation(1);
tft1.fillScreen(ST7735_BLACK);
tft2.initR(INITR_BLACKTAB); //inicializace druhého displeje
tft2.setRotation(1);
tft2.fillScreen(ST7735_BLACK);
}
void loop()
{
tft1.setTextColor(ST7735_RED);
tft1.setTextSize(2);
tft2.setCursor(0, 0);
tft1.print("Displej 1");
tft2.setTextColor(ST7735_RED);
tft2.setTextSize(2);
tft2.setCursor(0, 0);
tft2.print("Displej 2");
}
No, a funguje jen druhý displej. První displej po startu zčerná, pal zbělá a nenapíše nic. Druhý displej pak zčerná a napíše text Displej 2. Jakoby inicializace druhého displeje ten první zastavila. Pokud smáznu inicializaci druhého displeje, první mi funguje, ale druhý samozřejmě ne.
Ale dva displeje fungují: https://learn.adafruit.com/animated-ele ... 1/overview Bohužel jsem začátečník a kód z tohoto příkladu jsem nerozlousknul. A má Angličtina je na tom mizerně.
Tak pokud někdo dokáže poradit, nakopnout mě tím správným směrem, budu rád.
Dík a přeji pěkný den!