Сегодня: 09:06:2025 С добрым утром!

I live ExBB and CMS Limbo!  I live ExBB and CMS Limbo!
Логин :
Пароль :
Регистрация?  Забыли пароль? 
 


 Страниц (1): [1]   

> Без описания

  Супермодератор
Отправлено: 8 июня 2017 — 16:28
ответить цитировать Post Id


 Покинул технарь
Профессионал
Сообщений: 1832
Регистрация: 12.2011

Скрещивание набирающего популярность микроконтроллера ESP32 и уже ставшей чрезвычайно популярной экосистемы Arduino является очень нужным и полезным делом для сообщества радиолюбителей. Успех платформы Arduino возник не в последнюю очередь из-за очень простого подхода к программированию, который могли быстро освоить даже далекие от электроники и программирования люди.

Теперь вслед за ESP8266 на рельсы Arduino встал самый мощный «поезд» компании Espressif – микроконтроллер ESP32. Сочетание мощности и простоты обеспечит грандиозные возможности для разработки новых интеллектуальных устройств.

Итак, для программирования ESP32 в среде Arduino IDE в первую очередь необходимо скачать репозиторий с GitHub и клонировать его в директорию hardware/espressif/esp32 в папке Arduino IDE. После этого можно начинать писать программы для ESP32 в этой среде.

Конечно, пока данный проект реализует не все возможности и функции Arduino, но основные уже доступны и работают полностью. Так, например, управлять линиями GPIO в данном случае также легко, как и у классического Arduino – просто пользуемся функциями digitalWrite() и digitalRead(). Интерфейсы SPI и I2C работают также, как и в Arduino. На данном этапе есть возможность управлять только двумя модулями SPI в ESP32. Скорость работы SPI задается через SPI_CLOCK_DIV_XX, где XX число делителя частоты. I2C (Wire) имеет только один модуль с выводами GPIO21 в качестве линии данных и GPIO22 в качестве линии тактирования. Ниже представлена распиновка ESP32 с функциональным назначением каждого вывода.



Для реализации связи по WiFi используются те же функции, что и изначально у Arduino с внешним модулем WiFi. В микроконтроллере ESP32 есть также встроенный модуль Bluetooth, но пока для него не реализованы функции должным образом.

Помимо функций изначально предназначенных для Arduino имеются специализированные функции для ядра ESP32. Их можно найти в директории /arduino-esp32/tree/master/cores/esp32/. Они представлены в файлах с «-hal-» в наименовании (esp32-hal-xxx.h и esp32-hal-xxx.c). Например, в esp32-hal-matrix.* можно найти функции, дающие легкий доступ к матрице назначения выводов.

С помощью специализированных функций можно управлять внешними устройствами, например, светодиодами или сервомоторами. Для этого имеются файлы esp32-hal-ledc.*, обеспечивающие функции для генерации ШИМ. Ниже приведен код для управления серводвигателем, в котором с помощью функции ledcSetup устанавливается первый канал ШИМ с частотой 50 Гц и разрядностью 16 бит. Функция ledcAttachPin подключает этот первый канал ШИМ к линии GPIO22. Функция ledcWrite обеспечивает на первом канале ШИМ генерацию импульсов шириной 3300 и 6500 с изменяемым в цикле на 100 шагом.


code:
#include "esp32-hal-ledc.h"
void setup() {
ledcSetup(1, 50, 16);
ledcAttachPin(22, 1);
}

void loop() {
for (int i=3300 ; i < 6500 ; i=i+100){
ledcWrite(1, i);
delay(100);
}
}


Таким образом, микроконтроллер ESP32 уже можно программировать в среде Arduino IDE. Хотя реализованы еще не все функции, но даже с помощью имеющихся вполне возможно делать какие-либо несложные устройства на базе ESP32.

Оригинал статьи здесь...
 
 Top

  Супермодератор
Отправлено: 8 июня 2017 — 16:32
ответить цитировать Post Id


 Покинул технарь
Профессионал
Сообщений: 1832
Регистрация: 12.2011

Веб-сервер на базе ESP32, настроенный с помощью IDE Arduino.

Сейчас при помощи IDE Arduino попробуем создать автономный веб-сервер, позволяющий включать/выключать два светодиода. Более подробно о ESP32 можно почитать тут.

Подготовка ESP32 при помощи IDE Arduino

Для того, чтобы программировать ESP32 при помощи среды IDE Arduino и языка программирования Arduino, понадобится специальный аддон. О том, как подготовить IDE Arduino для работы с ESP32 на Windows, читайте тут, а на Mac и Linux – тут.

Загрузка кода

В нашем проекте мы подключим два светодиода к ESP32, а затем будем управлять ими из браузера. Скопируйте текст ниже в рабочую область IDE Arduino:

Спойлер (Показать)

Внимание! Не забудьте указать данные, соответствующие вашей сети. Это делается в самом верху скетча в константах ssid и password.

Теперь подключите ESP32 к компьютеру и следуйте инструкциям ниже:
Выберите свою плату в меню Инструменты > Плата (Tools > Board). В моем случае это «ESP32 Dev Module».

Выберите COM-порт.
Чтобы перевести ESP32 в режим загрузки прошивки, зажмите кнопку BOOT и нажмите на кнопку EN. Это перезагрузит ESP32.

Нажмите кнопку «Загрузка» в IDE Arduino и подождите несколько секунд, пока код скомпилируется и загрузится на плату. Если все было сделано правильно, вы должны увидеть примерно следующее:

Перезапустите ESP32, чтобы запустить новую прошивку.

Необходимые компоненты и схема

Ниже – список компонентов, необходимых для нашего проекта:
Один модуль ESP32
Два светодиода
Одна макетная плата
Два резистора на 270 Ом
Провода-перемычки
Подключите друг к другу все эти компоненты как показано на картинке ниже:


Доступ к веб-серверу

Перезапустившись, ESP32 напечатает в мониторе порта IDE Arduino свой IP-адрес. Скорость передачи данных нужно выставить на 115200 бод.

Теперь, чтобы получить доступ к веб-серверу, вам нужно вбить в адресной строке браузера IP-адрес, который ESP32 напечатала в мониторе порта IDE Arduino. В моем случае это «192.168.1.116».


Демонстрация

Используя кнопки в браузере, попробуйте включить/выключить светодиоды, подключенные к ESP32. Вживую все это должно выглядеть примерно так:


Оригинал статьи здесь...
 
 Top

  Супермодератор
Отправлено: 27 июня 2017 — 20:07
ответить цитировать Post Id


 Покинул технарь
Профессионал
Сообщений: 1832
Регистрация: 12.2011

Примеры простеньких программ...

Подключение к WiFi

Спойлер (Показать)

В результате в отладочном мониторе можно увидеть примерно следующее

Работа со встроенными датчиками температуры и Холла

Спойлер (Показать)



Подключение OLED дисплея по I2C

Спойлер (Показать)



NTP часы на дисплее TM1637

Спойлер (Показать)

Подключаем индикатор к GPIO22 и GPIO23, ESP32 соединяется с интернетом и на дисплее получаем точное время.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Arduino - простая работа с микроконтролером »


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


> Создание ответа в тему "Программируем ESP32 в Arduino IDE"
Имя: Гость   Вы зарегистрированы?
Помощь по ExBBCodes
С помощью кодов можно очень легко применять различные виды стилей к выделенному тексту.
Смайлики

smilie smilie smilie smilie smilie
smilie smilie smilie smilie smilie
smilie smilie smilie smilie smilie

все смайлики
Опции сообщения Вы хотите разрешить смайлики в этом сообщении?
   

> Темы, похожие на тему "Программируем ESP32 в Arduino IDE"
Темы Форум Информация о теме Обновление
Как адаптировать старые библиотеки для Arduino 1.6.x
Arduino - простая работа с микроконтролером Ответов: 0
Автор темы: технарь
4 мая 2016 — 11:23
Автор: технарь
 


Powered by ExBB v1.1.180311