Created
February 26, 2021 07:50
-
-
Save elktros/f04a88d84af466aa41f06e0cfe28c3d8 to your computer and use it in GitHub Desktop.
Display simple graphics on OLED using ESP8266 NodeMCU.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <SPI.h> | |
#include <Wire.h> | |
#include <Adafruit_GFX.h> | |
#include <Adafruit_SSD1306.h> | |
#define SCREEN_WIDTH 128 | |
#define SCREEN_HEIGHT 64 | |
#define OLED_MOSI 13 | |
#define OLED_CLK 14 | |
#define OLED_DC 5 | |
#define OLED_CS 15 | |
#define OLED_RESET 4 | |
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, | |
OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS); | |
void setup() | |
{ | |
Serial.begin(115200); | |
if(!display.begin(SSD1306_SWITCHCAPVCC)) | |
{ | |
Serial.println(F("SSD1306 allocation failed")); | |
for(;;); | |
} | |
display.clearDisplay(); | |
display.display(); | |
delay(100); | |
} | |
void loop() | |
{ | |
DrawRectangle(); | |
DrawFilledRectangle(); | |
DrawRoundRectangle(); | |
DrawFilledRoundRectangle(); | |
DrawCircle(); | |
DrawFilledCircle(); | |
DrawTriangle(); | |
DrawFilledTriangle(); | |
} | |
void DrawRectangle() | |
{ | |
display.clearDisplay(); | |
display.setTextSize(1); | |
display.setTextColor(WHITE); | |
display.setCursor(0,0); | |
display.println("Rectangle"); | |
display.drawRect(0, 15, 90, 45, SSD1306_WHITE); | |
display.display(); | |
delay(2000); | |
} | |
void DrawFilledRectangle() | |
{ | |
display.clearDisplay(); | |
display.setTextSize(1); | |
display.setTextColor(WHITE); | |
display.setCursor(0,0); | |
display.println("Filled Rectangle"); | |
display.fillRect(0, 15, 90, 45, SSD1306_WHITE); | |
display.display(); | |
delay(2000); | |
} | |
void DrawRoundRectangle() | |
{ | |
display.clearDisplay(); | |
display.setTextSize(1); | |
display.setTextColor(SSD1306_WHITE); | |
display.setCursor(0,0); | |
display.println("Round Rectangle"); | |
display.drawRoundRect(0, 15, 90, 45, 10, SSD1306_WHITE); | |
display.display(); | |
delay(5000); | |
} | |
void DrawFilledRoundRectangle() | |
{ | |
display.clearDisplay(); | |
display.setTextSize(1); | |
display.setTextColor(SSD1306_WHITE); | |
display.setCursor(0,0); | |
display.println("Filled Round Rect"); | |
display.fillRoundRect(0, 15, 90, 45, 10, SSD1306_WHITE); | |
display.display(); | |
delay(2000); | |
} | |
void DrawCircle() | |
{ | |
display.clearDisplay(); | |
display.setTextSize(1); | |
display.setTextColor(SSD1306_WHITE); | |
display.setCursor(0,0); | |
display.println("Circle"); | |
display.drawCircle(30, 36, 25, SSD1306_WHITE); | |
display.display(); | |
delay(2000); | |
} | |
void DrawFilledCircle() | |
{ | |
display.clearDisplay(); | |
display.setTextSize(1); | |
display.setTextColor(SSD1306_WHITE); | |
display.setCursor(0,0); | |
display.println("Filled Circle"); | |
display.fillCircle(30, 36, 25, SSD1306_WHITE); | |
display.display(); | |
delay(2000); | |
} | |
void DrawTriangle() | |
{ | |
display.clearDisplay(); | |
display.setTextSize(1); | |
display.setTextColor(SSD1306_WHITE); | |
display.setCursor(0,0); | |
display.println("Triangle"); | |
display.drawTriangle(30, 15, 0, 60, 60, 60, SSD1306_WHITE); | |
display.display(); | |
delay(2000); | |
} | |
void DrawFilledTriangle() | |
{ | |
display.clearDisplay(); | |
display.setTextSize(1); | |
display.setTextColor(SSD1306_WHITE); | |
display.setCursor(0,0); | |
display.println("Filled Triangle"); | |
display.fillTriangle(30, 15, 0, 60, 60, 60, SSD1306_WHITE); | |
display.display(); | |
delay(2000); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment