Pduino函式庫提供Arduino和Pd物件的溝通能力,這讓我們能夠使用Pd介面控制類比和數位感應器。這涉及到通過感應器所接收到的輸入資料,以及發送資料到控制器並且改變感應器的狀態。為了產生溝通,首先需要連接Arduino板子到你的電腦上(請見:http://arduino.cc/ ,說明如何安裝Arduino板子的驅動和Arduino軟體) 。當你連接Arduino板子之後,你需要上傳Firmata firmaware到Arduino板子上,讓你通過Pd介面獲得感應器資料。接下來,將介紹關於如何上傳Firmata firmaware到Arduino板子裡。
首先,雙擊在Arduino檔案夾中的"arduino"。當你執行Arduino應用程式後,單擊在toolbar上的

為了上傳Firmata到你的Arduino板子,首先你需要確定你的Arduino版子類型和你Arduino板子連接的serial port,。
在Arduino應用程式裡點擊 " Tools > Board " ,並選擇你的Arduino版子類型,即如果你擁有的是Arduino Deicimila,請選擇"Arduino Diecimila or Duemilanova w / ATmega168"。 在你設定你的Arduino板子類型之後,設定Arduino板子連接的serial port。單擊 " Tools> Serial Port" ,並選擇正確的Serial Port。
"
打開 > Examples > Library Firmata > SimpleAnalogFirmata"
一旦你點擊了SimpleAnalogFirmata,這韌體程式碼將會在你的應用程式裡打開。
在這一章中我們將介紹類比感應器的範例,因此我們將上傳SimpleAnalogFirmata到板子上。對於其他類型的感應器,例如任何數位感應器或伺服器馬達感應器,都在Firmata函式庫底下,根據你的感應器類型,你需要去選擇相關的Firmata。
一旦你點擊了SimpleAnalogFirmata,這韌體程式碼將會在你的應用程式裡打開。
在這一章中我們將介紹類比感應器的範例,因此我們將上傳SimpleAnalogFirmata到板子上。對於其他類型的感應器,例如任何數位感應器或伺服器馬達感應器,都在Firmata函式庫底下,根據你的感應器類型,你需要去選擇相關的Firmata。
在設定好版子和Serial Port後。在tool bar上,點擊
Verify按鍵。
SimpleAnalogFirmata編譯完成後,你將在Arduino應用程式下面收到" Done compiling "的訊息。如果你收到任何錯誤訊息,只需通過上述指示進行修正,並且再次編譯firmata。一旦firmata編譯完成,你可以把它上傳到你的Arduino板子。
按下重設開關後,然後在工具欄中,點擊「
上傳到I/O Board的按鈕」 ,一旦你在Arduino 軟體上看到 "Done uploading."訊息, firmata是成功上傳到Arduino板子裡。關閉Arduino 應用程式,同時保持你的Arduino板子與電腦的連接。
[comport]: available serial ports :
4 /dev/ttyUSB0
在這種情況下, Arduino板子的連接port /dev/ttyUSB0 並且它的port號碼是4 。因此,為了啟動Arduino - Pd的溝通,與上面的範例有所關系,你送出[open 4(訊息給[arduino] 物件。
4 /dev/ttyUSB0
選擇radio按鍵,來設定有連接到Ardunio板子上的serial port數字選項。這將會打開serial port連接。
關閉serial port連接。目前的serial port連接。
列出裝置清單。
韌體版本
為serial port編號的初始化數值
如果serial連接是成功打開,Pd 視窗將顯示以下類似類型的訊息。
get_baud_ratebits: 115200.000000
set_baudrate baudbits: 4098
[comport] opened serial line device 4 (/dev/ttyUSB0)
一旦你打開的 serial port連接,你可以從你的Arduino板子立即接收資料。首先你必須使感應器資料通過[arduino] 物件,然後來區分感應器的資料類型。在這下面的例子,我們把重點放在類比輸入感應器;因此 [route] 物件只能讓類比感應器類型輸入。隨後[route] 物件區分類比輸入的資料,以方便你可以用一個單獨的數字盒子接收各個感應器的資料。
關閉serial port連接。
目前的serial port連接。
列出裝置清單。
韌體版本
為serial port編號的初始化數值
讓感應器能夠輸入
區分類比輸入感應器資料
區分類比輸入
CPU友善數值
類比輸入pins
即使沒有任何感應器連接到Arduino的類比pins,然而當你能讓資料流通過[arduino]物件的時候,上面patch 中的類比輸入pins盒子會接收數字的流動。這些簡單的噪音資料,都是由於Arduino板子上空的pins產生。
下面的例子Pd patch 接收到光敏電阻感應器的資料來控制帶通濾波器的振幅數值與中心頻率。
雜音
接收感應器資料
多個聲音信號,這來自感應器訊號。
接收感應器訊號
縮放感應器訊號在0和2000範圍之間。
縮放感應器訊號改變在bandpass過濾器中的中心頻率。
轉換數位為類比
這些都是Pduino函式庫的基本範例,但是arduino-test.pd 包括通過 [arduino] 物件的其他類型的感應器連接。
資料來源:http://en.flossmanuals.net/PureData/Pduino
沒有留言:
張貼留言