[exemplo] I2C OLED
wip(wip)
 |
 |
| (a) |
(b) |
| fig.1 |
 |
 |
| (a) |
(b) |
| fig.2 |
 |
| fig.3 |
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// OLED display TWI address
#define OLED_ADDR 0x3C
Adafruit_SSD1306 display(-1);
#if (SSD1306_LCDHEIGHT != 64)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif
int dummyVal = 0;
void setup() {
// inicializa ecrã
display.begin(SSD1306_SWITCHCAPVCC, OLED_ADDR);
display.clearDisplay();
display.display();
// imprime linha de texto
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(55, 30);
display.print(F("..."));
// actualiza ecrã
display.display();
}
void loop() {
display.clearDisplay();
display.display();
display.setTextSize(3);
display.setTextColor(WHITE);
display.setCursor(60, 25);
if (dummyVal == 0) {
display.print(F("\\"));
}
else if (dummyVal == 1) {
display.print(F("|"));
}
else if (dummyVal == 2) {
display.print(F("/"));
}
else if (dummyVal == 3) {
display.print(F("-"));
}
if (dummyVal >= 3) {
dummyVal = 0;
}
else {
dummyVal = dummyVal + 1;
}
display.display();
}