5

Arduino Mega 1280 を入手しましたが、Firmata 経由で通信したいと考えています。それは簡単に聞こえます...

だから私の問題:Arduino 1.0に含まれているArduino用のStandardFirmataファームウェアを使用すると、出力ピンを設定し、それらに信号を送信できます((ピン24のLEDを強調表示):

arduino.digitalWrite(24, Arduino.HIGH);

しかし、Mega からデジタル入力を読み取ることができません。私が知ったように、一部の人々は 13 以上のポートでの読み取りに問題を抱えていました。確認できません。入力信号はポート 23 から始まります。例:

if (arduino.digitalRead(25) == Arduino.HIGH){
  println("is high");
  }

これで、Mega に AllInputsFirmata をインストールしました。Arduino 1.0 にもプリインストールされています。これで、デジタル入力から読み取ることは問題ありません: 例:

if (arduino.digitalRead(25) == Arduino.HIGH){
  println("is high");
  }

しかし、今回は信号を送信できません。

それで、何が起こっているのですか?

(はい、FirmataTest ソフトウェアでテストしましたが、すべて問題ありません!)

4

1 に答える 1

0

確かではありませんが、Arduino C ++では、データを送信する前に、まずピンのモードを設定する必要があります。最初にモードを設定すると、デジタル読み取りもうまく機能します。ここでも同じことが当てはまりますか?

もしそうなら、これはあなたに役立つかもしれませんhttp://arduino.cc/en/Reference/Firmata

于 2012-12-03T17:50:04.473 に答える