首页 > 解决方案 > LED 不亮

问题描述

我是物联网的初学者。我想点亮连接到 arduino 的 LED,为此我进行了如下所述的连接,另请参见此处附加的面包板图像。 LED 连接将 Arduino GND 连接到 LED 的一个支路,将 3.3V 连接到 LED 的另一支路。我的 Arduino 程序是-

   void setup() {
      Serial.begin(9600);

     // connect to wifi.
      WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
      Serial.print("connecting");
      while (WiFi.status() != WL_CONNECTED) {
         Serial.print(".");
         delay(500);
      }
      Serial.println();
      Serial.print("connected: ");
      Serial.println(WiFi.localIP());
  
      Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
      Firebase.set("LED_STATUS",0);
   }

   int n = 0;

   void loop() {
  // get value
      n = Firebase.getInt("LED_STATIS");
 
      if (n == 1) {
         Serial.print("LED IS ON");
         digitalWrite(D1,HIGH);      
         return;
     }else{
          Serial.print("LED IS OFF");
          digitalWrite(D1,LOW);      
          return;
       }
       delay(1000);
  }

串行监视器显示 LED 亮起,如屏幕截图所示。 串行监视器

标签: arduinoiot

解决方案


我认为您应该在设置中声明 pinMode,然后将 LED 放入 D0

    #define LED D0            // Led in NodeMCU at pin GPIO16 (D0).
    void setup() {
        pinMode(LED, OUTPUT);    // LED pin as output.
    }

    void loop() {
         if (n == 1) {
             Serial.print("LED IS ON");
             digitalWrite(LED ,HIGH);      
             return;
         }else{
             Serial.print("LED IS OFF");
             digitalWrite(LED ,LOW);      
             return;
         }
    }

请注意,它具有内置 LED,但它的低电平有效,它应该在逻辑为 0 时发光,并且您应该使用上拉电阻,因为您不能依赖 GPIO 引脚的电流供应,因为它仅提供 12mA


推荐阅读