在學每一個新的程式語言之前,必先經過就是大家熟知的「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」後斷行
}
}
實作成果:
研究討論:
- Serial Monitor可以在此開啟:
- 鮑率:鮑率的英文名稱為「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一致。
注意報率的設定
沒有留言:
張貼留言