Фирма через Bluetooth на Arduino?
У меня Firmata отлично работает на Arduino Uno, обмениваясь данными по USB через Processing.
Я хочу избавиться от кабеля и запустить соединение через транспорт Bluetooth (с модулем BlueSMIRF). Мне неясно, что мне нужно сделать с Firmata, чтобы заставить его использовать модуль BT, а не (неподключенный) интерфейс USB-кабеля. В частности, мне нужно взломать Firmata, чтобы добавить код инициализации, который
- специфично для используемого модуля BT, или
- в общем, нужно сказать 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 для эмуляции другого последовательного порта, но я обнаружил, что это проблематично.