晚上在 Hacker Highligts: Steven’s Temperature Display 這篇文章看到一個好玩的東西,Steven Dayton 根據 Jeremy Blum 做的 Arduino+I2C+Processing 溫度顯示器用 Processing 寫了一個很好看的溫度顯示器(如左圖)。 |
這讓我想起之前我曾用 Arduino 與 SHT15 溫溼度計製作了一個溫溼度記錄器(見「Arduino 筆記 - 製作一個溫溼度記錄器)」,於是動了一個念頭,想改良 Steven Dayton 的 Processing 溫度顯示器把它套用到我的溫溼度計。Processing 程式超簡單,我把 Steven Dayton 的程式下載回來後,只花不到 5 分鐘就定了,超快的!^o^
改良後的 Processing 溫度顯示器執行畫面如下:
Steven Dayton 原版程式會顯示攝氏跟華氏溫度,我把它改成只顯示攝氏溫度,至於溼度就略過不管了。
程式碼如下(完整的程式請點這裏下載,至於 Arduino 端的程式請點這裏下載):
8 意見:
請問processing要如何顯示中文?
在給Processing的Arduino Library已安裝妥當的情況下,我依照這網址 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, 但無法讓Arduino pin13上的LED燈閃爍, 請問該如何解決?
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)
是Processing版本的問題,
我改用1.5.1版就可以了.
我想讓Processing裏的圖形也跟著LED閃爍而改變顏色,但我下列的程式無法達到這樣的效果, 請問該如何解決?
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
int ledPin = 13;
void setup()
{
size(200,200);
//println(Arduino.list());
arduino = new Arduino(this, Arduino.list()[0], 57600);
arduino.pinMode(ledPin, Arduino.OUTPUT);
}
void draw()
{
fill(204, 153, 0);
ellipse(100,100,30,30);
arduino.digitalWrite(ledPin, Arduino.HIGH);
delay(1000);
fill(125);
ellipse(100,100,30,30);
arduino.digitalWrite(ledPin, Arduino.LOW);
delay(1000);
}
在 draw() 裏呼叫 delay() 不是個好主意
我想在 Processing 裏要盡可能少用 delay(),不然畫面可能會女神卡卡
我還沒學 Processing 說... :)
不過,倒是可以提供幾個建議:
1. 就像 Blink without delay 的方法,利用 millis() 算經過的時間:
http://coopermaa2nd.blogspot.tw/2011/04/blink-without-delay.html
2. 試試這個網站包的 timer (功能還要加強,它沒有 repeat 功能,只有跑一次的功能)
http://www.learningprocessing.com/examples/chapter-10/example-10-5/
3. 利用 frameRate() 和 frameCount 變數
例如設定 frameRate(10) 讓 Processing 每秒 10 次 draw() function
接著在 draw() 裏判斷 frameCount 是否為 10 的倍數,是的話就代表時間已經過 1 秒鐘
然後就可以決定一秒閃一下並改變顏色
我使用 processing 在將程式上傳到Android Device 時發生下列問題:
Error from inside the Android tools. check the console.
請問Cooper大大該如何解決.
processing 程式可以直接轉成 android app, 但是我還是沒試出來 :(
我一個朋友說在 ubuntu 上沒問題,我用的作業系統是 win xp, 不曉得不能跑是不是 os 的問題
processing 程式可以直接轉成 android app, 但是我還是沒試出來 :(
我一個朋友說在 ubuntu 上沒問題,我用的作業系統是 win xp, 不曉得不能跑是不是 os 的問題
張貼留言