КОРЗИНА
магазина
8 (499) 500-14-56 | ПН. - ПТ. 12:00-18:00
ЛЕСНОРЯДСКИЙ ПЕРЕУЛОК, 18С2, БЦ "ДМ-ПРЕСС"

Платформа Piranha ESP32 v2

Исходники изображение:

Общие сведения

Используйте платформу Piranha ESP32 v2 на модуле Espressif ESP32-S для создания устройств на базе интернета вещей. Например, плата станет отличным контролером умного дома, веб-сервером для отображения показаний датчиков или мозгом робота управляемого по Wi-Fi или Bluetooth.

Предыдущие версии

Платформа Piranha ESP32 v2 пришла на замену v1. Во второй версии мы внесли следующие изменения:

  • Аналоговые входы могут работать параллельно с Wi-Fi
  • Крепкий и надёжный micro-USB порт
  • Разъём для подключение внешней антенны.

Видеообзор

Подробности

Платформа для разработки Piranha ESP32 v2 выполнена на модуле ESP32-S c чипом ESP32-D0WDQ6. Кристалл SoC ESP32-D0WDQ6 работает на тактовой частоте до 240 МГц с поддержкой беспроводных технологий Wi-Fi 802.11 b/g/n и Bluetooth v4.2 с BLE.

Piranha ESP32 v2 Info 1

На плате расположена гребёнка PLS в стиле G-V-S для подключения внешних модулей и сенсоров:

  • Всего контактов общего назначения: 17
  • Контакты ввода-вывода GPIO: 15
  • Контакты ввода GPI: 2
  • Контакты с ШИМ: 15 с разрядностью до 16 бит (по умолчанию 8 бит)
  • Контакты с АЦП: 6 с разрядностью до 16 бит (по умолчанию 14 бит)
  • Контакты с ЦАП: 2 с разрядностью 8 бит
  • Возможность сконфигурировать интерфейсы: 3×UART, 3×SPI, 2×I²C и 2×I²S

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

Все подробности по контактам и интерфейсам платформы читайте в текущей статье в разделе распиновка.

Подключение и настройка

  1. Подключите платформу Piranha ESP32 v2 к компьютеру через кабель micro-USB. При успешном подключении должен загореться индикаторный светодиод PWR.
  2. Piranha ESP32 v2 Wiring 1
  3. Скачайте и установите среду программирования Arduino IDE.
  4. По умолчанию IDE настроена только на AVR-платы. Для работы с платформой Piranha ESP32 v2 — добавьте в менеджере плат поддержку платформ ESP32 Arduino.
  5. Если при подключении контроллера Piranha ESP32 v2 в Arduino IDE не появляется новый COM-порт, установите драйвер USB-UART преобразователя для Windows 7 или Windows 10.
  6. На этом настройка закончена, смело переходите к примерам работы.

Примеры работы

Маячок

Для начала сделаем привычный «Hello, world» в DIY-мире — соберем маячок.

Что понадобится

Схема устройства

Подключите светодиод к Piranha ESP32 v2 к сигнальному пину 33 через трёхпроводной шлейф.

Piranha ESP32 v2 Example 1

Исходный код

Прошейте платформу Piranha ESP32 v2 кодом ниже.

// GPIO пин, к которому подключен светодиод
constexpr int PIN_LED = 33;

void setup() {
  // Настраиваем пин со светодиодом в режим выхода
  pinMode(PIN_LED, OUTPUT);
}

void loop() {
  // Зажигаем светодиод
  digitalWrite(PIN_LED, HIGH);
  // Ждём 1000 мс
  delay(1000);
  // Гасим светодиод
  digitalWrite(PIN_LED, LOW);
  // Ждём 1000 мс
  delay(1000);
}

Результат

После прошивки, светодиод начнёт мигать раз в секунду.

Piranha ESP32 v2 Example 2

Интернет часы

Мигать светодиодом можно на любой ардуинке. Давайте соберём что то связано с IoT, например интернет часы.

Что понадобится

Схема устройства

Подключите LED-индикатор Flash-I²C к Piranha ESP32 v2 к сигнальным пинам I²C — SDA и SCL через четырёхпроводной шлейф.

Piranha ESP32 v2 Example 3

Исходный код

Прошейте платформу Piranha ESP32 v2 кодом ниже.

// Подключаем библиотеки для Piranha ESP32
#include <WiFi.h>
#include "time.h"
#include "sntp.h"
// Подключаем библиотеку для LED-индикатора Flash-I²C
#include <iarduino_I2C_4LED.h>

// Создаём объект для работы с LED-индикатором
// Передаём I²C по умолчанию 0x09
iarduino_I2C_4LED display4LED(0x09);

// Задаём точку доступа Wi-Fi сети и пароль
const char* ssid       = "your ssid";
const char* password   = "your password";

// Задаём сервера для получения времени
const char* ntpServer1 = "pool.ntp.org";
const char* ntpServer2 = "time.nist.gov";

// Устанавливаем временную зону TZ_Europe_Moscow
// Найти вашу временную зону можно тут:
// https://github.com/esp8266/Arduino/blob/master/cores/esp8266/TZ.h
const char* time_zone = "MSK-3"; 

void setup() {
  // Открываем Serial-порт
  Serial.begin(9600);
  
  // Инициализируем четырехразрядный LED-индикатор
  display4LED.begin();
  
  // Подключаемся к Wi-Fi сети
  Serial.printf("Connecting to %s ", ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.print(".");
  }
  // Выдаём сообщение об успешном подключении
  Serial.println("\nСonnected");
  
  // Устанавливаем временную зону
  configTzTime(time_zone, ntpServer1, ntpServer2);
}

void loop() {
  // Создаём объект для получения доступа к данным времени
  struct tm timeinfo;
  // Пытаемся обновить данные времени
  if(!getLocalTime(&timeinfo)){
    Serial.println("No time available...");
    return;
  }
  // Получаем текущее время в часах и минутах
  int hour = timeinfo.tm_hour;
  int minute = timeinfo.tm_min;
  // Выводим время на LED-индикатор
  display4LED.print(hour, minute, TIME);
  // Дублируем вывод времени в Serial-порт
  Serial.printf("Time now %d:%d\n", hour, minute);
  // Ждём 1 секунду
  delay(1000);
}

Результат

После прошивки, ESP32 выйдет в сеть → запросит время у сервера по NTP → отразит его на четырехразрядном LED-индикаторе. Для отладки программы время также дублируется в консоль.

Piranha ESP32 v2 Example 4

Элементы платы

Piranha ESP32 v2 Annotation

Модуль ESP32-S

Платформа для разработки Piranha ESP32 v2 выполнена на модуле ESP32-S.

Piranha ESP32 v2 Annotation 1

Под металлической крышкой модуля ESP32-S расположена система на кристалле SoC ESP32-D0WDQ6 с тактовой частотой до 240 МГц, Flash-память на 4 МБ и другая электронная обвязка. Также в кристалл ESP32-D0WDQ6 встроен датчик температуры, датчик Холла и контроллер сенсорного ввода. Поддерживаются беспроводные стандарты связи Wi-Fi 802.11 b/g/n (2,4 ГГц) и протокол Bluetooth v4.2 с BLE.

Преобразователь USB-UART CH340

Преобразователь USB-UART на чипе CH340 обеспечивает связь модуля ESP-12S с USB-портом компьютера. При подключении к ПК — Piranha ESP32 v2 определяется как виртуальный COM-порт.

Если при подключении контроллера Piranha ESP32 v2 в Arduino IDE не появляется новый COM-порт, установите драйвер USB-UART преобразователя для Windows 7 или Windows 10.

Индикаторные светодиоды

Имя Цвет Назначение
IO-2 Синий Индикатор питания платформы.
PWR Зелёный Пользовательский светодиод на GPIO33 пине микроконтроллера. При задании высокого уровня светодиод загорается, при низком – гаснет.
TX Красный Мигает при прошивки и отправление данных из Piranha ESP32 v2 в USB.
RX Красный Мигает при прошивки и получение данных из USB в Piranha ESP32 v2.

Кнопка RESET

Кнопка RESET служит для ручного сброса питания — аналог кнопки RESET обычного компьютера.

Кнопка BOOT

Кнопка BOOT служит для ручного перевода модуля в режим прошивки:

  1. Зажмите кнопку BOOT;
  2. Нажмите и отпустите кнопку RESET;
  3. Отпустите кнопку BOOT.

При прошивки платформы через Arduino IDE специальная схема на плате сбрасывает микроконтроллер автоматически и никаких манипуляций с кнопкой проделывать не нужно. Однако кнопка всё же будет полезна, если вы хотите специально перевести модуль в режим прошивки или когда автоматический сброс не работает.

Порт micro-USB

Разъём micro-USB предназначен для прошивки и питания платформы Piranha ESP32 v2 по USB. Для коммуникации понадобится кабель Micro USB.

Преобразователь питания

Понижающий преобразователь питания AMS1117-3.3 с выходом 3,3 вольта, обеспечивает питание модуля ESP32-S. Максимальный выходной ток составляет 500 мА.

Контактная гребёнка G-V-S

На плате расположена гребёнка PLS в стиле G-V-S для подключения внешних модулей и сенсоров. Каждый контакт общего назначения подключен к электронной обвязки, которая даёт всем пинам общего назначения совместимость с 5 вольтовой логикой.

Все подробности по контактам и интерфейсам платформы читайте в текущей статье в разделе распиновка.

Контактная гребёнка I²C

На плате расположена гребёнка PLS на 4 контакта для подключения внешних модулей и сенсоров по интерфейсу I²C. Контактная гребёнка I²C, дублирует пины питания и сигналов интерфейса I²C c общей колодки G-V-S.

Все подробности по контактам и интерфейсам платформы читайте в текущей статье в разделе распиновка.

Распиновка

Piranha ESP32 v2 Pinout

Пины питания

Имя Описание
5V Пин питания с напряжением 5 вольт.
GND Пин земли.

Пины ввода-вывода

Все пины GPIO/GPI совместимы с 5 вольтовой логикой.

Категория Количество пинов Имена пинов Описание
Пины ввода-вывода GPIO 15 GPIO0, GPIO1, GPIO3, GPIO5, GPIO16–GPIO19, GPIO21–GPIO23, GPIO25, GPIO26, GPIO32 и GPIO33. Пины могут быть настроены на вход или на выход. Логический уровень выходной единицы — 3,3 В, нуля — 0 В. На вход можно подавать сигнал до 5 В.
Пины ввода GPI 2 GPI34 и GPI35. Пины могут быть настроены только на вход. На вход можно подавать сигнал до 5 В.
ШИМ / PWM 15 GPIO13, GPIO15–GPIO19, GPIO21, GPIO22, GPIO25, GPIO26, GPIO32 и GPIO33. Позволяет выводить аналоговое напряжение в виде ШИМ-сигнала из цифровых значений. Разрядность ШИМ по умолчанию установлена в 8 бит, но можно поднять до 16 бит.
АЦП / ADC 6 GPIO25, GPIO26, GPIO32, GPIO33, GPI34 и GPI36. Позволяет представить аналоговое напряжение в виде цифровом виде. Диапазон входного напряжения от 0 до 3,3 В. Можно подавать сигнал и до 5 В, однако микроконтроллер будет его воспринимать как 3,3 В. Разрядность АЦП по умолчанию установлена в 14 бит, но можно поднять до 16 бит.
ЦАП / DAC 2 GPIO25 и GPIO26. Позволяет выводить аналоговое напряжение в чистом виде. Разрядность ЦАП установлена в 8 бит и не меняется.

Каждый пин ввода-вывода GPIO платформы можно сконфигурировать на аппаратные интерфейсы: 3×UART, 3×SPI, 2×I²C и 2×I²S.

Габаритный чертёж

Piranha ESP32 v2 Dimensions

Характеристики

  • Модель: Piranha ESP32 v2
  • Интерфейс USB-UART: CH340
  • Процессор: ESP32-S
  • Стандарт Wi-Fi: 802.11 b/g/n
  • Стандарт Bluetooth: BLE v4.2 BR/EDR
  • Тактовая частота: 240 МГц
  • Flash-память: 4 МБ
  • SRAM-память: 520 КБ
  • Входное напряжение питания: 5 В
  • Напряжение логических уровней: 3,3 В с толератностью к 5 В
  • Контакты общего назначения:
    • Всего контактов: 17
    • Контакты ввода-вывода GPIO: 15
    • Контакты ввода GPI: 2
    • Контакты с ШИМ: 15 с разрядностью до 16 бит (по умолчанию 8 бит)
    • Контакты с АЦП: 6 с разрядностью до 16 бит (по умолчанию 14 бит)
    • Контакты с ЦАП: 2 с разрядностью 8 бит
    • Возможность сконфигурировать интерфейсы: 3×UART, 3×SPI, 2×I²C и 2×I²S

Полезные товары

Ресурсы

Документация




Обсуждение

Гарантии и возврат Используя сайт Вы соглашаетесь с условями