Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 4518|回復: 2
打印 上一主題 下一主題

用Processing控制Arduino問題?

[複製鏈接]
跳轉到指定樓層
1#
發表於 2012-10-6 17:20:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 pizg 於 2012-10-6 17:49 編輯

Processing 無法讓Arduino pin13上的LED燈閃爍,
請問各位先進該如何解決這問題?


我是依照網址 http://www.arduino.cc/playground/Interfacing/Processing
上面的程式:
import processing.serial.*;
import cc.arduino.*;

Arduino arduino;
int ledPin = 13;

void setup()
{
//println(Arduino.list());
arduino = new Arduino(this, Arduino.list()[0], 57600);
arduino.pinMode(ledPin, Arduino.OUTPUT);
}

void draw()
{
arduino.digitalWrite(ledPin, Arduino.HIGH);
delay(1000);
arduino.digitalWrite(ledPin, Arduino.LOW);
delay(1000);
}


Processing訊息窗內出現的訊息如下:
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.(Arduino.java:119)
at cc.arduino.Arduino.(Arduino.java:168)
at sketch_121006a.setup(sketch_121006a.java:34)
at processing.core.PApplet.handleDraw(PApplet.java:2103)
at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:190)
at processing.core.PApplet.run(PApplet.java:2006)
at java.lang.Thread.run(Thread.java:662)

2#
發表於 2012-10-7 21:46:34 | 只看該作者
本帖最後由 vegewell 於 2012-10-7 21:47 編輯

回復 1# pizg


    Arduino板有沒有upload什麼程式?
example:
StandardFirmata sketch
?
3#
 樓主| 發表於 2012-10-10 22:16:38 | 只看該作者
回復 2# vegewell


    感謝您的回覆, 問題已解決, 是設定的問題.

不過我有另一個問題:
我想用Arduino Analog pin 0上面的VR移動 Processing 上的方塊,
從 serial port 取得的 data 是正確的, 假設是 358,
但當我將它轉換成整數時, sensorValue 值卻變成 0,
請問該如何正確地把字串轉成數值?


  1. Arduino Code:

  2. void setup() {
  3.   Serial.begin(57600);
  4. }
  5. void loop() {
  6.   int v = analogRead(0);
  7.   Serial.println(v);
  8.   delay(100);
  9. }


  10. Processing Code:

  11. import processing.serial.*;
  12. Serial port;
  13. int lf = 10;
  14. String data ;
  15. int sensorValue;

  16. void setup() {
  17. // 設定畫布大小為 305 x 200
  18. size(305, 200);
  19. port = new Serial(this, "COM6", 57600);
  20. port.bufferUntil(lf);
  21. }

  22. void draw() {
  23. // 在 (x, y) 座標為 (sensorValue, 80) 的位置畫一個 50x50 的矩形
  24. background(255); // 白色背景
  25. fill(255,0,0); // 填滿顏色為紅色
  26. rect(sensorValue, 80, 50, 50);
  27. }

  28. void serialEvent(Serial port){
  29. data = port.readStringUntil(lf);
  30. data = data.substring(0, data.length() - 1);
  31. sensorValue = int(data);
  32. println(sensorValue); // 印到 Processing 的狀態視窗方便除錯
  33. }
複製代碼
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2025-1-31 18:54 , Processed in 0.214404 second(s), 7 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表