2012-06-15 2 views
2

Я установил Java-последовательные библиотеки RXTX и получил правильный настрой Arduino. У меня даже есть пример кода и работает, но я не могу понять, как получить доступ к различным контактам Arduino, чтобы, например, включить светодиод. Как я могу получить доступ к выводам с помощью OutputStream или любым другим способом?Включите светодиод на Arduino с Java

Должен ли я отправить что-то особенное в поток, чтобы рассказать об определенном значке?

ответ

0

Нет, сам Arduino обращается к своим собственным контактам. Вы используете Java для отправки последовательных данных в Arduino, а затем решает, какие штыки/коды использовать.

Так что в вашем Arduino код, который вы начинаете с:

Serial.begin(9600); 
... 
... 

И сделать последовательное соединение с Java, вы можете использовать интерфейс SerialPortEventListener.

1

Я не уверен, насколько читаем мой код или как легко его можно установить, но я написал небольшой проект, чтобы поговорить с Arduino через RXTX. Вы можете увидеть мой код здесь:

https://github.com/p90puma/SerialToIR

Это должно дать вам некоторые идеи.

Эти три файла должны дать вам все, что вам нужно:

1

Из коробке Arduino необеспечить любой способ управления портами ввода/вывода из последовательной связи.

Вам необходимо будет получить или написать программу, которую работает на Arduino и которая прослушивает команды из последовательного порта для управления выводами ввода-вывода. Поскольку у Arduino только небольшой микроконтроллер, вы, вероятно, не сможете записать эту программу на Java.

Вот пример программы, которая запускается на Arduino и считывает числа, указанные в десятичных символах ASCII по последовательной линии, а затем использует их для управления светодиодом RGB. Вы должны использовать этот пример, чтобы понять, как приблизиться к проблеме Arduino, и ваш код Java RXTX может отправлять целые числа, чтобы управлять этим, когда он работает.

http://arduino.cc/en/Tutorial/ReadASCIIString

0

Вся информация в предыдущих ответов является правильным. Arduino сам по себе не разговаривает с компьютером под управлением Java и ничего не делает. Вам нужно поставить код на Arduino, который будет разговаривать с вашим компьютером с каким-то протоколом.

Оказалось, что существует стандартный набор кода для этого. Он называется Firmata. См. http://firmata.org/wiki/Main_Page для домашней страницы Firmata. См. http://playground.arduino.cc/Interfacing/Processing для обсуждения Firmata и Processing.

Обработка - это среда программирования ПК/Mac/Linux на основе Java.Проекты Processing и Arduino тесно связаны.

Попробуйте различные примеры. Поместите обработку и IDE Arduino на свой компьютер. Загрузите Firmata на свой Arduino и используйте примеры Processing/Firmata, чтобы попробовать все.

Смежные вопросы