時事/経済 PositiveNegativeFreeStyleArguments



#include   // Core graphics library

#include // Hardware-specific library for ST7789

#include


#if defined(ESP32)

#define TFT_CS 5

// #define TFT_CS -1 // for display without CS pin

// #define TFT_DC 16

#define TFT_DC 27

// #define TFT_DC -1 // for display without DC pin (9-bit SPI)

// #define TFT_RST 17

#define TFT_RST 33

#define TFT_BL 22

#elif defined(ESP8266)

#define TFT_CS 15

#define TFT_DC 5

#define TFT_RST -1

// #define TFT_BL 4

#else

#define TFT_CS 9

#define TFT_DC 8

#define TFT_RST 7

#define TFT_BL 6

#endif

// OPTION 1 (recommended) is to use the HARDWARE SPI pins, which are unique

// to each board and not reassignable. For Arduino Uno: MOSI = pin 11 and

// SCLK = pin 13. This is the fastest mode of operation and is required if

// using the breakout board"s microSD card.


Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);


// OPTION 2 lets you interface the display using ANY TWO or THREE PINS,

// tradeoff being that performance is not as fast as hardware SPI above.

//#define TFT_MOSI 11 // Data out

//#define TFT_SCLK 13 // Clock out


//Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);



float p = 3.1415926;


void setup(void) {

  Serial.begin(9600);

  Serial.print(F(“Hello! ST77xx TFT Test”));


  // Use this initializer (uncomment) if using a 1.3” or 1.54” 240x240 TFT:

  tft.init(240, 240);        // Init ST7789 240x240


  // OR use this initializer (uncomment) if using a 1.69” 280x240 TFT:

  //tft.init(240, 280);        // Init ST7789 280x240


  // OR use this initializer (uncomment) if using a 2.0” 320x240 TFT:

  //tft.init(240, 320);        // Init ST7789 320x240


  // OR use this initializer (uncomment) if using a 1.14” 240x135 TFT:

  //tft.init(135, 240);        // Init ST7789 240x135

 

  // OR use this initializer (uncomment) if using a 1.47” 172x320 TFT:

  //tft.init(172, 320);        // Init ST7789 172x320


  // OR use this initializer (uncomment) if using a 1.9” 170x320 TFT:

  //tft.init(170, 320);        // Init ST7789 170x320


  // SPI speed defaults to SPI_DEFAULT_FREQ defined in the library, you can override it here

  // Note that speed allowable depends on chip and quality of wiring, if you go too fast, you

  // may end up with a black screen some times, or all the time.

  //tft.setSPISpeed(40000000);

  Serial.println(F(“Initialized”));


  uint16_t time = millis();

  tft.fillScreen(ST77XX_BLACK);

  time = millis() - time;


  Serial.println(time, DEC);

  delay(500);


  // large block of text

  tft.fillScreen(ST77XX_BLACK);

  testdrawtext(“Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur adipiscing ante sed nibh tincidunt feugiat. Maecenas enim massa, fringilla sed malesuada et, malesuada sit amet turpis. Sed porttitor neque ut ante pretium vitae malesuada nunc bibendum. Nullam aliquet ultrices massa eu hendrerit. Ut sed nisi lorem. In vestibulum purus a tortor imperdiet posuere. “, ST77XX_WHITE);

  delay(1000);


  // tft print function!

  tftPrintTest();

  delay(4000);


  // a single pixel

  tft.drawPixel(tft.width()/2, tft.height()/2, ST77XX_GREEN);

  delay(500);


  // line draw test

  testlines(ST77XX_YELLOW);

  delay(500);


  // optimized lines

  testfastlines(ST77XX_RED, ST77XX_BLUE);

  delay(500);


  testdrawrects(ST77XX_GREEN);

  delay(500);


  testfillrects(ST77XX_YELLOW, ST77XX_MAGENTA);

  delay(500);


  tft.fillScreen(ST77XX_BLACK);

  testfillcircles(10, ST77XX_BLUE);

  testdrawcircles(10, ST77XX_WHITE);

  delay(500);


  testroundrects();

  delay(500);


  testtriangles();

  delay(500);


  mediabuttons();

  delay(500);


  Serial.println(“done”);

  delay(1000);

}


void loop() {

  tft.invertDisplay(true);

  delay(500);

  tft.invertDisplay(false);

  delay(500);

}


void testlines(uint16_t color) {

  tft.fillScreen(ST77XX_BLACK);

  for (int16_t x=0; x < tft x+=6)>

  tft.drawLine(0, 0, x, tft.height()-1, color);

  delay(0);

  }

  for (int16_t y=0; y < tft y+=6)>

  tft.drawLine(0, 0, tft.width()-1, y, color);

  delay(0);

  }


  tft.fillScreen(ST77XX_BLACK);

  for (int16_t x=0; x < tft x+=6)>

  tft.drawLine(tft.width()-1, 0, x, tft.height()-1, color);

  delay(0);

  }

  for (int16_t y=0; y < tft y+=6)>

  tft.drawLine(tft.width()-1, 0, 0, y, color);

  delay(0);

  }


  tft.fillScreen(ST77XX_BLACK);

  for (int16_t x=0; x < tft x+=6)>

  tft.drawLine(0, tft.height()-1, x, 0, color);

  delay(0);

  }

  for (int16_t y=0; y < tft y+=6)>

  tft.drawLine(0, tft.height()-1, tft.width()-1, y, color);

  delay(0);

  }


  tft.fillScreen(ST77XX_BLACK);

  for (int16_t x=0; x < tft x+=6)>

  tft.drawLine(tft.width()-1, tft.height()-1, x, 0, color);

  delay(0);

  }

  for (int16_t y=0; y < tft y+=6)>

  tft.drawLine(tft.width()-1, tft.height()-1, 0, y, color);

  delay(0);

  }

}


void testdrawtext(char *text, uint16_t color) {

  tft.setCursor(0, 0);

  tft.setTextColor(color);

  tft.setTextWrap(true);

  tft.print(text);

}


void testfastlines(uint16_t color1, uint16_t color2) {

  tft.fillScreen(ST77XX_BLACK);

  for (int16_t y=0; y < tft y+=5)>

  tft.drawFastHLine(0, y, tft.width(), color1);

  }

  for (int16_t x=0; x < tft x+=5)>

  tft.drawFastVLine(x, 0, tft.height(), color2);

  }

}


void testdrawrects(uint16_t color) {

  tft.fillScreen(ST77XX_BLACK);

  for (int16_t x=0; x < tft x+=6)>

  tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color);

  }

}


void testfillrects(uint16_t color1, uint16_t color2) {

  tft.fillScreen(ST77XX_BLACK);

  for (int16_t x=tft.width()-1; x > 6; x-=6) {

  tft.fillRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color1);

  tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color2);

  }

}


void testfillcircles(uint8_t radius, uint16_t color) {

  for (int16_t x=radius; x < tft x+=radius*2)>

  for (int16_t y=radius; y < tft y+=radius*2)>

    tft.fillCircle(x, y, radius, color);

  }

  }

}


void testdrawcircles(uint8_t radius, uint16_t color) {

  for (int16_t x=0; x < tft x+=radius*2)>

  for (int16_t y=0; y < tft y+=radius*2)>

    tft.drawCircle(x, y, radius, color);

  }

  }

}


void testtriangles() {

  tft.fillScreen(ST77XX_BLACK);

  uint16_t color = 0xF800;

  int t;

  int w = tft.width()/2;

  int x = tft.height()-1;

  int y = 0;

  int z = tft.width();

  for(t = 0 ; t <= 15; t++) {

  tft.drawTriangle(w, y, y, x, z, x, color);

  x-=4;

  y+=4;

  z-=4;

  color+=100;

  }

}


void testroundrects() {

  tft.fillScreen(ST77XX_BLACK);

  uint16_t color = 100;

  int i;

  int t;

  for(t = 0 ; t <= 4; t+=1) {

  int x = 0;

  int y = 0;

  int w = tft.width()-2;

  int h = tft.height()-2;

  for(i = 0 ; i <= 16; i+=1) {

    tft.drawRoundRect(x, y, w, h, 5, color);

    x+=2;

    y+=3;

    w-=4;

    h-=6;

    color+=1100;

  }

  color+=100;

  }

}


void tftPrintTest() {

  tft.setTextWrap(false);

  tft.fillScreen(ST77XX_BLACK);

  tft.setCursor(0, 30);

  tft.setTextColor(ST77XX_RED);

  tft.setTextSize(1);

  tft.println(“Hello World!”);

  tft.setTextColor(ST77XX_YELLOW);

  tft.setTextSize(2);

  tft.println(“Hello World!”);

  tft.setTextColor(ST77XX_GREEN);

  tft.setTextSize(3);

  tft.println(“Hello World!”);

  tft.setTextColor(ST77XX_BLUE);

  tft.setTextSize(4);

  tft.print(1234.567);

  delay(1500);

  tft.setCursor(0, 0);

  tft.fillScreen(ST77XX_BLACK);

  tft.setTextColor(ST77XX_WHITE);

  tft.setTextSize(0);

  tft.println(“Hello World!”);

  tft.setTextSize(1);

  tft.setTextColor(ST77XX_GREEN);

  tft.print(p, 6);

  tft.println(” Want pi?”);

  tft.println(” “);

  tft.print(8675309, HEX); // print 8,675,309 out in HEX!

  tft.println(” Print HEX!”);

  tft.println(” “);

  tft.setTextColor(ST77XX_WHITE);

  tft.println(“Sketch has been”);

  tft.println(“running for: “);

  tft.setTextColor(ST77XX_MAGENTA);

  tft.print(millis() / 1000);

  tft.setTextColor(ST77XX_WHITE);

  tft.print(” seconds.”);

}


void mediabuttons() {

  // play

  tft.fillScreen(ST77XX_BLACK);

  tft.fillRoundRect(25, 10, 78, 60, 8, ST77XX_WHITE);

  tft.fillTriangle(42, 20, 42, 60, 90, 40, ST77XX_RED);

  delay(500);

  // pause

  tft.fillRoundRect(25, 90, 78, 60, 8, ST77XX_WHITE);

  tft.fillRoundRect(39, 98, 20, 45, 5, ST77XX_GREEN);

  tft.fillRoundRect(69, 98, 20, 45, 5, ST77XX_GREEN);

  delay(500);

  // play color

  tft.fillTriangle(42, 20, 42, 60, 90, 40, ST77XX_BLUE);

  delay(50);

  // pause color

  tft.fillRoundRect(39, 98, 20, 45, 5, ST77XX_RED);

  tft.fillRoundRect(69, 98, 20, 45, 5, ST77XX_RED);

  // play color

  tft.fillTriangle(42, 20, 42, 60, 90, 40, ST77XX_GREEN);

}



임의로 핀연결하고 코드 작성해 보았다.



#include     // Core graphics library

#include // Hardware-specific library for ST7789

#include


#if defined(ESP32)

#define TFT_CS 5

// #define TFT_CS -1 // for display without CS pin

// #define TFT_DC 16

#define TFT_DC 27

// #define TFT_DC -1 // for display without DC pin (9-bit SPI)

// #define TFT_RST 17

#define TFT_RST 33

#define TFT_BL 22

#elif defined(ESP8266)

#define TFT_CS 15

#define TFT_DC 5

#define TFT_RST -1

// #define TFT_BL 4

#else

#define TFT_CS 9

#define TFT_DC 8

#define TFT_RST 7

#define TFT_BL 6

#endif

// OPTION 1 (recommended) is to use the HARDWARE SPI pins, which are unique

// to each board and not reassignable. For Arduino Uno: MOSI = pin 11 and

// SCLK = pin 13. This is the fastest mode of operation and is required if

// using the breakout board"s microSD card.


Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST);


// OPTION 2 lets you interface the display using ANY TWO or THREE PINS,

// tradeoff being that performance is not as fast as hardware SPI above.

//#define TFT_MOSI 11  // Data out

//#define TFT_SCLK 13  // Clock out


//Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);



float p = 3.1415926;


void setup(void) {

  Serial.begin(9600);

  Serial.print(F("Hello! ST77xx TFT Test"));


  // Use this initializer (uncomment) if using a 1.3" or 1.54" 240x240 TFT:

  tft.init(240, 240);           // Init ST7789 240x240


  // OR use this initializer (uncomment) if using a 1.69" 280x240 TFT:

  //tft.init(240, 280);           // Init ST7789 280x240


  // OR use this initializer (uncomment) if using a 2.0" 320x240 TFT:

  //tft.init(240, 320);           // Init ST7789 320x240


  // OR use this initializer (uncomment) if using a 1.14" 240x135 TFT:

  //tft.init(135, 240);           // Init ST7789 240x135

  

  // OR use this initializer (uncomment) if using a 1.47" 172x320 TFT:

  //tft.init(172, 320);           // Init ST7789 172x320


  // OR use this initializer (uncomment) if using a 1.9" 170x320 TFT:

  //tft.init(170, 320);           // Init ST7789 170x320


  // SPI speed defaults to SPI_DEFAULT_FREQ defined in the library, you can override it here

  // Note that speed allowable depends on chip and quality of wiring, if you go too fast, you

  // may end up with a black screen some times, or all the time.

  //tft.setSPISpeed(40000000);

  Serial.println(F("Initialized"));


  uint16_t time = millis();

  tft.fillScreen(ST77XX_BLACK);

  time = millis() - time;


  Serial.println(time, DEC);

  delay(500);


  // large block of text

  tft.fillScreen(ST77XX_BLACK);

  testdrawtext("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur adipiscing ante sed nibh tincidunt feugiat. Maecenas enim massa, fringilla sed malesuada et, malesuada sit amet turpis. Sed porttitor neque ut ante pretium vitae malesuada nunc bibendum. Nullam aliquet ultrices massa eu hendrerit. Ut sed nisi lorem. In vestibulum purus a tortor imperdiet posuere. ", ST77XX_WHITE);

  delay(1000);


  // tft print function!

  tftPrintTest();

  delay(4000);


  // a single pixel

  tft.drawPixel(tft.width()/2, tft.height()/2, ST77XX_GREEN);

  delay(500);


  // line draw test

  testlines(ST77XX_YELLOW);

  delay(500);


  // optimized lines

  testfastlines(ST77XX_RED, ST77XX_BLUE);

  delay(500);


  testdrawrects(ST77XX_GREEN);

  delay(500);


  testfillrects(ST77XX_YELLOW, ST77XX_MAGENTA);

  delay(500);


  tft.fillScreen(ST77XX_BLACK);

  testfillcircles(10, ST77XX_BLUE);

  testdrawcircles(10, ST77XX_WHITE);

  delay(500);


  testroundrects();

  delay(500);


  testtriangles();

  delay(500);


  mediabuttons();

  delay(500);


  Serial.println("done");

  delay(1000);

}


void loop() {

  tft.invertDisplay(true);

  delay(500);

  tft.invertDisplay(false);

  delay(500);

}


void testlines(uint16_t color) {

  tft.fillScreen(ST77XX_BLACK);

  for (int16_t x=0; x < tft x+=6)>

    tft.drawLine(0, 0, x, tft.height()-1, color);

    delay(0);

  }

  for (int16_t y=0; y < tft y+=6)>

    tft.drawLine(0, 0, tft.width()-1, y, color);

    delay(0);

  }


  tft.fillScreen(ST77XX_BLACK);

  for (int16_t x=0; x < tft x+=6)>

    tft.drawLine(tft.width()-1, 0, x, tft.height()-1, color);

    delay(0);

  }

  for (int16_t y=0; y < tft y+=6)>

    tft.drawLine(tft.width()-1, 0, 0, y, color);

    delay(0);

  }


  tft.fillScreen(ST77XX_BLACK);

  for (int16_t x=0; x < tft x+=6)>

    tft.drawLine(0, tft.height()-1, x, 0, color);

    delay(0);

  }

  for (int16_t y=0; y < tft y+=6)>

    tft.drawLine(0, tft.height()-1, tft.width()-1, y, color);

    delay(0);

  }


  tft.fillScreen(ST77XX_BLACK);

  for (int16_t x=0; x < tft x+=6)>

    tft.drawLine(tft.width()-1, tft.height()-1, x, 0, color);

    delay(0);

  }

  for (int16_t y=0; y < tft y+=6)>

    tft.drawLine(tft.width()-1, tft.height()-1, 0, y, color);

    delay(0);

  }

}


void testdrawtext(char *text, uint16_t color) {

  tft.setCursor(0, 0);

  tft.setTextColor(color);

  tft.setTextWrap(true);

  tft.print(text);

}


void testfastlines(uint16_t color1, uint16_t color2) {

  tft.fillScreen(ST77XX_BLACK);

  for (int16_t y=0; y < tft y+=5)>

    tft.drawFastHLine(0, y, tft.width(), color1);

  }

  for (int16_t x=0; x < tft x+=5)>

    tft.drawFastVLine(x, 0, tft.height(), color2);

  }

}


void testdrawrects(uint16_t color) {

  tft.fillScreen(ST77XX_BLACK);

  for (int16_t x=0; x < tft x+=6)>

    tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color);

  }

}


void testfillrects(uint16_t color1, uint16_t color2) {

  tft.fillScreen(ST77XX_BLACK);

  for (int16_t x=tft.width()-1; x > 6; x-=6) {

    tft.fillRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color1);

    tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color2);

  }

}


void testfillcircles(uint8_t radius, uint16_t color) {

  for (int16_t x=radius; x < tft x+=radius*2)>

    for (int16_t y=radius; y < tft y+=radius*2)>

      tft.fillCircle(x, y, radius, color);

    }

  }

}


void testdrawcircles(uint8_t radius, uint16_t color) {

  for (int16_t x=0; x < tft x+=radius*2)>

    for (int16_t y=0; y < tft y+=radius*2)>

      tft.drawCircle(x, y, radius, color);

    }

  }

}


void testtriangles() {

  tft.fillScreen(ST77XX_BLACK);

  uint16_t color = 0xF800;

  int t;

  int w = tft.width()/2;

  int x = tft.height()-1;

  int y = 0;

  int z = tft.width();

  for(t = 0 ; t <= 15; t++) {

    tft.drawTriangle(w, y, y, x, z, x, color);

    x-=4;

    y+=4;

    z-=4;

    color+=100;

  }

}


void testroundrects() {

  tft.fillScreen(ST77XX_BLACK);

  uint16_t color = 100;

  int i;

  int t;

  for(t = 0 ; t <= 4; t+=1) {

    int x = 0;

    int y = 0;

    int w = tft.width()-2;

    int h = tft.height()-2;

    for(i = 0 ; i <= 16; i+=1) {

      tft.drawRoundRect(x, y, w, h, 5, color);

      x+=2;

      y+=3;

      w-=4;

      h-=6;

      color+=1100;

    }

    color+=100;

  }

}


void tftPrintTest() {

  tft.setTextWrap(false);

  tft.fillScreen(ST77XX_BLACK);

  tft.setCursor(0, 30);

  tft.setTextColor(ST77XX_RED);

  tft.setTextSize(1);

  tft.println("Hello World!");

  tft.setTextColor(ST77XX_YELLOW);

  tft.setTextSize(2);

  tft.println("Hello World!");

  tft.setTextColor(ST77XX_GREEN);

  tft.setTextSize(3);

  tft.println("Hello World!");

  tft.setTextColor(ST77XX_BLUE);

  tft.setTextSize(4);

  tft.print(1234.567);

  delay(1500);

  tft.setCursor(0, 0);

  tft.fillScreen(ST77XX_BLACK);

  tft.setTextColor(ST77XX_WHITE);

  tft.setTextSize(0);

  tft.println("Hello World!");

  tft.setTextSize(1);

  tft.setTextColor(ST77XX_GREEN);

  tft.print(p, 6);

  tft.println(" Want pi?");

  tft.println(" ");

  tft.print(8675309, HEX); // print 8,675,309 out in HEX!

  tft.println(" Print HEX!");

  tft.println(" ");

  tft.setTextColor(ST77XX_WHITE);

  tft.println("Sketch has been");

  tft.println("running for: ");

  tft.setTextColor(ST77XX_MAGENTA);

  tft.print(millis() / 1000);

  tft.setTextColor(ST77XX_WHITE);

  tft.print(" seconds.");

}


void mediabuttons() {

  // play

  tft.fillScreen(ST77XX_BLACK);

  tft.fillRoundRect(25, 10, 78, 60, 8, ST77XX_WHITE);

  tft.fillTriangle(42, 20, 42, 60, 90, 40, ST77XX_RED);

  delay(500);

  // pause

  tft.fillRoundRect(25, 90, 78, 60, 8, ST77XX_WHITE);

  tft.fillRoundRect(39, 98, 20, 45, 5, ST77XX_GREEN);

  tft.fillRoundRect(69, 98, 20, 45, 5, ST77XX_GREEN);

  delay(500);

  // play color

  tft.fillTriangle(42, 20, 42, 60, 90, 40, ST77XX_BLUE);

  delay(50);

  // pause color

  tft.fillRoundRect(39, 98, 20, 45, 5, ST77XX_RED);

  tft.fillRoundRect(69, 98, 20, 45, 5, ST77XX_RED);

  // play color

  tft.fillTriangle(42, 20, 42, 60, 90, 40, ST77XX_GREEN);

}




TOTAL: 2782661

番号 タイトル ライター 参照 推薦
3/31(水) パッチ内容案内させていただ… 관리자 2023-03-24 367801 19
2782661 わいろ政党自民党勝利は japに災い (1) RichCa21 05:17 13 0
2782660 米国が高市首相祝福。韓国中国は警....... (1) JAPAV57 04:39 59 0
2782659 高市フィーバーには呆れる (8) kipling 02:23 108 1
2782658 創業120年の東京都の和菓子 JAPAV57 01:27 88 0
2782657 3月 19日到着する RichCa21 01:04 81 0
2782656 シナモン 1 ww bibimbap 00:32 84 0
2782655 もんですという人間はゾッも分から....... (4) 신사동중국인 00:32 109 1
2782654 米国の子供が今夢中なのは寿司 (1) JAPAV57 00:22 128 0
2782653 私だけのクルラウド(Clould) サーバー propertyOfJapan 00:12 76 0
2782652 半万年百済の奴隷民族 jap ^_^ RichCa21 00:09 71 0
2782651 ロボットは人間労動者完壁一体 10年....... cris1717 02-09 89 0
2782650 geminiに問って見た copysaru07 02-09 81 0
2782649 中国が日本レアアース輸出再開に韓....... (1) JAPAV57 02-09 112 0
2782648 勢いなどダカー理に警告したシジン....... RichCa21 02-09 75 0
2782647 韓国産業に対して日本人たちだけ無....... cris1717 02-09 82 0
2782646 paly2←嘘三昧境の日本人に教える真実....... (2) booq 02-09 102 0
2782645 ギョミクィンビビンパセンセすごい....... (2) 신사동중국인 02-09 93 2
2782644 韓国生活日本人妻 (1) cris1717 02-09 112 0
2782643 世の中で一番惨めで空虚なプライド (3) copysaru07 02-09 131 0
2782642 タチンボ Park RichCa21 02-09 101 0