Project Description
A 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).

Last edited Jan 17, 2012 at 11:01 AM by Sellec, version 6