|
- /***************************************************
- This is an example sketch for the Adafruit 1.8" SPI display.
-
- This library works with the Adafruit 1.8" TFT Breakout w/SD card
- ----> http://www.adafruit.com/products/358
- The 1.8" TFT shield
- ----> https://www.adafruit.com/product/802
- The 1.44" TFT breakout
- ----> https://www.adafruit.com/product/2088
- as well as Adafruit raw 1.8" TFT display
- ----> http://www.adafruit.com/products/618
-
- Check out the links above for our tutorials and wiring diagrams
- These displays use SPI to communicate, 4 or 5 pins are required to
- interface (RST is optional)
- Adafruit invests time and resources providing this open source code,
- please support Adafruit and open-source hardware by purchasing
- products from Adafruit!
-
- Written by Limor Fried/Ladyada for Adafruit Industries.
- MIT license, all text above must be included in any redistribution
- ****************************************************/
-
- // This Teensy3 native optimized version requires specific pins
- //
- #define TFT_SCLK 13 // SCLK can also use pin 14
- #define TFT_MOSI 11 // MOSI can also use pin 7
- #define TFT_CS 10 // CS & DC can use pins 2, 6, 9, 10, 15, 20, 21, 22, 23
- #define TFT_DC 9 // but certain pairs must NOT be used: 2+10, 6+9, 20+23, 21+22
- #define TFT_RST 8 // RST can use any pin
- #define SD_CS 4 // CS for SD card, can use any pin
-
- #include <Adafruit_GFX.h> // Core graphics library
- #include <ST7735_t3.h> // Hardware-specific library
- #include <ST7789_t3.h> // Hardware-specific library
- #include <SPI.h>
-
- ST7735_t3 tft = ST7735_t3(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
- // For 1.54" TFT with ST7789
- //ST7789_t3 tft = ST7789_t3(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
-
- void setup(void) {
- pinMode(SD_CS, INPUT_PULLUP); // keep SD CS high when not using SD card
- Serial.begin(9600);
- Serial.print("hello!");
-
- // Use this initializer if you're using a 1.8" TFT
- tft.initR(INITR_BLACKTAB);
- // Use this initializer (uncomment) if you're using a 1.44" TFT
- //tft.initR(INITR_144GREENTAB);
- // Some 1.44" displays use different memory offsets
- // (uncomment)if yours is not working properly
- // May need to tweek the offsets
- //tft.setRowColStart(32,0);
-
- // Use this initializer (uncomment) if you're using a 1.54" 240x240 TFT
- //tft.init(240, 240); // initialize a ST7789 chip, 240x240 pixels
-
- Serial.println("init");
-
- tft.setTextWrap(false); // Allow text to run off right edge
- tft.fillScreen(ST7735_BLACK);
-
- Serial.println("This is a test of the rotation capabilities of the TFT library!");
- Serial.println("Press <SEND> (or type a character) to advance");
- }
-
- void loop(void) {
- rotateLine();
- rotateText();
- rotatePixel();
- rotateFastline();
- rotateDrawrect();
- rotateFillrect();
- rotateDrawcircle();
- rotateFillcircle();
- rotateTriangle();
- rotateFillTriangle();
- rotateRoundRect();
- rotateFillRoundRect();
- rotateChar();
- rotateString();
- }
-
- void rotateText() {
- for (uint8_t i=0; i<4; i++) {
- tft.fillScreen(ST7735_BLACK);
- Serial.println(tft.getRotation(), DEC);
-
- tft.setCursor(0, 30);
- tft.setTextColor(ST7735_RED);
- tft.setTextSize(1);
- tft.println("Hello World!");
- tft.setTextColor(ST7735_YELLOW);
- tft.setTextSize(2);
- tft.println("Hello World!");
- tft.setTextColor(ST7735_GREEN);
- tft.setTextSize(3);
- tft.println("Hello World!");
- tft.setTextColor(ST7735_BLUE);
- tft.setTextSize(4);
- tft.print(1234.567);
- while (!Serial.available());
- Serial.read(); Serial.read(); Serial.read();
-
- tft.setRotation(tft.getRotation()+1);
- }
- }
-
- void rotateFillcircle(void) {
- for (uint8_t i=0; i<4; i++) {
- tft.fillScreen(ST7735_BLACK);
- Serial.println(tft.getRotation(), DEC);
-
- tft.fillCircle(10, 30, 10, ST7735_YELLOW);
-
- while (!Serial.available());
- Serial.read(); Serial.read(); Serial.read();
-
- tft.setRotation(tft.getRotation()+1);
- }
- }
-
- void rotateDrawcircle(void) {
- for (uint8_t i=0; i<4; i++) {
- tft.fillScreen(ST7735_BLACK);
- Serial.println(tft.getRotation(), DEC);
-
- tft.drawCircle(10, 30, 10, ST7735_YELLOW);
-
- while (!Serial.available());
- Serial.read(); Serial.read(); Serial.read();
-
- tft.setRotation(tft.getRotation()+1);
- }
- }
-
- void rotateFillrect(void) {
- for (uint8_t i=0; i<4; i++) {
- tft.fillScreen(ST7735_BLACK);
- Serial.println(tft.getRotation(), DEC);
-
- tft.fillRect(10, 20, 10, 20, ST7735_GREEN);
-
- while (!Serial.available());
- Serial.read(); Serial.read(); Serial.read();
-
- tft.setRotation(tft.getRotation()+1);
- }
- }
-
- void rotateDrawrect(void) {
- for (uint8_t i=0; i<4; i++) {
- tft.fillScreen(ST7735_BLACK);
- Serial.println(tft.getRotation(), DEC);
-
- tft.drawRect(10, 20, 10, 20, ST7735_GREEN);
-
- while (!Serial.available());
- Serial.read(); Serial.read(); Serial.read();
-
- tft.setRotation(tft.getRotation()+1);
- }
- }
-
- void rotateFastline(void) {
- for (uint8_t i=0; i<4; i++) {
- tft.fillScreen(ST7735_BLACK);
- Serial.println(tft.getRotation(), DEC);
-
- tft.drawFastHLine(0, 20, tft.width(), ST7735_RED);
- tft.drawFastVLine(20, 0, tft.height(), ST7735_BLUE);
-
- while (!Serial.available());
- Serial.read(); Serial.read(); Serial.read();
-
- tft.setRotation(tft.getRotation()+1);
- }
- }
-
- void rotateLine(void) {
- for (uint8_t i=0; i<4; i++) {
- tft.fillScreen(ST7735_BLACK);
- Serial.println(tft.getRotation(), DEC);
-
- tft.drawLine(tft.width()/2, tft.height()/2, 0, 0, ST7735_RED);
- while (!Serial.available());
- Serial.read(); Serial.read(); Serial.read();
-
- tft.setRotation(tft.getRotation()+1);
- }
- }
-
- void rotatePixel(void) {
- for (uint8_t i=0; i<4; i++) {
- tft.fillScreen(ST7735_BLACK);
- Serial.println(tft.getRotation(), DEC);
-
- tft.drawPixel(10,20, ST7735_WHITE);
- while (!Serial.available());
- Serial.read(); Serial.read(); Serial.read();
-
- tft.setRotation(tft.getRotation()+1);
- }
- }
-
- void rotateTriangle(void) {
- for (uint8_t i=0; i<4; i++) {
- tft.fillScreen(ST7735_BLACK);
- Serial.println(tft.getRotation(), DEC);
-
- tft.drawTriangle(20, 10, 10, 30, 30, 30, ST7735_GREEN);
- while (!Serial.available());
- Serial.read(); Serial.read(); Serial.read();
-
- tft.setRotation(tft.getRotation()+1);
- }
- }
-
- void rotateFillTriangle(void) {
- for (uint8_t i=0; i<4; i++) {
- tft.fillScreen(ST7735_BLACK);
- Serial.println(tft.getRotation(), DEC);
-
- tft.fillTriangle(20, 10, 10, 30, 30, 30, ST7735_RED);
- while (!Serial.available());
- Serial.read(); Serial.read(); Serial.read();
-
- tft.setRotation(tft.getRotation()+1);
- }
- }
-
- void rotateRoundRect(void) {
- for (uint8_t i=0; i<4; i++) {
- tft.fillScreen(ST7735_BLACK);
- Serial.println(tft.getRotation(), DEC);
-
- tft.drawRoundRect(20, 10, 25, 15, 5, ST7735_BLUE);
- while (!Serial.available());
- Serial.read(); Serial.read(); Serial.read();
-
- tft.setRotation(tft.getRotation()+1);
- }
- }
-
- void rotateFillRoundRect(void) {
- for (uint8_t i=0; i<4; i++) {
- tft.fillScreen(ST7735_BLACK);
- Serial.println(tft.getRotation(), DEC);
-
- tft.fillRoundRect(20, 10, 25, 15, 5, ST7735_CYAN);
- while (!Serial.available());
- Serial.read(); Serial.read(); Serial.read();
-
- tft.setRotation(tft.getRotation()+1);
- }
- }
-
- void rotateChar(void) {
- for (uint8_t i=0; i<4; i++) {
- tft.fillScreen(ST7735_BLACK);
- Serial.println(tft.getRotation(), DEC);
-
- tft.drawChar(25, 15, 'A', ST7735_WHITE, ST7735_WHITE, 1);
- while (!Serial.available());
- Serial.read(); Serial.read(); Serial.read();
-
- tft.setRotation(tft.getRotation()+1);
- }
- }
-
- void rotateString(void) {
- for (uint8_t i=0; i<4; i++) {
- tft.fillScreen(ST7735_BLACK);
- Serial.println(tft.getRotation(), DEC);
-
- tft.setCursor(8, 25);
- tft.setTextSize(1);
- tft.setTextColor(ST7735_WHITE);
- tft.print("Adafruit Industries");
- while (!Serial.available());
- Serial.read(); Serial.read(); Serial.read();
-
- tft.setRotation(tft.getRotation()+1);
- }
- }
|