Блог о программировании, электронике и рыбалке

WeMos D1 R2 на ESP8266 обзор и примеры

wemosПодробный обзор Arduino совместимого контроллера WeMos D1 R2 на базе ESP8266.

На днях получил посылку из Китая с платой контроллера WeMos D1 R2 на базе ESP8266. На мой взгляд, этот девайс заслуживает особого внимания, так как такого функционала за смешную цену я больше нигде не встречал. Наконец-то появился бюджетный вариант со встроенным Wi-Fi.

Внешний вид WeMos D1 R2

wemos

wemos

Технические характеристики WeMos D1 R2 на ESP8266

  • 11 цифровых входов / выходов. Все выводы  поддерживают interrupt/pwm/I2C/one-wire (за исключением D0)
  • 1 аналоговый вход (максимальное входное напряжение 3,3 В)
  • Micro USB разъем
  • Разъем питания (9-24 В)
  • Поддержка Arduino IDE
  • Микроконтроллер ESP-8266EX
  • Частота микроконтроллера 80MHz/160MHz
  • Flash память 4 Мб
  • Программирование через Serial или OTA (беспроводная загрузка программного кода по Wi-Fi)
  • Наличие WI-FI модуля

Назначение выводов WeMos D1 R2

wemos

Драйвера для WeMos D1 R2

Подключаем контроллер к USB порту компьютера micro USB кабелем.

Скачиваем архив с драйверами:

ch341ser_win.zip (178,9 KiB, 4 258 hits)

Добавлено: драйвера WeMos под Windows 10

wemos-driver-win10.zip (6,9 MiB, 993 hits)

После установки драйверов проверяем состояние в диспетчере устройств.

wemos

Настройка Arduino IDE для работы с WeMos D1 R2

Запускаем Arduino IDE 1.6.5 или выше (у меня 1.6.7).

wemos

Заходим в настройки

wemos

wemos

В строке “Дополнительная ссылка для Менеджера плат” вводим URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json и жмем на кнопку в конце строки, чтобы убедиться, что адрес был добавлен.

wemos

wemos

Жмем кнопку OK в этом окне, а затем в окне настроек.

Заходим в Менеджер плат через меню Инструменты

wemos

wemos

Ищем наш контроллер

wemos

Жмем на кнопку Установить

Начнется загрузка необходимых модулей. Придется немного подождать.

wemos

После окончания загрузки жмем на кнопку Закрыть

wemos

Установка модулей завершена.

Теперь можем выбрать наш контроллер для работы.

wemos

Я пока без понятия, как работать с этим контроллером, поэтому решил добавить примеры исходных кодов.

D1_mini.zip (23,4 KiB, 3 104 hits)

Скачайте архив и распакуйте его содержимое в \arduino-1.6.7\examples\

Перезапустите Arduino IDE.

Теперь в примеры появились примеры использования:

wemos

Перед загрузкой скетчей через Serial не забудьте выбрать режимы работы контроллера:

Настройка WeMos D1 R2 на ESP8266

Загрузка скетчей:

wemos

Частота:

wemos

Размер памяти:

wemos

Скорость передачи данных 921600

wemos

Номер COM порта:

wemos

Проверка работы WeMos D1 R2

Для теста я залил скетч из примера сканирования Wi-Fi.

wemos

#include "ESP8266WiFi.h"

void setup() {
Serial.begin(115200);

// Set WiFi to station mode and disconnect from an AP if it was previously connected
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);

Serial.println("Setup done");
}

void loop() {
Serial.println("scan start");

// WiFi.scanNetworks will return the number of networks found
int n = WiFi.scanNetworks();
Serial.println("scan done");
if (n == 0)
Serial.println("no networks found");
else
{
Serial.print(n);
Serial.println(" networks found");
for (int i = 0; i < n; ++i)
{
// Print SSID and RSSI for each network found
Serial.print(i + 1);
Serial.print(": ");
Serial.print(WiFi.SSID(i));
Serial.print(" (");
Serial.print(WiFi.RSSI(i));
Serial.print(")");
Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE)?" ":"*");
delay(10);
}
}
Serial.println("");

// Wait a bit before scanning again
delay(5000);
}

Результат работы скетча:

wemos

Возможные проблемы

Ошибка компиляции для платы WeMos D1 R2 & mini

При появлении сообщения Ошибка компиляции для платы WeMos D1 R2 & mini необходимо в Arduino IDE зайти в меню Файл - Настройки

Нажать на путь к папке размещения скаченных дополнений (отмечен на картинке)

Ошибка компиляции для платы WeMos D1 R2 & mini
В открывшемся проводнике заходим в папку packages
Ошибка компиляции для платы WeMos D1 R2 & mini
Удаляем из нее папку esp8266
Ошибка компиляции для платы WeMos D1 R2 & mini
После этого перезапускаем Arduino IDE и заново через меню Инструменты - Плата.... - Менеджер плат устанавливаем дополнение для работы с Wemos.
Ошибка компиляции для платы WeMos D1 R2 & mini

Справочная информация по WeMos

Спасибо, что прочитали :)

Свои вопросы оставляйте в комментариях или задавайте их в нашей группе в Телеграм

Geek Electronics
  • keyboard_arrow_downWeMos D1 R2 на ESP8266 обзор и примеры
    • Автор:
    • Миниатюра: WeMos D1 R2 на ESP8266 обзор и примеры
    • Рубрика: Arduino от А до Я
    • Обновлено: 09.05.2018
    • Комментариев: 40
    • Просмотров: 59 669
      • searchПоисковые боты
        Дата Бот
        2018-10-17 18:00:20 Yandex
        2018-10-17 08:52:46 Bing
        2018-10-16 09:14:21 Bing
        2018-10-16 02:58:10 Bing
        2018-10-15 12:26:33 Yandex
        2018-10-15 07:32:10 Bing
        2018-10-15 06:07:22 Google
        2018-10-15 02:55:47 Google
        2018-10-14 00:07:14 Bing
        2018-10-13 09:58:50 Bing
  • Оцените пожалуйста статью
    1 Star2 Stars3 Stars4 Stars5 Stars
    Loading Загрузка...
  • Поделитесь с друзьями
GeekElectronics

Похожие записи

Комментариев: 40

  • Avatar for source
    Космодромыч:

    Заметь, что с China Post товары стали приходить к нам быстрее

  • Avatar for source
    Максим:

    это версия R1, если что)
    Визуально - у версии R2 к "D1" приставка "WeMos"

    • Avatar for source
      pilnikov75:

      изменена схема питания (несущественно) и поменяны местами (на плате) d5 с d4 (i2c) - существенно только при использовании готовых прошивок и шилдов

  • Avatar for source
    DD:

    А что значит разъём питания 9-24В, куда я их могу подвести?
    Могу ли я запитать данный модуль от 12В (размер 27А) ?
    И можно ли с CR2025 3V?
    У него есть нога с подписью 5V. Сколько я туда могу подать, сколько он стабилизирует?

    • Avatar for source
      source™:

      9-24В - черный разъем на плате (штекер как питание в ноутбуке)
      12В (размер 27А) - можете к этому же разъему
      И можно ли с CR2025 3V? - нет.
      нога с подписью 5V - это выход 5 вольт, а не вход. 3,3 тоже выход

  • Avatar for source
    max5555:

    Чем эта плата для ваших целей лучшее, заметно более дешевой платы NodeMCU v3 (LiLO Version)?

    • Avatar for source
      DD:

      У lilo только 3.3В на плате, они идут под версией 1.0. Версия 0.9 обладает 5В выходов, что гораздо удобнее.

      • Avatar for source
        max5555:

        Да, у Lilo на плате 3.3В, но питать можно от 5В, так что при необходимости есть откуда взять.

        Не понял на счет версий 1.0 и 0.9 - это версии чего?

        • Avatar for source
          DD:

          У ESP8266 Lolin v1.0 только 3.3В выходы. У версии ESP8266 v0.9, есть также 5В выходы.
          Ну или их ещё называют NodeMCU, для меня это одно и тоже. Посмотри в интернете v0.9 жёлтого цвета какие выводы и какие выводы у v1.0

  • Avatar for source
    Гена физик:

    Плата новая 80-160 МГц WI Fi это класс возникли мысли о применению.
    1.Осциллограф.
    2. Сигнал Генератор.
    3.синтезатор речи.
    А где у платы кварц тактового генераторы?

    • Avatar for source
      DD:

      К сожалению, осциллограф не выходит, очень бестолковый ШИМ. В интернете натыкался на реализацию девайса на ардуино и задал вопрос автору про esp8266, он ответил ШИМ на esp фуфло. Я проверил. Реализовал датчик объёма, capacity sensor. Через два сопротивления замкнул на алюминевую пластину. На ардуино у меня получилось зарегистрировать сигнал через поднесение руки более 20см, на esp - ШИМ ловил только прикосновения. Итого: автор был прав.
      Синтезатор речи наверно можно, видел и обладаю отдельным девайсом для ардуино, который через звуковые файлы на флешке, генерит звуки. Если сделаешь генератор звука напрямую, пиши, затестим))
      Если не ошибаюсь, то мои замеры показали погрешность ШИМ на ESP 0.2 вольта. В документации наверно явно указано, не читал.

    • Avatar for source
      DD:

      Осцилограф не получится. Плохой шим. Порядка 0.2В погрешность

  • Avatar for source
    гена:

    Осциллограф проще купить изобретать вело не нужно. Паяльник для микросхемы:
    Медный стержень в торце отверстие диаметр 0, 8 мм до глубины 10 мм зенкуем и включаем его до температуры плавки каплю олова в торец флюс на ножку мсх одеваем нвставляем ножку мсх в отверстие покачал и отличная пайка готова Подарок очумелам

  • Avatar for source
    гена:

    осваиваю спасибо за материалы осцилл есть купил отличный из есп раутер получится?

  • Avatar for source
    гена:

    esp это загрузка скетчей во время движения по вай фай.например летит ракета на цель ситуация изменилась и ракета командует загрузить следующую необходимую программу через впй фай на расстояние в тргц диапазоне. Круто?

    • Avatar for source
      Ferret:

      ракета на WiFi это не круто, круто ракета на блютуз, сидишь на ней и управляешь...

  • Avatar for source
    Congo:

    что то таблица распиновки совсем не совпадает с тем, что написано на плате

  • Avatar for source
    гена:

    епс с низким потреблением питания возможно перевод на батарейное питание и из спящего режима уникальная вещь

  • Avatar for source
    гена:

    епс с низким потреблением питания возможно перевод на батарейное питание и из спящего режима уникальная вещь.
    надо определить что из нее можно сделать и какие скотчи загружать это главное направление.сообщайте

  • Avatar for source
    Гена:

    Все загрузил и получил ошибку после компиляции. что делать мыслей нет пока
    invalid library found in C:/ Program files(x86)/arduino/libraries/esp8266_Nonos_sdk_v1.5.1-16_01_08

  • Avatar for source
    Гена:

    Кстати для питания купил блок питания CPS-3205 0-32 v 0.5 и осциллограф размером с пачку казбека ds201 pro

  • Avatar for source
    Гена:

    В документации USB serial kable если бы была точная разводка концов я бы спаял а без него наверное можно на плате есть мини усб

  • Avatar for source
    Гена:

    Все загрузил и счетч загрузил, переустановил Иде ардуино и дает ошибку
    espcomm_upload_mem faled
    обращение к памяти неверное? где сотреть.
    и второе как наладитьшрифты ( у меня 8 ка вин) в сериал монитор идед абракадабра.
    нет полноценного руководства по эксплуаации платы.
    Назначение
    характеристики
    результаты
    пути получения.
    Подключил, ошибки где искать?

    • Avatar for source
      Александр:

      Добрый день.
      Если еще актуально espcomm_upload_mem faled:
      Грузите на скорости 115200. У меня та же ошибка на рекомендуемой 921600.

  • Avatar for source
    Гена:

    я кажется споткнулся. я должен посадить вемос плату на ардуино этажеркой? там два гнезда питания два усб, зачем, наверное не нужно?

    • Avatar for source
      adad@sffs.ru:

      Вемос аналогичен ардуино...не надо ничего этажеркой

  • Avatar for source
    гена:

    чтобы с ногами разобраться надо их раздвинуть и в поиске набрать "таблица pin arduino и esp8266 и разпечатать картинку

  • Avatar for source
    Beaver:

    Ребят, плата, как на картинке, только надписи Вемос нет. Делал все по инструкции + попробовал изменять скорость порта. Пишет "ошибка компиляции для платы..." Среда Ардуино 1.6.12 подскажите, плиз че нить

    • Avatar for source
      Beaver:

      Ребят, ну подскажите че нить. Неск дней уже сижу, дрова сносил - ставил, в настройках среды ардуино уже все, по иоему, менял. Даже саму среду сносил и заново ставил. Все одно не хотит, причем китайская унка (ардуино уно) прошивается, перепрошивается как угодно и с комфортом. А с этой что!?!?!?

      • Avatar for source
        Андрей:

        Посмотри внимательно все пункты выбора платы в Инструментах

  • Avatar for source
    Александр:

    может кто подскажет. приобрёл тоже плату WeMos WiFi D1 R2 но не как на скриншотах, у меня черненькая. проблема в том что скетчем как в статье сеть сканирует, всё показывает, а пробую через другие готовые примеры подключиться, но подключение ни вкакую не идёт. в чем может быть проблема?,может быть в настройках самого роутера канал какой особенный над ставить или метод проверки подлинности?

    • Avatar for source
      DD:

      Там примеры есть как на подключение к роутеру, так и на создание точки доступа самой платой. Слишком не предметно разговаривать о потенциальном что-то, который вы пытаетесь запустить. Попробуйте на роутере WPA2, если вами запущен скетч на подключение к роутеру

  • Avatar for source
    Михаил:

    Arduino: 1.6.5 (Windows XP SP2 rus). При попытке прошить хотя бы БЛИНК на встроенный светодиод выдает следующую ошибку:
    --------------------------------
    xtensa-lx106-elf-g++: error: И: No such file or directory
    xtensa-lx106-elf-g++: error: А\LOCALS~1\Temp\build4095159779535408461.tmp/core: No such file or directory
    xtensa-lx106-elf-g++: error: И: No such file or directory
    xtensa-lx106-elf-g++: error: А\LOCALS~1\Temp\build4095159779535408461.tmp\sketch_mar16a.cpp: No such file or directory
    xtensa-lx106-elf-g++: error: И: No such file or directory
    xtensa-lx106-elf-g++: error: А\LOCALS~1\Temp\build4095159779535408461.tmp\sketch_mar16a.cpp.o: No such file or directory

    Ошибка компиляции.
    --------------------------------
    При этом на самом деле папка/файл
    build4095159779535408461.tmp\sketch_mar16a.cpp
    на диске есть,
    build4095159779535408461.tmp\sketch_mar16a.cpp.o
    на диске НЕТ.

    Модули разные, источники модулей разные, проблема одна. Весь интернет перерыл, но ответа не нашел. Ставил и IDE 1.6.7, и делал портативную - одна хрень. Но при этом на ком-порте и как Wi-Fi устройство в сети и LoLin, и WeMos D1 mini видны без проблем. В чем может быть дело?

  • Avatar for source
    Михаил:

    Сам спросил - сам отвечу (OS Win XP):
    переопределите пути к файлам Tmp и Temp, чтобы в путях не было кириллицы и пробелов (я просто адресовал их на диск С:). Делается это в "ПУСК" -> НАСТРОЙКИ -> ПАНЕЛЬ УПРАВЛЕНИЯ -> СИСТЕМА -> ДОПОЛНИТЕЛЬНО -> ПЕРЕМЕННЫЕ СРЕДЫ.
    Там и меняете.
    Спасибо тем, кто мне помог.

  • Avatar for source
    Oleg:

    Что-то не так. Arduino: 1.8.3 (Windows XP), Плата:"WeMos D1(Retired), 80 MHz, 921600, 4M (3M SPIFFS)"

    In file included from c:\documents and settings\админ\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\string:41:0,

    from c:\documents and settings\админ\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\stdexcept:39,

    from c:\documents and settings\админ\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\array:38,

    from c:\documents and settings\админ\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\tuple:39,

    from c:\documents and settings\админ\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\functional:55,

    from C:\Documents and Settings\Админ\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiGeneric.h:27,

    from C:\Documents and Settings\Админ\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiSTA.h:28,

    from C:\Documents and Settings\Админ\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFi.h:34,

    from C:\Documents and Settings\РђРґРјРёРЅ\Local Settings\Application Data\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\examples\WiFiScan\WiFiScan.ino:6:

    c:\documents and settings\админ\local settings\application data\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2\bits\allocator.h:46:75: fatal error: bits/c++allocator.h: No such file or directory

    #include // Define the base class to std::allocator.

    ^

    compilation terminated.

    exit status 1
    Ошибка компиляции для платы WeMos D1(Retired).

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    "Показать подробный вывод во время компиляции"

    • Avatar for source
      Shurovik:

      Возможно ,программе не нравится кириллица в имени пути... Рекомендую использовать латиницу в качестве логина.

  • Avatar for source
    Leron:

    не могу понять почему выбивает ошибку компиляции /**
    * The MIT License (MIT)
    *
    * Copyright (c) 2018 by ThingPulse, Daniel Eichhorn
    *
    * Permission is hereby granted, free of charge, to any person obtaining a copy
    * of this software and associated documentation files (the "Software"), to deal
    * in the Software without restriction, including without limitation the rights
    * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    * copies of the Software, and to permit persons to whom the Software is
    * furnished to do so, subject to the following conditions:
    *
    * The above copyright notice and this permission notice shall be included in all
    * copies or substantial portions of the Software.
    *
    * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    * SOFTWARE.
    *
    * ThingPulse invests considerable time and money to develop these open source libraries.
    * Please support us by buying our products (and not the clones) from
    * https://thingpulse.com
    *
    */

    #include

    // Include the correct display library
    // For a connection via I2C using Wire include
    #include // Only needed for Arduino 1.6.5 and earlier
    #include "SSD1306Wire.h" // legacy include: `#include "SSD1306.h"`
    // or #include "SH1106Wire.h", legacy include: `#include "SH1106.h"`
    // For a connection via I2C using brzo_i2c (must be installed) include
    // #include // Only needed for Arduino 1.6.5 and earlier
    // #include "SSD1306Brzo.h"
    // #include "SH1106Brzo.h"
    // For a connection via SPI include
    // #include // Only needed for Arduino 1.6.5 and earlier
    // #include "SSD1306Spi.h"
    // #include "SH1106SPi.h"

    // Include the UI lib
    #include "OLEDDisplayUi.h"

    // Include custom images
    #include "images.h"

    // Use the corresponding display class:

    // Initialize the OLED display using SPI
    // D5 -> CLK
    // D7 -> MOSI (DOUT)
    // D0 -> RES
    // D2 -> DC
    // D8 -> CS
    // SSD1306Spi display(D0, D2, D8);
    // or
    // SH1106Spi display(D0, D2);

    // Initialize the OLED display using brzo_i2c
    // D3 -> SDA
    // D5 -> SCL
    // SSD1306Brzo display(0x3c, D3, D5);
    // or
    // SH1106Brzo display(0x3c, D3, D5);

    // Initialize the OLED display using Wire library
    SSD1306Wire display(0x3c, D3, D5);
    // SH1106 display(0x3c, D3, D5);

    OLEDDisplayUi ui ( &display );

    int screenW = 128;
    int screenH = 64;
    int clockCenterX = screenW/2;
    int clockCenterY = ((screenH-16)/2)+16; // top yellow part is 16 px height
    int clockRadius = 23;

    // utility function for digital clock display: prints leading 0
    String twoDigits(int digits){
    if(digits drawCircle(clockCenterX + x, clockCenterY + y, clockRadius);
    display->drawCircle(clockCenterX + x, clockCenterY + y, 2);
    //
    //hour ticks
    for( int z=0; z drawLine( x2 + x , y2 + y , x3 + x , y3 + y);
    }

    // display second hand
    float angle = second() * 6 ;
    angle = ( angle / 57.29577951 ) ; //Convert degrees to radians
    int x3 = ( clockCenterX + ( sin(angle) * ( clockRadius - ( clockRadius / 5 ) ) ) );
    int y3 = ( clockCenterY - ( cos(angle) * ( clockRadius - ( clockRadius / 5 ) ) ) );
    display->drawLine( clockCenterX + x , clockCenterY + y , x3 + x , y3 + y);
    //
    // display minute hand
    angle = minute() * 6 ;
    angle = ( angle / 57.29577951 ) ; //Convert degrees to radians
    x3 = ( clockCenterX + ( sin(angle) * ( clockRadius - ( clockRadius / 4 ) ) ) );
    y3 = ( clockCenterY - ( cos(angle) * ( clockRadius - ( clockRadius / 4 ) ) ) );
    display->drawLine( clockCenterX + x , clockCenterY + y , x3 + x , y3 + y);
    //
    // display hour hand
    angle = hour() * 30 + int( ( minute() / 12 ) * 6 ) ;
    angle = ( angle / 57.29577951 ) ; //Convert degrees to radians
    x3 = ( clockCenterX + ( sin(angle) * ( clockRadius - ( clockRadius / 2 ) ) ) );
    y3 = ( clockCenterY - ( cos(angle) * ( clockRadius - ( clockRadius / 2 ) ) ) );
    display->drawLine( clockCenterX + x , clockCenterY + y , x3 + x , y3 + y);
    }

    void digitalClockFrame(OLEDDisplay *display, OLEDDisplayUiState* state, int16_t x, int16_t y) {
    String timenow = String(hour())+":"+twoDigits(minute())+":"+twoDigits(second());
    display->setTextAlignment(TEXT_ALIGN_CENTER);
    display->setFont(ArialMT_Plain_24);
    display->drawString(clockCenterX + x , clockCenterY + y, timenow );
    }

    // This array keeps function pointers to all frames
    // frames are the single views that slide in
    FrameCallback frames[] = { analogClockFrame, digitalClockFrame };

    // how many frames are there?
    int frameCount = 2;

    // Overlays are statically drawn on top of a frame eg. a clock
    OverlayCallback overlays[] = { clockOverlay };
    int overlaysCount = 1;

    void setup() {
    Serial.begin(9600);
    Serial.println();

    // The ESP is capable of rendering 60fps in 80Mhz mode
    // but that won't give you much time for anything else
    // run it in 160Mhz mode or just set it to 30 fps
    ui.setTargetFPS(60);

    // Customize the active and inactive symbol
    ui.setActiveSymbol(activeSymbol);
    ui.setInactiveSymbol(inactiveSymbol);

    // You can change this to
    // TOP, LEFT, BOTTOM, RIGHT
    ui.setIndicatorPosition(TOP);

    // Defines where the first frame is located in the bar.
    ui.setIndicatorDirection(LEFT_RIGHT);

    // You can change the transition that is used
    // SLIDE_LEFT, SLIDE_RIGHT, SLIDE_UP, SLIDE_DOWN
    ui.setFrameAnimation(SLIDE_LEFT);

    // Add frames
    ui.setFrames(frames, frameCount);

    // Add overlays
    ui.setOverlays(overlays, overlaysCount);

    // Initialising the UI will init the display too.
    ui.init();

    display.flipScreenVertically();

    unsigned long secsSinceStart = millis();
    // Unix time starts on Jan 1 1970. In seconds, that's 2208988800:
    const unsigned long seventyYears = 2208988800UL;
    // subtract seventy years:
    unsigned long epoch = secsSinceStart - seventyYears * SECS_PER_HOUR;
    setTime(epoch);

    }

    void loop() {
    int remainingTimeBudget = ui.update();

    if (remainingTimeBudget > 0) {
    // You can do some work here
    // Don't do stuff if you are below your
    // time budget.
    delay(remainingTimeBudget);

    }

    }

  • Avatar for source
    GrafBorisfen:

    и кто мне - ардуиновскому новичку покажет скетч для WIFI осцилографа на базе 8266??? Заранееблагодарен!

Добавить комментарий

arrow_upward