Esp32 управляем реле по средствам bluetooth. Arduino ide
Как
управлять реле по Wi-Fi и bluetooth
уже
рассказывал.
Сегодня немного расширим
данную тему и попробуем в работе новый,
быстрый мокро
контроллер у которого на бору двух
ядерный
процессор, Wi-Fi и bluetooth.
Да!
Вы правильно
поняли,
сегодня будем подключать реле к ESP32.
Посмотрим на сколько данный МК быстрее
стандартных
bluetooth модулей: HC-05 и HC-06.
Итак
приступим. Для начало подключим все вот
по такой схеме.
Подключил
специально на пин D2, чтобы отследить
роботу. Так как на данный пин подключен
светодиод платы. Он светит синим цветом
когда реле выключается, это видно на
видео.
Код
для ESP32 и управление через bluetooth.
#include "BluetoothSerial.h" // библиотека
BluetoothSerial ESP_BT; // Объект для Bluetooth
int incoming; // значение с Bluetooth
const int relayPin = 2; // пин подключения реле
void setup() {
ESP_BT.begin("Portal-PK"); // Имя Bluetooth
pinMode (relayPin, OUTPUT);// подключаем реле
}
void loop() {
if (ESP_BT.available()) // Если получили по Bluetooth
{
incoming = ESP_BT.read(); // Считываем информацию
if (incoming == 48)
{
digitalWrite(relayPin, LOW); // реле включили
ESP_BT.println("Relay On — Portal-Pk.ru");
}
if (incoming == 49)
{
digitalWrite(relayPin, HIGH); // реле выключиди
ESP_BT.println("Relay Off — Portal-Pk.ru");
}
}
delay(20);
}
Код
прокомментирован и в видео объясняю с
«заиканием» каждую строчку. Если, что
то не понятно задавайте вопросы на
форуме.
Таблица
ASCII
При съемках видео
ступил. Символы выводил как число. Просто
нужно получаемую информацию из порта
получать как char. И не нужно заморачиваться
с таблицей ASCII.
#include "BluetoothSerial.h" // библиотека
BluetoothSerial ESP_BT; // Объект для Bluetooth
char incoming; // значение с Bluetooth
const int relayPin = 2; // пин подключения реле
void setup() {
ESP_BT.begin("Portal-PK"); // Имя Bluetooth
pinMode (relayPin, OUTPUT);// подключаем реле
}
void loop() {
if (ESP_BT.available()) // Если получили по Bluetooth
{
incoming = ESP_BT.read(); // Считываем информацию
if (incoming == '0')
{
digitalWrite(relayPin, LOW); // реле включили
ESP_BT.println("Relay On — Portal-Pk.ru");
}
if (incoming == '1')
{
digitalWrite(relayPin, HIGH); // реле выключиди
ESP_BT.println("Relay Off — Portal-Pk.ru");
}
}
delay(20);
}
единственный косяк - после команды bt.disconnect(); если снова подключиться то уже не выводит в терминал по команде bt.println("...."); но все остальное вроде работает. Помогает только перезагрузка esp32 (reset)
Комментарии
Войдите или Зарегистрируйтесь И Вы сможете общаться на форуме и оставлять комментарии без капчи.