- 創客機器人實戰:基于Arduino和樹莓派
- 何福貴等編著
- 627字
- 2020-10-23 14:26:22
3.5 Arduino和Processing的交互
如果想讓在計算機中設計的藝術作品與外部物理世界進行互動,讓作品能與人和物產生“對話”,就需要使用傳感器把外部環境的信息,采集到計算機中處理。要做到這一點,目前通常的方法是通過Arduino控制器把傳感器數據,通過串口通信,讀到上位機軟件Processing里,然后通過處理,讓Processing數位作品的某些特征與傳感器數據產生關聯。于是物理世界的環境數據發生變化時,也會使虛擬數字世界的作品隨之互動,不斷幻化出動態語義的奇妙畫面。
Arduino和Processing可以作為交互媒體藝術的兩個主要部分,各自承擔著不同的角色。
作為一個交互作品,傳感器是一個輸入的感知器件,感知器件通過Arduino模塊將各種物理量變換成數據傳給計算機,計算機再去處理各類事件,形成交互過程。傳感器+Arduino可以說是交互系統的“輸入”端。
Processing在交互系統中充當“表達”角色,Processing起源于數據可視化,經過進化加入了很多多媒體處理能力,因此它不僅可以用圖形來表達,也可以用處理視頻、聲音來表達。因此在交互系統中,Processing的角色是“信號處理”和“輸出”。
傳感器+Arduino+Processing+投影+音箱可以構成一個完整的媒體交互藝術的系統。
下面是一個簡單的測試程序。
Arduino部分的代碼如下:

Processing程序部分:


從Processing下面的小黑窗中可以看到收到的數據是否正確。
假設Arduino的x=0或x=1可以看成仿真開關情況,收到的數據“0”或“1”可以模仿開關的“開”或“關”。
需要注意以下事項:
(1)Arduino調試程序使用的是Serial.print()和Serial.println()語句,聯合使用Arduino和Processing要改為Serial.write()語句。Serial.print()和Serial.write()不要同時使用。
(2)在Processing上輸入簡單的測試程序,需要注意使用同樣的COM口和同樣的波特率。
- Splunk 7 Essentials(Third Edition)
- Visualforce Development Cookbook(Second Edition)
- 面向STEM的mBlock智能機器人創新課程
- 平面設計初步
- 機器學習及應用(在線實驗+在線自測)
- Ansible Quick Start Guide
- Verilog HDL數字系統設計入門與應用實例
- Managing Mission:Critical Domains and DNS
- Blockchain Quick Start Guide
- UTM(統一威脅管理)技術概論
- Docker Quick Start Guide
- 分布式多媒體計算機系統
- 機器學習流水線實戰
- 悟透AutoCAD 2009完全自學手冊
- Lightning Fast Animation in Element 3D