7 #define CMD_BGCOLOR 0x42
8 #define CMD_CPYPASTE 0x63
10 #define CMD_CIRCLE 0x43
11 #define CMD_FILLCIRCLE 0x69
12 #define CMD_PUTPIXEL 0x50
13 #define CMD_READPIXEL 0x52
14 #define CMD_RECTANGLE 0x72
15 #define CMD_PAINTAREA 0x70
16 #define CMD_SETFNTSIZE 0x46
19 #define FONT_8x12 0x03
20 #define CMD_FMTTEXT 0x54
23 #define CMD_CONTRAST 0x02
24 #define CMD_POWER 0x03
25 #define RESPONSE_ACK 0x06
26 #define RESPONSE_NAK 0x15
30 digitalWrite(RST, LOW);
32 digitalWrite(RST, HIGH);
37 char getDisplayResponse()
39 byte incomingByte = RESPONSE_ACK;
41 while(!Serial.available()) { delay(1); }
42 incomingByte = Serial.read();
50 Serial.print(INIT_SEQ, BYTE);
56 Serial.print(CMD_CLEAR, BYTE);
61 void displayDrawChar(char col, char row, char size, char myChar, int color)
63 Serial.print(CMD_FMTTEXT, BYTE);
64 Serial.print(myChar, BYTE);
65 Serial.print(col, BYTE);
66 Serial.print(row, BYTE);
67 Serial.print(color >> 8, BYTE); // MSB
68 Serial.print(color & 0xFF, BYTE); // LSB
74 Serial.begin(BAUD); // The OLED-Display is connected via UART
76 pinMode(RST, OUTPUT); // The OLED-Display's Reset-Pin is an OUTPUT.
80 displayDrawChar(1, 1, 10, '4', 52333);