【Arduino入門】從序列埠控制LED開關

上一篇介紹序列埠顯示LED閃爍的訊息,那可不可以反向,在序列埠上輸入指令讓LED燈明滅呢?答案是有的,本單元將介紹透過電腦上的序列埠監控視窗,傳遞電腦的’1’或’0’,控制Arduino板子上的13腳LED燈明滅。

實驗準備材料

  • Arduino UNO開發板

設計邏輯想法

不使用Arduino範例”Blink”,由13腳的LED自行閃爍,要由自己在電腦上輸入指令至序列埠上後,來開關這LED的明滅,並在序列埠上告知LED燈已”ON”或”OFF”。

程式流程圖

程式設計

				
					const byte LED = 13;
char val;

void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  pinMode(LED, OUTPUT);
  Serial.println("Welcome to Arduino");
}

void loop() {
  // put your main code here, to run repeatedly:
  if (Serial.available()) {       //查看序列埠是否有指令
    val = Serial.read();          //將讀取到的指令,付與給val
    if (val == '1') {             //如果val的值為1
      digitalWrite(LED, HIGH);    //開啟LED
      Serial.println("LED ON");   //序列埠列印出LED ON
    } else if (val == '0') {      //否則如果val的值為0
      digitalWrite(LED, LOW);     //關閉LED
      Serial.println("LED OFF");  //序列埠列印出LED OFF
    }
  }
}

				
			

實物執行影片

結論

在這篇「從序列埠控制LED開關」的教學文章中,又進一步了解到Arduino的程式設計與創新,實現未來人工智能的創新產品上多一項功能,能與機器對話,讓它來執行交辦的指令。

此篇參考Arduino官網資料連結:
https://www.arduino.cc/reference/en/language/functions/communication/serial/available/

有主意,就動手~

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端