смысл простой - пишем программу в FLProg с обычным дисплеем, потом компилируем, и в окне IDE Arduino меняем на OLED.
для примера возьмём программу "Hello, world!". создаём программу, компилируем
и вот что получаем в окошке Arduino IDE:
СпойлерПоказать
#include
#include
LiquidCrystal_I2C _lcd1(0x27, 16, 2); //0х27 адрес дисплея
#include
#include
#include // библиотека для дисплеев.
#include // библиотека для дисплея.
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
int _dispTempLength1=0;
boolean _isNeedClearDisp1;
int _disp1oldLength = 0;
void setup()
{
Wire.begin();
delay(10);
_lcd1.init();
_lcd1.backlight();
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // 0х3С адрес OLED дисплея
display.setTextColor(WHITE); // Цвет текста.
}
void loop()
{if (_isNeedClearDisp1) {_lcd1.clear(); display.clearDisplay();_isNeedClearDisp1= 0;}
//Плата:1
if (1) {
_dispTempLength1 = (String("Hello, world!")).length();
if (_disp1oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp1oldLength = _dispTempLength1;
_lcd1.setCursor(1, 0);
_lcd1.print(String("Hello, world!"));
display.clearDisplay(); // Очистить буфер(а не дисплей).
display.setTextSize(2); // Размер текста (2).
display.setCursor(10,30); // по горизонтали 10,по вертикали 30.
display.println("hello world"); // Печатаем строку.
display.display(); // вывести на дисплей всё вышеперечисленное.
} else {
if (_disp1oldLength > 0) {_isNeedClearDisp1 = 1; _disp1oldLength = 0;}
}
}
#include
LiquidCrystal_I2C _lcd1(0x27, 16, 2); //0х27 адрес дисплея
#include
#include
#include // библиотека для дисплеев.
#include // библиотека для дисплея.
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
int _dispTempLength1=0;
boolean _isNeedClearDisp1;
int _disp1oldLength = 0;
void setup()
{
Wire.begin();
delay(10);
_lcd1.init();
_lcd1.backlight();
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // 0х3С адрес OLED дисплея
display.setTextColor(WHITE); // Цвет текста.
}
void loop()
{if (_isNeedClearDisp1) {_lcd1.clear(); display.clearDisplay();_isNeedClearDisp1= 0;}
//Плата:1
if (1) {
_dispTempLength1 = (String("Hello, world!")).length();
if (_disp1oldLength > _dispTempLength1) {_isNeedClearDisp1 = 1;}
_disp1oldLength = _dispTempLength1;
_lcd1.setCursor(1, 0);
_lcd1.print(String("Hello, world!"));
display.clearDisplay(); // Очистить буфер(а не дисплей).
display.setTextSize(2); // Размер текста (2).
display.setCursor(10,30); // по горизонтали 10,по вертикали 30.
display.println("hello world"); // Печатаем строку.
display.display(); // вывести на дисплей всё вышеперечисленное.
} else {
if (_disp1oldLength > 0) {_isNeedClearDisp1 = 1; _disp1oldLength = 0;}
}
}
а выделенное здесь красным цветом копируете и вставляете в свою программу.
повторяю, синее удаляете, на его место красное вставляете.
Советую поэкспериментировать со строчкой
display.setCursor(10,30); // по горизонтали 10,по вертикали 30.
Это команда выставления курсора в нужное место
Меняя числа в скобках и заново заливая скетч, следите за изменениями на дисплее.
А команда display.println("hello world"); печатает с того места куда установлен курсор, всё, что расположено в скобках.
Разобравшись с этими двумя командами сможете управлять дисплеем как вам нужно
можно так же менять размер шрифта, например, вместо 2 поставьте 3, и посмотрите.
Да, чуть не забыл, главное, чтобы вы не забыли:
в папку libraries, что в паке ideV2, что в папке FLProg-3_0 вставить два файла-библиотеки:
Adafruit_GFX и Adafruit_SSD1306, которые скачаете сами знаете откуда.