Trybotics Logo

0.96 OLED Display With Arduino & Getting Text From Serial Monitor...

DESCRIPTION

Now we start to work with 0.96' OLED Display with arduino and we will try to display text from the serial monitor input...

Description:

In this tutorial i will show you how to connect and test and write some data from serial monitor to a 0.96" i2c OLED display module to an arduino.

Parts:

Breadboard and hookup wires Arduino The OLED i2c display

The connections from the display:

VCC to arduino 5v GND to arduino GND SCL to arduino pin A5 SDA to arduino pin A4

Both libraries below needs to be installed before you are able to continue with this instructable.

https://github.com/adafruit/Adafruit_SSD1306 (SSD1306 library)

https://github.com/adafruit/Adafruit-GFX-Library (GFX library)

Description:

For Adafruit_SSD1306 Library:

Go to: C:\Program Files (x86)\Arduino\libraries\Adafruit_SSD1306 Open Adafruit_SSD1306.h (in a text editor like Notepad++ for example)

Find and comment out the line: #define SSD1306_128_32 Uncomment the line: #define SSD1306_128_64

Open the ssd1306_128x64_i2c example in Arduino:

Change address from 0x3D to 0x3C in void setup()

Description:

From examples go to adafruit SSD1306 upload the 3rd sketch.

Description:

Here is my code :

#include <SPI.h>
#include <Wire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

#define OLED_RESET 4

Adafruit_SSD1306 display(OLED_RESET);

#define NUMFLAKES 10

#define XPOS 0

#define YPOS 1

#define DELTAY 2

#define LOGO16_GLCD_HEIGHT 16

#define LOGO16_GLCD_WIDTH 16

static const unsigned char PROGMEM logo16_glcd_bmp[] = { B00000000, B11000000, B00000001, B11000000, B00000001, B11000000, B00000011, B11100000, B11110011, B11100000, B11111110, B11111000, B01111110, B11111111, B00110011, B10011111, B00011111, B11111100, B00001101, B01110000, B00011011, B10100000, B00111111, B11100000, B00111111, B11110000, B01111100, B11110000, B01110000, B01110000, B00000000, B00110000 };

#if (SSD1306_LCDHEIGHT != 64)

#error("Height incorrect, please fix Adafruit_SSD1306.h!");

#endif

void setup() {

Serial.begin(9600);

display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3D (for the 128x64) // init done // Show image buffer on the display hardware.

display.display(); //delay(2000);

display.setTextSize(1);

display.setTextColor(WHITE);

display.setCursor(10, 0);

display.clearDisplay();

display.println("INPUT YOUR TEXT HERE: ");

// invert the display

display.invertDisplay(true);

display.invertDisplay(false);

display.display();

display.clearDisplay(); }

void loop() {

while (1) {

display.setTextSize(1);

display.setTextColor(WHITE);

display.setCursor(10, 0);

display.clearDisplay();

display.println("input:");

printText();

display.display();

}

}

void printText(void) {

String s;

if (Serial.available()) {

s = Serial.readString(); //getting string input in variable "s"

display.println(s);

display.display();

display.println("\n");

}

delay(4000);

}

Attachments


YOU MIGHT ALSO LIKE