簡體   English   中英

Arduino上的LED不會根據情況打開/關閉

[英]LED on Arduino won't turn on / off based on condition

我有一個Arduino UNO R3,可從我的網頁中讀取特定值。

我的Arduino的PIN 13和GND上連接了一個LED。

當Arduino從我的網頁讀取1時,它應該打開LED。 讀數為0時,應將其關閉。

以下是該代碼:

#include "SIM900.h"
#include <SoftwareSerial.h>
#include "inetGSM.h"


InetGSM inet;

#define ledPin 13

char msg[165];
char store[2];
char a;
char b;

char* disp;

boolean started=false;

void setup()
{
      pinMode(ledPin, OUTPUT);
      digitalWrite(ledPin, LOW);
     //Serial connection.
     Serial.begin(9600);
     Serial.println("GSM Shield testing.");
     //Start configuration of shield with baudrate.
     //For http uses is raccomanded to use 4800 or slower.
     if (gsm.begin(2400)) {
          Serial.println("\nstatus=READY");
          started=true;
     } else Serial.println("\nstatus=IDLE");

     if(started) 
     {
          //GPRS attach, put in order APN, username and password.
          //If no needed auth let them blank.
          if (inet.attachGPRS("TATA.DOCOMO.INTERNET", "", ""))
               Serial.println("status=ATTACHED");
          else Serial.println("status=ERROR");
          delay(1000);



          //TCP Client GET, send a GET request to the server and
          //save the reply.

          //Print the results.


     }
}

void loop()
{
  inet.httpGET("www.boat.esy.es", 80, "/retrieve.php", msg, 165);
  disp = strstr(msg,"\r\n\r\n");
  disp = disp+4;
  a = disp[0];
  b = disp[1];
  Serial.println(b);
  if(b=='1')
  { 
    digitalWrite(ledPin, HIGH);
  }
  if(b=='0');
  {
    digitalWrite(ledPin, LOW);
  }
}

這里的問題是,當我禁用digitalWrite(ledPin,LOW) ,也就是當我注釋掉它時,LED點亮並保持這種狀態。

但是,一旦啟用它並在Arduino上加載代碼,它甚至都不會打開。

我想知道這是邏輯錯誤還是其他錯誤。 因為LED的開啟和關閉完全取決於所滿足的條件。 現在,我的網頁僅返回1,因此LED應該保持點亮狀態。 但是,當我在同一代碼中同時包含digitalWrite(ledPin, HIGH)digitalWrite(ledPin, LOW)並運行它時,它不起作用。 我可以看到“串行”打印出與LED點亮相關的消息,但是我看不到LED點亮。

感謝您的時間!!

首先,我認為您不應在第二個if語句中使用分號?

    if(b=='0'); <--
    {
      digitalWrite(ledPin, LOW);
    }

首先嘗試將其刪除,看看是否有區別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM