Professional Documents
Culture Documents
3. Sơ đồ chân kết nối ESP32 (hoặc ESP8266) (lập bảng chức năng các chân).
* Chức năng của SPIO: [7] 1 SIPO có thể có nhiều chức năng khác nhau.
SIPO Function Note
6 Các chân này được kết nối với bộ SCK/CLK
7 nhớ SPI flash tích hợp trên chip SDO/SD0
8 ESP-WROOM-32. SDI/SD1
9 SHD/SD2
10 SWP/SD3
11 CSC/CMD
4 10 GPIO cảm biến điện dung T0
0 T1
2 T2
15 T3
13 T4
12 T5
14 T6
27 T7
33 T8
4. Các bước cài đặt và giao tiếp ESP32 (hoặc ESP 8266) với phần mềm Arduino IDE
Bước 1: Cài đặt phần mềm Arduino IDE
- Tải Arduino IDE trên trang arduino.cc Link
- Arduino hiện tại đã có trên đa nền tảng, nên các bạn cần phải chọn đúng hệ điều hành mà mình đang
sử dụng để tải về phiên bản phù hợp.
- Tích chọn các thư viện và công cụ cần thiết cho IDE. Sau đó chọn thư mục để lưu trữ phần mềm và
tiến hành cài đặt.
- Link thư viện ESP đã được nhúng vào IDE. Tiếp theo chúng ta sẽ tiến hành tải và cài đặt thư viện cho
ESP32
- Các bạn vào Tools > Board > Boards Manager…
- Chọn port đầu ra để nhận kết nối. Tools > Port > Port các bạn đã kết nối với ESP
- Xem lại sơ đồ chân của ESP32 thì chân LED là GPIO2. Ở code Blink LED chúng ta điều chỉnh lại
output thành 2 vì đó là GIPO của LED trên board ESP32.
void setup() {
pinMode(LED, OUTPUT); Cấu hình chân GIPO BUTTON và LED bằng
pinMode(BUTTON, INPUT_PULLUP); hàm pinMode();
}
void loop() {
- Trong vòng lặp loop
- Kiểm tra trạng thái BUTTON
if (digitalRead(BUTTON) == 1)
- Nếu BUTTON bằng 1:
{
Thực hiện đảo trạng thái hiện tại của
state = ~state;
biến state
digitalWrite(LED, state);
Gán giá trị của state lên LED
delay(200);
Tạo độ trễ 200 ms
}
}
- Trong cửa sổ cài đặt các Board. Các bạn gõ vào thanh tìm kiếm với từ khóa “FreeRTOS”, trong danh sách
kết quả chọn “FreeRTOS by Richard Barry” và nhấn Install. Done!
void setup(){
Serial.begin(115200); - Giao tiếp với tốc độ truyền là 11520
pinMode(led_1, OUTPUT); - Cấu hình chân GIPO led_1 và led_2 bằng
pinMode(led_2, OUTPUT); hàm pinMode();
xTaskCreatePinnedToCore(Task1code,"Task1",10000,
- Khởi tạo Task1, cấp phát bộ nhớ là 10000,
mức độ ưu tiên là 1, chạy ở Core 0.
NULL,1,&Task1,0);
- Tạo độ trễ 500ms.
delay(500);
void loop(){
- Tại vì chúng ta đã thiết lập vòng lặp for ở
từng Core nên ở đây để trống.
}
Bibliography
[2] "So sánh chi tiết công nghệ Zigbee Và Wifi," RASS TEK TECH BLOG, [Online]. Available:
https://tech.rasstek.com/so-sanh-zigbee-va-wifi/.
[5] "ESPRESSIF," ESPRESSIF SYSTEMS (SHANGHAI) CO., LTD., 2021. [Online]. Available:
https://www.espressif.com/en/products/devkits/esp32-devkitc.
[6] "ESPRESSIF," ESPRESSIF SYSTEMS (SHANGHAI) CO., LTD., 2021. [Online]. Available:
https://www.espressif.com/en/products/socs/esp8266.
[7] "Tham khảo Chân Ra của ESP32: Chân GPIO nào nên dùng?," [Online]. Available:
https://talucgiahoang.com/blog/esp32-pinout-reference-gpios/.