【Arduino 指令】: Arduino常用指令_02
Serial.begin()
Serial.begin(鮑率);這個指令用在要開啟序列阜傳送資料時使用。 簡單說,假設現在Arduino要傳送資料給電腦,那就要經由電腦的序列阜傳送,而這個指令就是要把序列阜打開,並且設定用什麼鮑率來做傳送。 (所設定的鮑率要與軟體上選擇的鮑率一樣,例如都為9600會是11520等等)
Serial.print()
Serial.print();這個指令用在要經由序列阜輸出資料,例如可以用這個指令輸出文字在銀幕上。就像在程式中打入Serial.print("Arduino is ready");然後開啟IDE右上角的序列阜監控視窗後,就可以看到Arduino is ready的文字出現在上面。 另外,這個指令不只可以輸出文字,也可以輸出數字跟變數。而且,還可以選擇數字的進位方式(二進位,八進位,十進位,十六進位) 只要在打指令時在後面加上逗號與進位方式就可以。 Serial.print(9, BIN); 就會得到用二進位輸出的數字9,也就是1001 (BIN 代表二進位,OCT代表八進位,DEC代表十進位,HEX代表十六進位)
Serial.println()
Serial.println();這個指令基本上跟上個指令一樣,差別在於使用Serial.println()輸出的資料會單獨佔據一行,然後自動換行。假設程式中打入Serial.println("Arduino"); Serial.println("is"); Serial.println("ready");輸出的結果就會是
Arduino
is
ready
Serial.available()
Serial.available();這個指令是擷取序列阜收到的資料(字元/byte)。當資訊輸入到序列阜後,要先擷取到這些資料我們才會用另外一個指令【Serial.read()】把這個資料讀出來使用。因此這個指令通常會搭配【if()】跟【Serial.read()】這兩個指令一起用。 在下個指令一起說明
Serial.read()
Serial.read();這個指令就是讀取由[Serial.available()]在序列阜擷取的資料,並且把在序列阜的舊資料清除,所以讀取完後的資料不會留在序列阜裡面(才不會一直重複出現)。 這個指令常會搭配【if()】跟【Serial.available()】一起使用。例如,
int incomingByte = 0; void setup() { Serial.begin(9600); } void loop() { if (Serial.available() > 0) { incomingByte = Serial.read(); Serial.print("I received: "); Serial.println(incomingByte, DEC); } }
這就是一個簡單的程式:當序列阜回傳值大於0的時候,就會執行if裡面的程式(抓取資料後再輸出到螢幕上)。這樣的搭配用法會常常看到,看久了大家應該會熟悉~ 另外, if(Serial.availble())這樣的寫法也是成立的,他代表如果if()裡面如果回傳直是true的話,就執行程式(C語言裡面0是false,非0就是true),所以當沒有值的時候if()裡面會回傳0(false),就不會執行程式。
tone()
tone(腳位,頻率,時間長度);這個指令可讓蜂鳴器發出聲音。使用方式相當簡單,第一個參數先告知哪個腳位是蜂鳴器,第二個參數告知要用多少頻率發出聲音,第三個參數告知這個聲音要維持多久。其中第三個參數可以不用指定,用【noTone()】這個指令亦可以將聲音停掉。
noTone()
noTone(腳位);這個指令就是把【tone()】所發出的聲音停掉。很多情況下,使用tone()的時候並不會指定聲音要持續多久,等到我們需要的時候再將她停止就好,這時就使用noTone()這個指令就可以達到我們的目的。
以上~
留言
張貼留言