圓創力科技

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

查看: 8697|回復: 3

Arduino與Processing通信實驗一

[複製鏈接]
magiccar 發表於 2011-1-23 14:15 | 顯示全部樓層 |閱讀模式
2011/01/23:Arduino與Processing通信實驗一
實驗目的:  Arduino 與 Processing 基本通信實驗
程式下載: Adurino2Processing_01.pde (1.76 KB, 下載次數: 0)
說明文件: Processing2Arduino.rtf (3.55 KB, 下載次數: 4)

補充資料:
  更多的Processing
 樓主| magiccar 發表於 2011-2-12 22:54 | 顯示全部樓層
這是 Processing 的程式碼, 負責接收串列通訊埠(COM PORT)的數據, 並用其來改變繪圖的內容

  1. /*
  2. 第一個資料傳送實驗
  3. 從Adurino的輸入信號經過串列通訊埠(COM PORT), 去改變矩形的顏色
  4. */
  5. import processing.serial.*; // 載入串列通訊物件模組
  6. Serial myPort;              // 建立一個串列通信物件類別
  7. int val;                    // 設定從串列埠接收數據的變數

  8. void setup()                // 設定程式段
  9. {
  10.   println(Serial.list());   // 列出使用通信埠的編號
  11.   size(640,480);            // 設定顯示視窗大小
  12.   String portName = Serial.list()[1];        // 設定通信埠的編號
  13.   myPort = new Serial(this, portName, 9600); // 設定物件類別內容
  14. }

  15. void draw()                      // 繪圖程式段
  16. {
  17.   if ( myPort.available() > 0) { // 檢查通信埠是否有資料傳入
  18.     val = myPort.read();         // 將資料存到 val 變數中
  19.   }
  20.   background(255);               // 設定背景色為白色 ( 黑色 = ___ )
  21.   fill(Val);                     // 設定後續圖形要填入的色彩
  22.   rect(50, 50, 100, 100);        // 畫出矩形 (x, y, width, height)
  23. }
複製代碼

 樓主| magiccar 發表於 2011-2-12 23:09 | 顯示全部樓層
這是 Arduino 部分的程式碼, 負責把第五支類比輸入摸腳的信號, 傳送到串列通信埠(COM PORT)

  1. /*
  2. Arduino 的連線程式碼
  3. 用來把類比或數位資料送到串列埠(COM PORT)
  4. */
  5. const int analogInPin = A5;      // 設定要輸入信號的接腳
  6. int sensorValue = 0;             // 設定儲存輸入資料的變數
  7. int outputValue = 0;             // 設定儲存要送出資料的變數

  8. void setup()
  9. {                               // 設定程式段
  10.   Serial.begin(9600);           // 啟動 9600bps 速度的串列通訊
  11. }

  12. void loop()          //主程式段
  13. {
  14.     sensorValue = analogRead(analogInPin);                 // 儲存收到的類比信號值  
  15.     outputValue = map(sensorValue, 0, 1023, 0, 255);           // 將信號值對映到 0 ~ 255
  16.     Serial.print(outputValue,BYTE);                        // 送出 1 BYTE 資料到 Processing
  17.     delay(100);                                             // 延遲 0.1 秒
  18. }
複製代碼
 樓主| magiccar 發表於 2011-2-12 23:55 | 顯示全部樓層
rect 指令
語法:    rect ( X , Y , width , height )


說明:
用來繪製一個矩形。前兩個參數設置位置,第三個 width 是寬度,第四個 height 是高度。        


參數型態:
四個參數用 int (整數) 或 float (浮點數) 皆可。

fill 指令
語法:
    fill ( 灰階 )
    fill ( 紅, 綠, 藍 )


說明:
設置顏色用於填充形狀。 例如,如果您運行 fill(204,102,0) , 所有後續的形狀將充滿橙色。 這種顏色可以是指定條件的   RGB,每個取值範圍從0到255。        


參數型態:
參數用 int (整數) 或 float (浮點數) 皆可。


您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

QQ|Archiver|手機版|小黑屋|圓創力科技有限公司 IOP Robotic Technology Co.,Ltd Tel: 07-3924582 Fax: 07-3924001

GMT+8, 2024-4-26 04:16 , Processed in 0.027705 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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