Lập trình esp8266 bật tắt led bằng nút nhấn (lưu trạng thái).

Bởi nguyenthanhphi (16/04/2019) 0 Bình luận

Chuẩn bị phần cứng:

Lắp mạch:

  • Chân ( + ) của led được nối chân D0 ( tương ứng với chân số GPIO16 )
  • Chân  ( -- )  của led được nối chân GND của ESP.
  • Chân D3 ( chân GPIO0 ) được nối với nút nhấn như hình dưới.

Lập trình:

//khai báo biến

int nutnhan = 0; // định nghĩa chân số GIPO0 là button ( D3 )

int led = 16,t=0; // khai báo led và biến, 16 ( GIPO16) (tuong ung D0)

int status1;// biến lưu các trạng thái nút nhấn

// viết hàm chống dội

boolean chong_doi()// int char float ngoại trừ void

{

  int sta =!digitalRead(nutnhan); // đọc trạng thái nút nhấn

  return sta;// khi co nhan nut la true

}

// khởi tạo

void setup()

{

    Serial.begin(9600);

    pinMode(nutnhan,INPUT);

    digitalWrite(nutnhan, HIGH);

    pinMode(led,OUTPUT);  

}

void loop() // vong lap

{

  int buttonState = digitalRead(nutnhan);

  //Serial.println(buttonState);

  status1 = chong_doi();

  if(status1==true)

  {

    {

      t=!t;// đảo trạng thái

    }

    while(status1==true){status1=chong_doi();}

  }

  if(t==1)

      {

     digitalWrite(led,HIGH);

       }

      else

            {

           digitalWrite(led,LOW);

             }

  Serial.println(t);

}

Hình ảnh thực tế:

Chúc các bạn thành công!!!!

 

Đóng góp ý kiến