SKU:RB-13K058 愛(ài)上Processing入門套件

來(lái)自ALSROBOT WiKi
2021年12月20日 (一) 15:47Zhangxin討論 | 貢獻(xiàn)的版本

(差異) ←上一版本 | 最后版本 (差異) | 下一版本→ (差異)
跳轉(zhuǎn)至: 導(dǎo)航、 搜索
13K05801.png

目錄

產(chǎn)品概述

Processing 是一種具有革命前瞻性的新興計(jì)算機(jī)語(yǔ)言,它的概念是在電子藝術(shù)的環(huán)境下介紹程序語(yǔ)言,并將電子藝術(shù)的概念介紹給程序設(shè)計(jì)師。她是 Java 語(yǔ)言的延伸,并支持許多現(xiàn)有的 Java 語(yǔ)言架構(gòu),不過(guò)在語(yǔ)法 (syntax) 上簡(jiǎn)易許多,并具有許多貼心及人性化的設(shè)計(jì)。Processing 可以在 Windows、MAC OS X、Linux 等操作系統(tǒng)上使用。以 Processing 完成的作品可在個(gè)人本機(jī)端作用,或以Java Applets 的模式外輸至網(wǎng)絡(luò)上發(fā)布。Processing 的源代碼是開(kāi)放的,和近來(lái)廣受歡迎的 Linux 操作系統(tǒng)、Mozilla 瀏覽器、或 Perl 語(yǔ)言等一樣,用戶可依照自己的需要自由裁剪出最合適的使用模式。另外Processing 的應(yīng)用非常豐富,而且它們?nèi)孔袷亻_(kāi)放源代碼的規(guī)定,這樣的設(shè)計(jì)大幅增加了整個(gè)社群的互動(dòng)性與學(xué)習(xí)效率。

產(chǎn)品參數(shù)

  1. 產(chǎn)品名稱:愛(ài)上 Processing 入門套件
  2. 產(chǎn)品類型:互動(dòng)新媒體入門套件
  3. 產(chǎn)品貨號(hào):RB - 13K058
  4. 編程軟件:Arduino IDE,Processing IDE
  5. 基礎(chǔ)模塊:超聲波傳感器、火焰?zhèn)鞲衅?、LED 發(fā)光模塊、尋線傳感器、單向傾角傳感器、磁感應(yīng)傳感器、顏色傳感器等傳感器器件
  6. 控制方式:自主編程
  7. 產(chǎn)品尺寸:23 * 16 * 5.5 cm
  8. 重量:0.5 kg
  9. 注意:本套件中不含主控制器 Starduino UNO R3

產(chǎn)品清單

RB - 13K033 愛(ài)上 Processing 入門套件
序號(hào) 產(chǎn)品名稱 產(chǎn)品貨號(hào) 數(shù)量
1 按壓式大按鈕模塊 RB - 02S032A 1
2 旋轉(zhuǎn)角度電位計(jì)模塊 RB - 02S024A 1
3 光線傳感器模塊 RB - 02S023A 1
4 PS2 游戲搖桿模塊 RB - 02S021A 1
5 LM35 線性溫度傳感器 RB - 02S019A 1
6 火焰?zhèn)鞲衅?/a> RB - 02S022A 1
7 蜂鳴器發(fā)聲模塊 RB - 02S031A 1
8 磁感應(yīng)傳感器 RB - 02S026A 1
9 URF02 超聲波傳感器 RB - 02S001A 1
10 TCS3200 顏色傳感器 RB - 02S035 1
11 Mini 紅外尋線傳感器 RB - 02S002A 3
12 LED 發(fā)光模塊(紅) RB - 02S005A 1
13 LED 發(fā)光模塊(綠) RB - 02S006A 1
14 LED 發(fā)光模塊(黃) RB - 02S008A 1
15 單頭防插反 3P 傳感器連接線 RB - 12C229 5
16 杜邦線(單 Pin) RB - 06L013 10
17 實(shí)驗(yàn)例程開(kāi)發(fā)資料光盤 RB - 07B017 1
18 可分隔元件盒 RB - 13K030 1


編譯環(huán)境介紹

Processing 軟件介紹

1.軟件下載與安裝
Processing軟件官方下載地址
軟件是綠色版本,軟件解壓縮后即可使用。目前最新版已經(jīng)更新到3.1.1
2.Processing 軟件使用說(shuō)明
打開(kāi)軟件只需雙擊執(zhí)行 Processing.exe 執(zhí)行文件,就可以看到如下程序編譯窗口:

13K03302.jpg

工具欄快捷按鈕說(shuō)明:

  • 序號(hào)1:用來(lái)測(cè)試程序運(yùn)行的結(jié)果和作品展示。也可以使用Ctrl+R 快捷鍵。
  • 序號(hào)2:停止執(zhí)行:點(diǎn)擊按鈕可以停止當(dāng)前運(yùn)行的程序。
  • 序號(hào)3:新建文件:點(diǎn)擊按鈕會(huì)打開(kāi)一個(gè)新程序窗口。
  • 序號(hào)4:打開(kāi):點(diǎn)擊按鈕會(huì)出現(xiàn)Processing 自帶的例子文件和自己創(chuàng)建的文件名稱。
  • 序號(hào)5:保存:點(diǎn)擊保存當(dāng)前程序代碼。第一次存儲(chǔ)會(huì)要求輸入保存位置和文件名稱。
  • 序號(hào)6:導(dǎo)出:導(dǎo)出功能會(huì)在文件夾所在的路徑中生成一個(gè)applet 文件夾舊版Processing 會(huì)生成多種格式文件html、gif、jar、java、pde 這些格式是為了方便在瀏覽器中瀏覽作品而生成的。新版的Processing 在輸出的時(shí)候會(huì)出現(xiàn)導(dǎo)出選項(xiàng)方便導(dǎo)出在在各種系統(tǒng)中運(yùn)行的文件。

Arduino IDE 軟件介紹

Arduino入門教程
Arduino入門資源匯總
初識(shí)Arduino IDE

Processing基本語(yǔ)言

Processing 使用起來(lái)要比其他編譯軟件更易懂,與Arduino 開(kāi)發(fā)環(huán)境很相似,Processing 的編程語(yǔ)言更為簡(jiǎn)單和人性化,Processing 編程語(yǔ)言基于JAVA 語(yǔ)言,但也可以使用其他語(yǔ)言,主要由于它將一些常用語(yǔ)句組合函數(shù)化。

Processing 程序基本架構(gòu)

與Arduino 一樣一個(gè)Processing 程序分為兩部分;
void setup()
在這個(gè)函數(shù)里放置初始化Processing 的程序,使主循環(huán)程序在開(kāi)始之前設(shè)置好相關(guān)參數(shù)。
void draw()
這是Processing 的主函數(shù)。這套程序會(huì)一直重復(fù)執(zhí)行,直到點(diǎn)擊停止按鈕。
注:這里介紹的是Processing 程序的基本架構(gòu)并不是一定要包含這兩個(gè)部分。

使用方法

第一個(gè)Processing程序

打開(kāi)軟件,將下面代碼復(fù)制到軟件中,然后單擊運(yùn)行按鈕,會(huì)出現(xiàn)顯示輸出窗口

void setup()
{
size(500, 500);//設(shè)置畫布大小500*500像素
}
void draw() {
if (mousePressed) {//檢測(cè)鼠標(biāo)按鍵是否按下
fill(0);//填充黑色
} else {
fill(255);//填充白色
}
ellipse(mouseX, mouseY, 60, 80);//以鼠標(biāo)坐標(biāo)為圓心畫橢圓

程序效果:輸出窗口顯示為灰色畫面,然后在輸出窗口移動(dòng)鼠標(biāo)橢圓跟隨光標(biāo)移動(dòng),點(diǎn)擊鼠標(biāo)任意鍵橢圓變成黑色跟隨光標(biāo)移動(dòng)。

Processing與Arduino互動(dòng)之LED指示燈

所需硬件

  • Arduino LED發(fā)光模塊 食人魚燈 綠色高亮*1個(gè)
  • Arduino LED發(fā)光模塊 食人魚燈 紅色高亮*1個(gè)
  • Arduino LED發(fā)光模塊 食人魚燈 黃色高亮*1個(gè)
  • Carduino UNO 控制器*1個(gè)
  • Arduino Sensor Shield V5.0 傳感器擴(kuò)展板*1個(gè)
  • 3P傳感器連接線*3條

例子程序

Processing程序:

import processing.serial.*;
Serial myPort;  // 創(chuàng)建串口名稱
PFont font;//創(chuàng)建字體變量
void setup() 
{
    size(230, 200);//畫布大小
    myPort = new Serial(this,"COM6",9600);//串口初始化
    font = createFont("楷體",48,true);//載入系統(tǒng)字體
}
void draw() {
  background(255);//背景顏色
  if (mouseOverRectR() == true) { // 判斷鼠標(biāo)是否在方塊上
    fill(255,0,0);// 方塊填充綠色
    myPort.write('R'); // 串口發(fā)送‘R’
    rect(20, 120, 50, 50);// 繪制一個(gè)方塊
  }else{
    fill(125);
    rect(20, 120, 50, 50);// 繪制一個(gè)方塊
    fill(255,0,0);// 方塊填充藍(lán)色
    textFont(font,50);//設(shè)置字體大小
    text("紅", 20, 165);
    }  
  if (mouseOverRectG() == true) {// 判斷鼠標(biāo)是否在方塊上
    fill(0,255,0);// 方塊填充綠色
    myPort.write('G');// 串口發(fā)送‘G’
    rect(20+20+50, 120, 50, 50);// 繪制一個(gè)方塊
  } else{
    fill(125);
    rect(20+20+50, 120, 50, 50);// 繪制一個(gè)方塊
    fill(0,255,0);// 方塊填充藍(lán)色
    textFont(font,50);//設(shè)置字體大小
    text("綠", 20+20+50, 165);
    } 
  if (mouseOverRectY() == true) {// 判斷鼠標(biāo)是否在方塊上
    fill(255,255,0);// 方塊填充黃色
    myPort.write('Y');// 串口發(fā)送‘B’
    rect(20+20+50+20+50, 120, 50, 50);// 繪制一個(gè)方塊
  }else{
    fill(125);
    rect(20+20+50+20+50, 120, 50, 50);// 繪制一個(gè)方塊
    fill(255,255,0);// 方塊填充黃色
    textFont(font,50);//設(shè)置字體大小
    text("黃", 20+20+50+20+50, 165);
    }
    fill(255,125,255); 
    textFont(font,25);//設(shè)置字體大小
    text("把鼠標(biāo)移動(dòng)到方塊上", 3, 50);
}
boolean mouseOverRectR() { // 測(cè)試鼠標(biāo)是否在方塊上
  return ((mouseX >= 20) && (mouseX <= 20+50) && (mouseY >= 120) && (mouseY <= 120+50));
}
boolean mouseOverRectG() { // 測(cè)試鼠標(biāo)是否在方塊上
  return ((mouseX >= 20+20+50) && (mouseX <= 20+50+20+50) && (mouseY >= 120) && (mouseY <= 120+50));
}
boolean mouseOverRectY() { // 測(cè)試鼠標(biāo)是否在方塊上
  return ((mouseX >= 20+20+50+20+50) && (mouseX <= 20+50+20+50+20+50) && (mouseY >= 120) && (mouseY <= 120+50));
}

將上面的程序文件復(fù)制到Processing編譯器中,注意其中的“COM6”需要根據(jù)每個(gè)人電腦中UNO的串口不同而各異。 Arduino 端程序:

char val; // 串口接收寄存器
int Rled = 11; // 紅色LED接在數(shù)字11引腳
int Gled = 12; // 綠色LED接在數(shù)字12引腳
int Yled = 13; // 黃色LED接在數(shù)字13引腳
void setup() {
   pinMode(Rled, OUTPUT); // 設(shè)置引腳為輸出
   pinMode(Gled, OUTPUT); // 設(shè)置引腳為輸出
   pinMode(Yled, OUTPUT); // 設(shè)置引腳為輸出
   Serial.begin(9600); // 串口初始化
}
void loop() {
   if (Serial.available()) { // 判斷串口是否有數(shù)據(jù)
   val = Serial.read(); // 讀回來(lái)的數(shù)據(jù)存儲(chǔ)在val中
   }
   if (val == 'R') { // 判斷讀取的是否是"R"
     digitalWrite(Rled, 255); // 點(diǎn)亮紅燈
   } else{
       digitalWrite(Rled, 0); // 關(guān)掉紅燈
     }
   if (val == 'G') { //判斷讀取的是否是"G"
     digitalWrite(Gled, 255); // 點(diǎn)亮綠燈
   } else{
       digitalWrite(Gled, 0); // 關(guān)掉綠燈
     }
   if (val == 'Y') { // 判斷讀取的是否是"Y"
     digitalWrite(Yled, 255); //點(diǎn)亮黃燈
   } else{
       digitalWrite(Yled, 0); //關(guān)掉黃燈
     }
}

程序效果:連接Arduino 控制器后,點(diǎn)擊Processing 上的運(yùn)行按鈕,在Processing 輸出窗口上移動(dòng)鼠標(biāo),,當(dāng)鼠標(biāo)移動(dòng)到顯示紅字方塊上,紅色LED 模塊亮起,移動(dòng)到綠字方塊上綠 色LED 亮起,移動(dòng)到黃字方塊上,黃色LED 亮起。 程序效果圖:

13K03304.jpg

精選視頻

Processing 01.png
Processing 02.png


產(chǎn)品相關(guān)推薦

Erweima.png

產(chǎn)品資料

下載鏈接:https://pan.baidu.com/s/1bsxPoX_m-_t9_rifhTA-sA 提取碼:w9do

產(chǎn)品購(gòu)買地址

Arduino提高版 愛(ài)上Processing套件

周邊產(chǎn)品推薦

愛(ài)上Processing套件配套入門教程

相關(guān)問(wèn)題解答

Processing軟件運(yùn)行不成功?
Processing 從下載到安裝遇到的一些問(wèn)題及解決辦法
Arduino與Processing有什么區(qū)別?
怎樣用Processing設(shè)計(jì)出用圖形和文字拼出的圖案?

相關(guān)學(xué)習(xí)資料

愛(ài)上Arduino與愛(ài)上Processing互動(dòng)之視頻合集
arduino和processing通訊
奧松機(jī)器人技術(shù)論壇