【Arduino 指令】: Arduino常用指令_02

Document
這篇也是介紹一些基本且常常要使用的指令,基本上這些指令也可以說是一定會用到的基本指令。請各位要熟記下來~

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()這個指令就可以達到我們的目的。

以上~

留言

這個網誌中的熱門文章

【Arduino相關】 Arduino基礎介紹~ 腳位,PWM輸出,IDE...

【保險 】外幣收付非投資型商品考試隨筆整理~

【單晶片】單晶片/微控制器/MCU 是什麼?