Follower

2017年6月13日 星期二

【Arduino Lesson 1】Hello World !

  
  在學每一個新的程式語言之前,必先經過就是大家熟知的「Hello World」,「Hello World」這道程式被賦予的意義不僅僅是因為好學,而是藉由輸出「Hello World」可以間接得知開發環境是否安裝妥當。



  
Arduino上執行「Hello World!」示意圖

實作目標:

  • 輸入大寫"R",讓Arduino藉由Serial Monitor顯示出「Hello World!」字樣。

硬體電路:

無〈只要把Arduino接上電腦即可〉。

程式碼:

int val ; 
int ledpin = 13 ; 
void setup()
{
  Serial.begin(9600) ; //鮑率為9600,也可以自己設定鮑率,但要跟Serial Monitor一致
  pinMode(ledpin, OUTPUT) ;  // 腳位13開啟(因為ledpin = 13)
}

void loop()
{
  val = Serial.read() ; //讀取PC給Arduino的指令
  if(val == 'R')
  {
    digitalWrite(ledpin, HIGH) ; //腳位13寫入"1"(高電位),板子上的LED亮燈
    delay(500) ; //延遲0.5秒
    digitalWrite(ledpin, LOW) ; //腳位13寫入"0"(低電位),板子上的LED關閉
    delay(500) ;
    Serial.println("Hello World!") ; //在Serial Monitor上顯示「Hello World」後斷行
  }
}

實作成果:



研究討論:

  1. Serial Monitor可以在此開啟:
  2. 鮑率:鮑率的英文名稱為「Baud」,而Baud這個單詞本身已經有Rate的意思了,所以「Baud Rate」中的Rate是一個贅詞,可以不用寫出來;鮑率所代表意思是每一秒鐘傳送一個符號,而單一符號的bit數不一定為1,不過在電腦的應用中只有高電位和低電位的差別,也就是只有0跟1,所以恰巧讓Baud在電腦中等同於1bit = 1Baud,但這只是剛好而已,實際上嚴謹的定義如前述才較為正確;而常見的鮑率有300、1200、2400、9600、19200、115200等,Arduino IDE預設的鮑率是9600,為了不讓Arduino IDE和Serial Monitor的鮑率不同導致傳輸結果出現亂碼〈每秒接收的位元數不一致〉,所以在Code上設定鮑率後,也要注意Serial Monitor的鮑率是否跟Code一致。

    注意報率的設定

沒有留言:

張貼留言