Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 2969|回復: 0
打印 上一主題 下一主題

Arduino透過電腦端控制LED開關

[複製鏈接]
跳轉到指定樓層
1#
發表於 2013-2-26 15:53:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
請問各位大大,由於目前要製作透過外部感測器的TX/RX訊號經過Arduino輸入進電腦經過電腦分析後再啟動LED燈的開關,因此是透過TX/RX傳到Arduino在輸出5V電壓給LED

也就是說Arduino僅辨識電腦輸出的訊號是否為開啟的指令
但是目前寫的程式發現一項問題Arduino也會辨識到外部感測器輸入進來的訊號,造成LED燈開關不正確以下是我目前的程式

#define LED_PIN 3
char cmd;   // for incoming serial data


void setup() {
  pinMode(LED_PIN, OUTPUT);      
  Serial.begin(115200);     // opens serial port, sets data rate to 115200 bps
}


void loop() {
  static int ledVal = 0;


  while (Serial.available() > 0)
  {
    cmd = Serial.read();


    switch (cmd)
    {
    case ' ':
      {
        ledVal ^= 1;
        if (ledVal)
          Serial.println("ON");
        else
          Serial.println("OFF");
        break;
      }
    default:
      {
        Serial.print(cmd);
      }
    }


    if (ledVal)
      digitalWrite(LED_PIN, HIGH);
    else
      digitalWrite(LED_PIN, LOW);
   }
}



不知道是否有辦法把"感測器輸入電腦的訊號"跟"電腦輸出指令的訊號"做區分的方法嗎?
不好意思,麻煩各位了~
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-18 08:52 , Processed in 0.173164 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表