Arduino Unoを購入したばかりで、現在点滅するLEDを作ろうとしています。どうすればこれができるのだろうと思っていたのですが、Arduino Playground を見て、入力を取得するプログラムを見つけました。Arduinoに出力する必要があります。Arduino を必要とする別のプログラムが既にあるため、Java 以外を使用することはできません。アイデアを残してください。
質問する
14481 次
1 に答える
0
編集: Javaでこれをやりたいようです。
OutputStream には、コンピューターから Arduino にデータを送信するための 3 つの異なる書き込みメソッドが付属しています。上記の例では、 を使用
output.write(String)
してデータを送信できますoutput.write("Hello Arduino!")
。
Java を使用して Arduino に書き込もうとしている場合は、これが答えです。
http://arduino.cc/playground/Interfacing/Java
編集:Java以外のものを使用したい場合は、ここに行きます:
求めなさい、そうすればあなたは受け取るでしょう。これは、シリアルをサポートする任意のプログラミング言語で行うことができます。
確かに言語ごとに他の方法がありますが、Google マシンで 5 分で見つけたいくつかの方法を次に示します。
- Perl -デバイス::シリアルポート
- Python - Android Playground経由の pySerial
- C++ - LibSerial (以下で使用)
注:厄介なシリアルの問題の自動リセットに注意してください。詳細については、以前の回答を参照してください。
これが私のC++コードです(見苦しいですが動作します)
#include <SerialStream.h>
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
class SerialComm {
LibSerial::SerialStream myss;
public:
SerialComm(int argc, char** argv) {
myss = new LibSerial::SerialStream("/dev/ttyS0", ios_base::out);
myss.SetBaudRate(LibSerial::SerialStreamBuf::BAUD_57600);
myss.SetCharSize(LibSerial::SerialStreamBuf::CHAR_SIZE_8);
myss.SetFlowControl(LibSerial::SerialStreamBuf::FLOW_CONTROL_NONE);
myss.SetParity(LibSerial::SerialStreamBuf::PARITY_NONE);
myss.SetNumOfStopBits(1);
const int Dsize = 2;
char buffer[1];
buffer[0] = 125; //0b00000001;
buffer[1] = '\0';
bitset(buffer[0]);
//myss << buffer;
myss.write(buffer,1);
//myss.Close();
}
}
于 2012-07-05T15:26:05.563 に答える