Сбросьте HC-05 из скетча Arduino

У меня есть Bluetooth-модуль HC-05, подключенный к Arduino Mega; модуль соединен с Raspberry Pi и получает данные через программу python; примерно одна отправка и одно получение в секунду около 35 байт.

Когда я впервые включаю Arduino / HC-05, он быстро мигает, а затем, после сопряжения, мигает два раза в секунду, указывая на успешное сопряжение & коммуникация. Все хорошо; данные идут. Периодически (5 минут? 3 часа?) & неожиданно заканчивается общение; Я все еще пытаюсь устранить эту проблему; код Python в RPi сообщает о бесполезной ошибке OSError: [Errno 5] Ошибка ввода/вывода в методе available() в pySerialTransfer библиотека; хотя я приветствую мысли по этому поводу, я понимаю, что этот вопрос не для этого форума.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pi/.local/lib/python3.7/site-packages/pySerialTransfer/pySerialTransfer.py", line 416, in available
    if self.connection.in_waiting:
  File "/home/pi/.local/lib/python3.7/site-packages/serial/serialposix.py", line 467, in in_waiting
    s = fcntl.ioctl(self.fd, TIOCINQ, TIOCM_zero_str)
OSError: [Errno 5] Input/output error

Модуль HC-05 продолжает мигать, как будто он подключен, хотя это не так, и даже если я перезапущу программу python, я не смогу выполнить ремонт с помощью HC-05. Единственный способ повторно подключиться к HC-05, который я могу найти, — это подать питание на Arduino / HC-05; тогда я смогу снова подключиться.

Так вот вопрос: можно ли сбросить HC-05 из скетча Arduino? Я понимаю, что могу подключить VCC к цифровому контакту, чтобы выполнить полный цикл питания на HC-05, но я считаю, что HC-05 потребляет внешний предел безопасного тока для Arduino (40 мА); Я мог бы использовать реле для отключения, но мне интересно, есть ли более чистый способ с меньшим количеством движущихся частей, или это действительно лучший способ?

Спасибо за любые советы!

, 👍0


1 ответ


Лучший ответ:

0

Вы можете использовать полевой МОП-транзистор логического уровня с низким значением RDSon (например, IRLZ44) для переключения питания HC-05 и использовать цифровой вывод для управления им.

,

Спасибо - я заказал несколько из них и попробую!, @David W