この正確な問題がまだ解決されていないことを願っています。しばらく検索しました。
そのため、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つの更新で私が学んだことは、私のエラーとは無関係である可能性がありますが、まだわかりません。