ESP8266 Đếm số lần nhấn nút Màn hình LCD

Bài hướng dẫn này hướng dẫn bạn cách sử dụng ESP8266 để đếm số lần nhấn nút và hiển thị số đếm trên màn hình LCD. Có thể chỉnh sửa để sử dụng với các cảm biến khác thay vì nút.

Trong hướng dẫn này, chúng ta sẽ thực hiện debounce cho nút mà không sử dụng hàm delay(). Để có thêm thông tin, hãy xem Tại sao chúng ta cần debounce?.

Phần cứng cần chuẩn bị

1×ESP8266 NodeMCU ESP-12E
1×Recommended: ESP8266 NodeMCU ESP-12E (Uno-form)
1×USB Cable Type-A to Type-C (for USB-A PC)
1×USB Cable Type-C to Type-C (for USB-C PC)
1×breadboard-mount Button with Cap
1×breadboard-mount Button Kit
1×Panel-mount Push Button
1×mô-đun nút nhấn
1×LCD I2C
1×breadboard
1×dây jumper
1×(Khuyến nghị) Screw Terminal Expansion Board for ESP8266
1×(Khuyến nghị) Power Splitter for ESP8266 Type-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)

Về LCD I2C và nút

Nếu bạn chưa quen với LCD I2C và nút nhấn (bố trí chân, cách hoạt động, cách lập trình ...), các hướng dẫn dưới đây có thể giúp bạn tìm hiểu:

Sơ đồ đấu dây

sơ đồ nối dây ESP8266 NodeMCU với lcd i2c và nút bấm

This image is created using Fritzing. Click to enlarge image

Xem thêm Sơ đồ chân ESP8266Cách cấp nguồn cho ESP8266.

Mã ESP8266 - hiển thị số lần nhấn nút trên LCD I2C

/* * Mã ESP8266 NodeMCU này được phát triển bởi newbiely.vn * Mã ESP8266 NodeMCU này được cung cấp để sử dụng công khai, không có ràng buộc. * Để xem hướng dẫn chi tiết và sơ đồ kết nối, vui lòng truy cập: * https://newbiely.vn/tutorials/esp8266/esp8266-button-count-lcd */ #include <LiquidCrystal_I2C.h> #include <ezButton.h> LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27 (from DIYables LCD), 16 column and 2 rows ezButton button(13); // create ezButton object for pin 13; unsigned long prev_count = 0; void setup() { Serial.begin(9600); lcd.init(); // Initialize the LCD I2C display lcd.backlight(); // open the backlight button.setDebounceTime(50); // set debounce time to 50 milliseconds button.setCountMode(COUNT_FALLING); } void loop() { button.loop(); // MUST call the loop() function first unsigned long count = button.getCount(); if (prev_count != count) { Serial.println(count); // print count to Serial Monitor lcd.clear(); lcd.setCursor(0, 0); // start to print at the first row lcd.print("Count: "); lcd.print(count); prev_count != count; } }

Hướng dẫn từng bước

Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:

  • Xem hướng dẫn ESP8266 - Cài đặt phần mềm nếu đây là lần đầu bạn sử dụng ESP8266.
  • Kết nối các thành phần như được hiển thị trong sơ đồ.
  • Kết nối bo mạch ESP8266 với máy tính bằng cáp USB.
  • Mở Arduino IDE trên máy tính của bạn.
  • Chọn board ESP8266 đúng, chẳng hạn (ví dụ NodeMCU 1.0 (ESP-12E Module)), và cổng COM tương ứng của nó.
  • Nhấp vào biểu tượng Thư viện ở thanh bên trái của Arduino IDE.
  • Tìm “ezButton” và định vị thư viện nút từ ArduinoGetStarted.
  • Nhấn nút Cài đặt để cài đặt thư viện ezButton.
thư viện nút ESP8266 NodeMCU
  • Tìm kiếm “LiquidCrystal I2C” và xác định thư viện LiquidCrystal_I2C do Frank de Brabander sáng tạo.
  • Sau đó, nhấn nút Cài đặt để thêm thư viện.
thư viện ESP8266 NodeMCU liquidcrystal i2c
  • Sao chép mã và mở nó trong Arduino IDE.
  • Nhấp vào nút Tải lên để gửi mã tới ESP8266.
  • Nhấn nút nhiều lần.
  • Xem số đếm hiển thị trên LCD có thay đổi không.

※ Lưu ý:

Địa chỉ của LCD có thể khác nhau tùy thuộc vào nhà sản xuất. Chúng tôi đã sử dụng 0x27 trong mã của mình, như được chỉ định bởi DIYables.

Video Tutorial

Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.