| 
 | 
 
請問各位大大,由於目前要製作透過外部感測器的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); 
   } 
} 
 
 
 
不知道是否有辦法把"感測器輸入電腦的訊號"跟"電腦輸出指令的訊號"做區分的方法嗎? 
不好意思,麻煩各位了~ |   
 
 
 
 |