Вопрос по Bluetooth
- Войдите на сайт для отправки комментариев
Доброго дня всем.
Исходные данные Android, Arduino, Bluetooth HC-05
Моя задача со смартфона передавать и принимать данные от Arduino через BLUETOOTH
Подскажите пожалуйста по Bluetooth.
1) По подключению. На некоторых сайтах на картинках контакты RX TX от модуля подключаются к D3 D2 на ардуино. Как правильно? Подключать крест на крест RX TX у HC-05 и Arduino? Или можно подключать к цифровым пинам и в коде сделать
int gRxPin = 2; int gTxPin = 3; SoftwareSerial BTSerial(gRxPin, gTxPin);
2) Если можно переназначить RX TX на цифровые пины, чем это может отразиться в будущем. Что будет с настоящими RX TX у Ардуино? Они просто будут незадейстованными, или каким то образом изменится работа ARDUINO
3) На какой скорости подключать HC-05 к ардуино? 9600 или 38400. На разных ресурсах по разному
4) Как обращаться к HC-05 из кода? Через Serial? Или есть другой способ? Serial это наверное RX TX и есть?
5) Есть вот такой код
#include <SoftwareSerial.h> int gRxPin = 10; int gTxPin = 11; SoftwareSerial BTSerial(gRxPin, gTxPin); void setup() { BTSerial.begin(38400); Serial.begin(9600); }
Как этот код понять? Я предполагаю, что RX TX в коде мы переназначаем на цифровые пины (как в 1-м вопросе).
Только делаем этот Serial порт программным.
Если это так, тогда вопрос, если я подключу к пинам 10 и 11 свою HC-05, то Arduino будет через BTSerial обращаться на скорости 38400 с HC-05?
А тогда Serial.begin(9600); что считывает в данном примере?
А тогда Serial.begin(9600); что считывает в данном примере?
Ничего не считывает.
RTFM!
У ардуино (неплохо кстати было бы сказать, какая у Вас модель!) есть аппаратный последовательный порт (один или несколько). Например у Arduino Uno он один и живет на выводах 0 (RX) и 1 (TX). Всегда. И они не меняются, не переназначаются.
Иногда удобно, чтобы устройство имело ещё один последовательный порт. Библиотека SoftwareSerial как раз и позволяет организовать программный последовательный порт на выбранных пинах - в вопросе в п.1 это 2 и 3 или в п.5 это 10 и 11. Она (библиотека) ни коим образом не трогает, не меняет, не переназначает пины аппаратного последовательного порта. Если конечно не додуматься использовать для программного порта пины 0 и 1. Но так скорее всего просто ничего работать не будет.
Итого в п.5 имеются два последовательных порта. Аппаратный на пинах 0 и 1, к нему обращаются по имени "Serial" и программный на пинах 10 и 11 который назвали "BTSerial".