Lập trình mô-đun WiFi ESP8266 với board Arduino UNO
Bài đăng này cho thấy một hướng dẫn nhanh để lập trình mô-đun WiFi ESP8266 với board Arduino UNO và cách sử dụng phần mềm Arduino IDE để viết code cho mô-đun này.
Board ESP8266 chứa bộ vi điều khiển ESP8266EX ( vi điều khiển 32 bit) từ Espressif Systems , mô-đun Wi-Fi giá rẻ này là một lựa chọn rất tốt cho những người có sở thích thực hành các dự án IoT. IoT: Internet vạn vật.
Mô-đun ESP8266 đi kèm với phần sụn AT cho phép chúng ta điều khiển nó bằng các lệnh AT thông qua giao diện nối tiếp (chân RX và TX).
Mô-đun ESP8266 phổ biến nhất là ESP-01, nó chỉ có 8 chân như trong hình bên dưới (có đầu ra):
Như đã trình bày ở trên, board ESP-01 có 8 chân đó là:
Chân truyền dữ liệu UART cũng là chân GPIO1
GND: chân đất (0 V)
CH_PD: chân cắm xuống chip, được sử dụng để tắt chip ESP8266EX, khi chip được bật HIGH và khi chip tắt, cũng được đặt tên là CH_PU (tăng khả năng cho chip) và CHIP_EN (bật chip)
GPIO2: đầu vào / đầu ra cho chân 2
RESET: chân đặt lại bên ngoài (ở mức low), khi chip ở mức low là đang ở chế độ thiết lập lại
GPIO0: đầu vào / đầu ra cho chân 0
VCC: chân cấp nguồn. Chip ESP8266EX có điện áp hoạt động: 2.5V ~ 3.6V
RX: Chân nhận dữ liệu UART cũng là chân GPIO3
Lập trình ESP8266 với Arduino IDE:
Thật dễ dàng để bắt đầu lập trình ESP8266, tất cả những gì chúng tôi phải làm là thêm nó vào phần mềm Arduino IDE.
Đầu tiên, mở Arduino IDE và đi đến File —> Preferences
Thêm liên kết bên dưới vào Additional Boards Manager URLvà nhấp vào OK:
http://arduino.esp8266.com/ sóng / pack_esp8266com_index.json
Giờ hãy vào Tools —> Board —> Boards Manager
Trong hộp Search, hãy viết Esp8266 và nhấp vào Install và quá trình cài đặt board sẽ bắt đầu (quá trình cài đặt có thể mất một chút thời gian tùy thuộc vào tốc độ kết nối):
Sau khi cài đặt, chọn board ESP-01 bằng cách truy cập: Tools —> Board: —> Generic ESP8266 Module
Bây giờ mọi thứ đã hoàn tất và chúng ta có thể bắt đầu lập trình ESP8266.
Lập trình mô-đun ESP8266 (ESP-01) với board Arduino UNO:
Như đã biết, board Arduino UNO chứa vi điều khiển Microchip ATmega16U2 được sử dụng làm bộ chuyển đổi nối tiếp USB. Chip này (ATmega16U2) có thể được sử dụng để lập trình (flash) mô-đun Wi-iF ESP-01, cách nối mạch được hiển thị bên dưới:
Trong mạch có 2 điện trở một cái là 1k ohm và cái còn lại là 2.2k ohm. Hai điện trở được sử dụng để giảm 5V từ arduino còn khoảng 3,43V khi đến board ESP-01 (được nối với chân RX của ESP-01) vì chip ESP8266EX chỉ hoạt động với 3,3V và cấp nguồn 5V trực tiếp có thể làm hỏng nó.
Mặt khác, chân TX của ESP-01 được nối trực tiếp với board Arduino mà không có bất kỳ bộ chuyển đổi mức điện áp nào vì ở đây, ESP-01 gửi dữ liệu (ở mức 3,3V) đến board Arduino bằng chân này.
ESP-01 được cấp 3,3V từ board Arduino.
Ví dụ, có nhiều cách khác để tạo một bộ lập trình cho mô-đun ESP-01 bằng cách sử dụng USB FT232RL để chuyển đổi nối tiếp từ Chip FTDI được hiển thị bên dưới:
Với mô-đun này, chúng ta có thể chọn giữa 5V và 3.3V (sử dụng dây dẫn) và ở đây chúng ta chọn 3,3V.
LED nhấp nháy với ESP8266 (ESP-01):
Đây là một ví dụ đơn giản dễ hiểu cho ứng dụng này, đó là ví dụ về LED nhấp nháy. Trong ví dụ này, tôi sẽ nối một LED với chân GPIO2 của board ESP-01 và làm cho LED này nhấp nháy. Sơ đồ mạch được hiển thị dưới đây:
LED được nối với chân GPIO2 của mô-đun ESP-01 thông qua điện trở 330 ohm.
Mô-đun ESP-01 cần nguồn 3,3V. Chúng ta có thể lấy nguồn 3.3V ví dụ từ board Arduino UNO hoặc sử dụng bộ điều chỉnh điện áp AMS1117 chuyển 5V xuống 3,3V hoặc trực tiếp từ nguồn 3,3V.
Code Arduino cho mô-đun ESP8266:
// LED Blink example for ESP8266 (ESP-01) module #define LED 2 // LED is connected to GPIO2 void setup() { pinMode(LED, OUTPUT); // Configure LED pin as output } void loop() { digitalWrite(LED, HIGH); // Turn the LED on delay(500); // wait 1/2 second digitalWrite(LED, LOW); // turn the LED off delay(500); // wait 1/2 second }