Подскажите плиз, подключал ли кто OLED дисплей к ESP-01s? Никак не получаеться настроить их совместную работу. Тестовый код прошивки: Код (C++): // Раскомментируйте для программной реализации шины I2C: // //#define pin_SW_SDA 0 // Назначение любого вывода Arduino для работы в качестве линии SDA программной шины I2C. //#define pin_SW_SCL 2 // Назначение любого вывода Arduino для работы в качестве линии SCL программной шины I2C. // Раскомментируйте для совместимости с большинством плат: // #include <Wire.h> // Библиотека iarduino_OLED_txt будет использовать методы и функции библиотеки Wire. // Ссылки для ознакомления: // // Подробная информация о подключении модуля к шине I2C: // http://wiki.iarduino.ru/page/i2c_connection/ // Подробная информация о функциях и методах библиотеки: // http://wiki.iarduino.ru/page/OLED_trema/ // Библиотека iarduino_OLED_txt (текстовая) экономит ОЗУ: // http://iarduino.ru/file/341.html // Бибилиотека iarduino_OLED (графическая): // http://iarduino.ru/file/340.html // #include <iarduino_OLED_txt.h> // Подключаем библиотеку iarduino_OLED_txt. iarduino_OLED_txt myOLED(0x3C); // Объявляем объект myOLED, указывая адрес дисплея на шине I2C: 0x3C или 0x3D. // extern uint8_t MediumFont[]; // Подключаем шрифт MediumFont. uint32_t i; // Объявляем переменную для хранения времени прошедшего с момента старта скетча. int h, m, s; // Объявляем переменную для хранения времени в часах, минутах и секундах. // void setup(){ // Serial.begin(9600); Serial.print("connecting to "); pinMode(LED_BUILTIN, OUTPUT); // инициализируем контакт // в качестве выходного контакта myOLED.begin(); // Инициируем работу с дисплеем. myOLED.setFont(MediumFont); // Указываем шрифт который требуется использовать для вывода цифр и текста. } // void loop(){ // myOLED.begin(); myOLED.fillScr(1); i=millis(); // Получаем количество миллисекунд прошедшее с момента старта скетча. if(i%1000==0){ delay(1); // Выполняем скетч 1 раз в секунду. Так как условие истинно в течении 1 миллисекунды, то устанавливаем задержку в 1 миллисекунду. i/=1000; h=i/60/60%24; m=i/60%60; s=i%60; // Рассчитываем часы, минуты и секунды. myOLED.setCursor(16,4); // Устанавливаем курсор в 16 столбец 4 строки. if(h<10){myOLED.print(0);} myOLED.print(h); // Выводим часы прошедшие с момента старта скетча, в формате ЧЧ. myOLED.print(":"); // Выводим текст состоящий из одного символа «:» if(m<10){myOLED.print(0);} myOLED.print(m); // Выводим минуты прошедшие с момента старта скетча, в формате ММ. myOLED.print(":"); // Выводим текст состоящий из одного символа «:» if(s<10){myOLED.print(0);} myOLED.print(s); Serial.print(s); // Выводим секунды прошедшие с момента старта скетча, в формате СС. } digitalWrite(LED_BUILTIN, LOW); delay(1000); digitalWrite(LED_BUILTIN, HIGH); delay(2000); Схема подключения: После подключения esp активируется, мигает диодом, но на дисплее так ничего и не появляется. В чем может быть проблема и как это исправить? Заранее спасибо. Тему перенес в нужный раздел. Тут просьба удалить.
Кому должны? На моём дисплейчике не было. Я тоже думал, что "должны" пока не наловился глюков и не поставил.
Поиграйте с Адресом дисплея. Китаёзы "ложили" на даташит. Может и 3С и 3D, как им вступит. Сам тыркался. Резисторов не ставил, всё работает прямо сейчас. Библа от Жардуино шибко жрет память, хотя надежная. Библа от Адского Фрукта капризней, но экономнее намного.. Капризность проявляется в русификации. Строка не должна быть длиннее 17 символов, иначе - глюки. Сама программка динамической русификации проста. Откуда лезет артефакт - так и не понял.
Ладно - всё таки рискну и поставлю - что не в резисторах дело - может с питанием разобраться? Обычно по отдельности сначала всё проверяют...