/*************************************************** This is a example sketch demonstrating graphic drawing capabilities of the SSD1351 library for the 1.5" and 1.27" 16-bit Color OLEDs with SSD1351 driver chip Pick one up today in the adafruit shop! ------> http://www.adafruit.com/products/1431 ------> http://www.adafruit.com/products/1673 If you're using a 1.27" OLED, change SCREEN_HEIGHT to 96 instead of 128. These displays use SPI to communicate, 4 or 5 pins are required to interface 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. BSD license, all text above must be included in any redistribution The Adafruit GFX Graphics core library is also required https://github.com/adafruit/Adafruit-GFX-Library Be sure to install it! ****************************************************/ // Screen dimensions #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 128 // Change this to 96 for 1.27" OLED. // You can use any (4 or) 5 pins #define SCLK_PIN 2 #define MOSI_PIN 3 #define DC_PIN 4 #define CS_PIN 5 #define RST_PIN 6 // Color definitions #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF #include #include #include // Option 1: use any pins but a little slower Adafruit_SSD1351 tft = Adafruit_SSD1351(SCREEN_WIDTH, SCREEN_HEIGHT, CS_PIN, DC_PIN, MOSI_PIN, SCLK_PIN, RST_PIN); // Option 2: must use the hardware SPI pins // (for UNO thats sclk = 13 and sid = 11) and pin 10 must be // an output. This is much faster - also required if you want // to use the microSD card (see the image drawing example) //Adafruit_SSD1351 tft = Adafruit_SSD1351(SCREEN_WIDTH, SCREEN_HEIGHT, &SPI, CS_PIN, DC_PIN, RST_PIN); float p = 3.1415926; void setup(void) { Serial.begin(9600); tft.begin(); // 0 = no rotation, 1 = 90 degrees clockwise, 2 = degrees 180, 3 = 270 degrees // tft.setRotation(1); tft.fillScreen(BLACK); testTriangles(); delay(1000); // tft print function! tftPrintTest(); delay(1000); } void loop() { } void testDrawText(char *text, uint16_t color) { tft.setCursor(0,0); tft.setTextColor(color); tft.print(text); } void testTriangles() { tft.fillScreen(BLACK); int color = 0xF800; int t; int w = tft.width()/2; int x = tft.height(); int y = 0; int z = tft.width(); for(t = 0 ; t <= 15; t+=1) { tft.drawTriangle(w, y, y, x, z, x, color); x-=4; y+=4; z-=4; color+=100; } } void tftPrintTest() { tft.setCursor(0, 5); tft.fillScreen(BLACK); tft.setTextColor(WHITE); tft.setTextSize(0); tft.println("Hello World!"); tft.setTextSize(1); tft.setTextColor(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(WHITE); tft.println("Sketch has been"); tft.println("running for: "); tft.setTextColor(MAGENTA); tft.print(millis() / 1000); tft.setTextColor(WHITE); tft.print(" seconds."); }