Project DescriptionA library for Microsoft Robotics Developer Studio adds DSS support for arduino-based microcontrollers.
Проект основан русскоязычным разработчиком, поэтому основная часть информации приводится на русском языке.
Проект содержит библиотеки для Microsoft Robitics Developer Studio. Разрабатывались и тестировались на MRDS 4 Beta 2 (актуально для 17.01.2012), работа на ранних версиях не гарантируется.
Основной библиотекой является Arduino. Поместив её на диаграмму VPL, можно настроить параметры подключения к микроконтроллеру Arduino (на 17.01.2012 работает подключение через COM-порты, TCPIP не поддерживается).
Для SerialPort подключения можно задать - номер COM-порта, скорость обмена данными (57600 по-умолчанию), указать состояния цифровых портов.
Взаимодействие с микроконтроллером осуществляется по протоколу Firmata (
http://firmata.org) на основе модифицированного скетча OldStandardFirmata. В решение включен проект Firmata (требуется расширение Visual Micro(
http://www.visualmicro.com) для открытия проекта), можно использовать только файл Firmata.pde из этого проекта для загрузки его в микроконтроллер через Arduino IDE.
В решение (на 17.01.2012) включены проекты ArduinoGenericDistanceSensor, ArduinoGenericMagneticFieldSensor, ArduinoDashboard.
ArduinoGenericDistanceSensor и ArduinoGenericMagneticFieldSensor предназначены для работы с датчиками расстояния. В проекте ArduinoGenericDistanceSensor имеется класс для работы с ИК датчиком расстояния Sharp. В проект ArduinoGenericMagneticFieldSensor включен пустой класс для работы с датчиком DFRobot Magnetic Field Sensor (возвращает нулевые значения).
ArduinoGenericDistanceSensor и ArduinoGenericMagneticFieldSensor требуют указать в качестве Partner в "Set Initial Configuration" сервис Arduino, который должен быть размещен на диаграмме.
ArduinoDashboard представляет собой форму для отображения реальных данных, получаемых датчиками расстояния, магнитного поля и ориентации (сервис в разработке). Он требует указать в качестве Partner в "Set Initial Configuration" сервисы ArduinoGenericDistanceSensor и ArduinoGenericMagneticFieldSensor для автоматического отображения их данных. Если для этих сервис в initial configuration выставлена опция Simulation, то ArduinoDashboard может имитировать поступление аналоговых данных на цифровые входы микроконтроллера Arduino при перемещении ползунка на форме.
Сервис работоспособен и проверялся в работе на платформе Arduino Uno с датчиком расстояния Sharp GP2Y0A21YK0F при подключении через usb-кабель.
Возможности, планируемые по мере разработки:
1. Сервисы для работы с датчиками ориентации
2. Сервис для работы с сервоприводами.
3. Организация взаимодействия по TCP/IP протоколу (Необходим WiFi-Shield, либо два модуля Xbee для установки на PC и Arduino).