На дисплее имеется перемычка для смены адреса 0х78 или 0х7А. С библиотекой iarduino все работает но эта библиотека очень скудная по функционалу. Поэтому хотелось бы использовать Adafruit_SSD1306 и Adafruit-GFX. Но у меня не получилось пока это реализовать в скетче. Работает только один дисплей с адресом 3D. Оба дисплея работают только если написать высота равна 32 а не 64, но тогда текст растягивается по высоте в 2 раза. Подскажите что делаю не так???
#include
#include
#include
#include
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET -1
Adafruit_SSD1306 display1(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
Adafruit_SSD1306 display2(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
void setup()
{
display1.begin(SSD1306_SWITCHCAPVCC, 0x3D); // инициализация дисплея по интерфейсу I2C, адрес 0x3C
display1.clearDisplay(); // очистка дисплея
display1.setTextSize(1); // установка размера шрифта
display1.setTextColor(WHITE); // установка цвета текста
display2.begin(SSD1306_SWITCHCAPVCC, 0x3C); // инициализация дисплея по интерфейсу I2C, адрес 0x3C
display2.clearDisplay(); // очистка дисплея
display2.setTextSize(1); // установка размера шрифта
display2.setTextColor(WHITE); // установка цвета текста
}
void loop()
{
display1.clearDisplay();
display2.clearDisplay();
display1.setCursor(0, 0);
display1.print("1disp");
display1.display();
display2.setCursor(0, 0);
display2.print("2disp");
display2.display();
delay(500);
display1.clearDisplay();
display2.clearDisplay();
display1.setCursor(0, 0);
display1.print("*****");
display1.display();
display2.setCursor(0, 0);
display2.print("*****");
display2.display();
delay(500);
}
Как работать с одним дисплеем смотрите тут:
#15.1 SSD1306 OLED-дисплей, вывод текста на русском языке в Arduino IDE