Итак, разработка квадрокоптера снова перешла в активную фазу. Согласно новой концепции, управлять машиной будут сразу два mbed контроллера. Первый из них должен работать с радиопередатчиком, GPS и с прочими медленными устройствам. Второй же будет осуществлять стабилизацию и маневрирование. Понятное дело, что оба контроллера должны как-то общаться между собой. Mbed имеет множество интерфейсов на борту: UART, SPI, I2C, CAN. В принципе, для связи двух контроллеров можно использовать любой из них. Я же, без определенных причини, решил остановиться на шине I2C. СоединениеПодключение по I2C сродни UART - используются только две линии. Соединяем линии SCL и SDA на обоих устройствах. Согласно спецификации интерфейса I2C, обе линии нужно потянуть к питанию +3.3В (через резисторы 2.2кОм). В противном случае интерфейс просто не будет работать. ПрограммаВ тестовой программе, один из контроллеров (ведущий) передает на второй (ведомый) строку "ping". Второй же, в ответ отправляет строку "pong". Для индикации процесса, оба контроллера пишут тексты в консоль и мигают светодиодами (LED1). Код ведущегоКод ведомого |
События >