Для разработки устройств без Wi-Fi обычно используют платы Arduino Uno и Arduino Nano (точнее, в основном, их китайские клоны), но из-за кризиса электроники они значительно подорожали, зато платы D1 mini с Wi-Fi по-прежнему стоят 150 рублей и в большинстве случаев их можно использовать вместо Arduino.
Плата D1 mini построена на чипе ESP8266. Она подключается к компьютеру или источнику питания через разъём MicroUSB, на ней есть выводы питания 5 и 3.3 В, 11 цифровых входов/выходов и 1 аналоговый вход. Для большинства проектов этого вполне достаточно.
Чтобы использовать D1 mini в среде Arduino нужно зайти в «файл-настройки» и в поле «Дополнительные ссылки для Менеджера плат» вставить адрес http://arduino.esp8266.com/stable/package_esp8266com_index.json .
После этого в конце списка плат появятся несколько новых моделей, из которых нужно выбрать «LOLIN(WEMOS) D1 R2 & mini».
Большинство проектов и библиотек работают на D1 mini точно так же, как на обычных платах Arduino.
Написанные на плате D1 mini названия выводов отличаются от Arduino. Устройства с интерфейсом I2C подключаются к выводам D1 (SCL) и D2 (SDA). Устройства с интерфейсом SPI к выводам D5 (SCK), D6 (MISO или SDO), D7 (MOSI или SDA), D8 (SS или СS).
На плате есть синий светодиод, управлять которым можно отдельным пином «LED_BUILTIN» (0 — горит).
Этот скетч от AlexGyver мигает встроенным светодиодом:
void loop() {
digitalWrite(LED_BUILTIN, 0);
delay(1000);
digitalWrite(LED_BUILTIN, 1);
delay(300);
}
Как выяснилось, по умолчанию модуль Wi-Fi в D1 mini включен и потребляет энергию. Плата с простейшим скетчем, раз в секунду выводящим один символ в последовательный порт, потребляет около 80 мА.
Чтобы отключить Wi-Fi, нужно добавить в начале строку подключения библиотеки ESP8266WiFi, а в секции «void setup()» две строки, отключающие Wi-Fi:
void setup() {
WiFi.mode(WIFI_OFF);
WiFi.forceSleepBegin();
}
После этого потребление платы с тем же скетчем уменьшается почти втрое до 28 мА.
Обнаружилось, что у разных китайских клонов D1 mini потребление отличается. Так, плата Doiting потребляла 80/28 мА, а плата неизвестного производителя с надписью на крышке «ESP8266MOD» 72/19 мА.
Такую плату с низким потреблением я заказывал тут (предпоследний вариант — D1 mini).
Сейчас ещё в пути платы отсюда (первый вариант — D1 mini).
Для сравнения, в этих же магазинах nano сейчас стоит ~300 рублей + 50 рублей доставка, вот она в TENSTAR ROBOT GREAT WALL и в SAMIORE FEIYANG.
Uno стоит 340 рублей + 150 рублей доставка в первом магазине и 360 + 150 рублей доставка во втором.
P.S. Спасибо Станиславу Грицинову за помощь с отключением Wi-Fi.
© 2021, Алексей Надёжин
Десять лет я каждый день пишу о технике, скидках, интересных местах и событиях. Читайте мой блог на сайте ammo1.ru, в ЖЖ, Дзен, МирТесен, Telegram.
Мои проекты:
Lamptest.ru. Тестирую светодиодные лампы и помогаю разобраться, какие из них хорошие, а какие не очень.
Elerus.ru. Собираю информацию об отечественных электронных устройствах для личного использования и делюсь ей.
Вы можете связаться со мной в Телеграм @ammo1 и по почте ammo1@mail.ru.
Этот пост в моём блоге LiveJournal: D1 mini вместо Arduino