2

この正確な問題がまだ解決されていないことを願っています。しばらく検索しました。

そのため、Arduinoライブラリを処理に使用しており、ArduinoUNOに接続したLEDを点滅させるだけでテストしています。私はこのチュートリアルに従っていますが、そのチュートリアルページで説明されているものとは少し異なる問題があります。これが私の処理コードです:

import processing.serial.*;

import cc.arduino.*;


Arduino arduino;

int ledPin = 13;

void setup()
{

  //println(Arduino.list());

  arduino = new Arduino(this, Arduino.list()[0], 57600); //error here

  arduino.pinMode(ledPin, Arduino.OUTPUT);

}

void draw()

{

  arduino.digitalWrite(ledPin, Arduino.HIGH);

  delay(1000);

  arduino.digitalWrite(ledPin, Arduino.LOW);

  delay(1000);

}

これが私のエラーです:

IllegalAccessError:クラスcc.arduino.Arduino$SerialProxyからクラスprocessing.core.PApplet$RegisteredMethodsにアクセスしようとしました

Stable Library

=========================================

Native lib Version = RXTX-2.1-7

Java lib Version   = RXTX-2.1-7

Exception in thread "Animation Thread" java.lang.IllegalAccessError: tried to access class processing.core.PApplet$RegisteredMethods from class cc.arduino.Arduino$SerialProxy

at cc.arduino.Arduino$SerialProxy.<init>(Arduino.java:119)

at cc.arduino.Arduino.<init>(Arduino.java:168)

at sketch_130206a.setup(sketch_130206a.java:29)

at processing.core.PApplet.handleDraw(PApplet.java:2117)

at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:193)

at processing.core.PApplet.run(PApplet.java:2020)

at java.lang.Thread.run(Thread.java:680)

私のエラーは明らかにアクセス許可に関係しているので、/ var / lockフォルダーに移動して、フォローしているチュートリアルページでそれが言うことを実行しようとしましたが、/lockフォルダーが存在しません。Mac10.8.2を使用しています。このスレッド(arduino dot cc / forum / index.php?topic = 135164.0)を検索して見つけ、ターミナルで「sudo mkdir -p / var/lock」と「sudochmod777/ var /lock」を試してみることにしましたが、再起動した後でも、Processingで発生したエラーは変更されませんでした。また、処理スケッチを実行しようとしているときに、ProcessngxArduinoライブラリのダウンロードページ(playground.arduino dot cc / interfaces /processing)に記載されているようにArduinoアプリを開いてStandardFirmataスケッチをアップロードしようとしましたが、同じエラーが発生しました。Duemilanoveの代わりにArduinoUNOを使用しているという事実は UNOは明らかにそれの単なる更新バージョンであるため、問題になります。次に何をしようと思うか?

更新:さて、私のコードで強調表示されているエラーは、使用しているシリアルポートを任意の速度(この場合は57600ビット/秒)で開くものです。したがって、問題は、前述のadrunio x処理情報ページ(プレイグラウンドドットarduinoドットcc /インターフェイス/処理)の手順のこの特定のステップにあると思います。ステップ3:「シリアルの処理の構成:ドット組織/参照/ライブラリの処理/ serial/"...リンクは処理の「シリアル」リファレンスページに移動します。「構成」の意味について混乱していますか?「正しいシリアルポート」をどの程度正確に把握できますか?シリアルリファレンスページの残りの手順と例を確認しましたが、何を探しているのかまだわかりません。

更新#2:arduinoのシリアルポートは「/dev/tty.usbmodem1411」です。ただし、Processingでこれをコードにプラグインする方法についてはまだ混乱しています。これらの最後の2つの更新で私が学んだことは、私のエラーとは無関係である可能性がありますが、まだわかりません。

4

1 に答える 1

1

問題は、Processing(2.0)のベータ版を使用していたことでした。最新の安定バージョン(1.5.1)を使用すると、動作するはずです。

于 2013-02-07T06:13:52.207 に答える