Фирма через Bluetooth на Arduino?

У меня Firmata отлично работает на Arduino Uno, обмениваясь данными по USB через Processing.

Я хочу избавиться от кабеля и запустить соединение через транспорт Bluetooth (с модулем BlueSMIRF). Мне неясно, что мне нужно сделать с Firmata, чтобы заставить его использовать модуль BT, а не (неподключенный) интерфейс USB-кабеля. В частности, мне нужно взломать Firmata, чтобы добавить код инициализации, который

  1. специфично для используемого модуля BT, или
  2. в общем, нужно сказать Firmata использовать порт, отличный от USB-кабеля?

Спасибо

D

4 ответа

Решение

Я не очень хорош в Firmata, но, как я знаю, Firmata (на arduino) использует 'Serial' (pin 0 и 1, также известный как TX,RX) для связи с хостом. Итак, если вы хотите использовать модуль BT для замены USB-кабеля на Arduino, взломайте Firmata, чтобы использовать другие контакты, другие подключите BT к контактам 0 и 1.

Вы должны загрузить стандартные фирмы с измененной скоростью передачи данных до 9600 внутри файла ino (или проверить с другой скоростью), а затем подключить BTooth TX>Rx(uno RX) и bt RX>Tx(uno TX), как сказано в предыдущем пост, тестирование его с ArduinoCommander работал как шарм!Arduino uno rx tx - это pin0 и pin 1. Также он питается не от USB-ПК, а от внешнего источника, так как BT может быть включен, в то время как на USB может что-то испортить (в общем, отсоедините землю из модуля BT при загрузке эскизов).

Просто подключите Bluetooth к контакту Rx Tx и загрузите те же стандартные фирмы. Затем передайте команду через Bluetooth, который вы передавали через USB-кабель.... это будет работать.

Все, что вам нужно сделать, это убедиться, что USB подключен только тогда, когда вы загружаете свои эскизы в arduino, а затем подключите BlueSMIRF, когда вы будете готовы фактически запустить код Arduino. Таким образом, они оба будут использовать аппаратный последовательный порт по умолчанию, и вам не придется изменять какой-либо код.

Вы можете попробовать использовать SoftwareSerial.h в Arduino для эмуляции другого последовательного порта, но я обнаружил, что это проблематично.

Другие вопросы по тегам