Chào mọi người
Nếu mọi người sử dụng ESP8266/ESP32
thì chắc hẳn đã biết cơ chế nạp code
cho ESP như thế nào
Đối với các dòng ESP,
có 3 chế độ Boot
Nhưng chúng ta chỉ quan tâm đến 2 chế độ,
đó là Nạp code qua UART và Chạy code từ Flash
Thông thường, mọi người hay sử dụng các mạch
chuyển đổi giao tiếp USB-UART
như PL2303, CP2102, FT232
Nhược điểm khi sử dụng các mạch này
là các bạn phải luân chuyển liên tục giữa 2 chế độ
Nếu lập đi lập lại quá trình này sẽ rất phiền phức
Hôm nay mình sẽ giới thiệu cho các bạn
một mạch nạp chuyên dụng cho các dòng ESP
Mạch sẽ giúp các bạn nạp code cho ESP một cách
dễ dàng hơn trong quá trình học tập nghiên cứu
Hoặc nạp code hàng loạt các ESP
đối với các bạn làm dự án
Mạch dùng cổng USB,
phía trên có chân cắm để lắp ESP 12
phía bên phải ra chân
như 1 mạch chuyển đổi giao tiếp USB-UART
Link sản phẩm mình để ở dưới mô tả
Đối với ESP8266 V12, các bạn chỉ cần lắp ESP lên mạch,
sau đó nhấn nạp code trên phần mềm
Quá trình nạp hoàn toàn tự động,
tương tự như trên các Kit NodeMCU hay D1 Mini
Việc lắp ESP lên mạch sẽ giúp cho việc nạp code
hàng loạt trở nên dễ dàng và nhanh chóng hơn
Đối với ESP đã nạp code và hàn vào mạch
Khi muốn nạp lại code, các bạn dùng 4 chân
TX, RX, IO0, RST, và cấp nguồn 3V
Chuyển đổi các công tắc để thiết lập
chế độ nạp cho ESP
Các bạn nối chân TX, RX thẳng vào mạch nạp,
không nối chéo
Quá trình nạp cũng hoàn toàn tự động,
không cần phải chuyển chế độ bằng chân IO0
Đối với ESP32,
cơ chế nạp cũng tương tự ESP8266
Các bạn các dùng 4 chân TX, RX, IO0, và EN
Dùng chân EN nhé,
vì ESP32 không có chân RST
và cấp nguồn 3V
Nhấn nạp code, thế là xong
Code này đọc tín hiệu cảm ứng trên chân IO4
Dòng chữ này thông báo đã nạp code xong
Nhưng bạn không cần phải nhấn Reset,
vì mạch nạp tự động chuyển chế độ và Reset ESP
Bình thường giá trị đọc được sẽ luôn trên 100
Khi chạm thì xuống gần 0
Delay 1000 hơi lâu, mình sẽ giảm xuống 200
Tín hiệu đọc được khá tốt
Từ giá trị này có thể xác định được
có thao tác chạm hay không
Mình sẽ bật Serial Plotter,
xem đồ thị sẽ trực quan hơn
Các bạn có thể nối chân này vào pad đồng
để tăng diện tích chạm
Rồi sử dụng chức năng WiFi là có thể
chế tạo Công tắc WiFi cảm ứng
Khá là tiện lợi
Tiếp theo là ESP32-CAM
Do module này không ra chân Reset,
nên chỉ có thể nạp 1 cách thủ công
Các bạn dùng 2 chân TX, RX, sau đó nối IO0 vào GND
để thiết lập chế độ nạp qua UART, và cấp nguồn 3V
Để mở code Camera, các bạn chọn
File -> Examples -> ESP32 -> Camera -> CameraWebServer
Thay đổi Camera Model thành AI Thinker
Sau đó điền tên WiFi và password
Nhấn Reset, nếu hiện lên dòng chữ waiting for download
là ESP đã sẵn sàng nạp code
Nhấn nạp code
Quá trình nạp đang diễn ra
Sau khi nạp xong, các bạn tháo chân IO0,
và nhấn Reset để chạy code
ESP đã kết nối WiFi
Các bạn sao chép địa chỉ IP của ESP dán vào trình duyệt
Kéo xuống chọn Start Stream
Các bạn có thể thay đổi độ phân giải
trong mục Resolution
Đối với Arduino,
hoặc các chip ATmega328 đã nạp bootloader
Các bạn dùng 3 chân TX, RX, RST, và cấp nguồn 5V
Chuyển đổi các công tắc để thiết lập
chế độ nạp cho Arduino
Việc nạp code cũng hoàn toàn tự động,
chỉ cần nhấn nút nạp code
Mạch sẽ thực hiện tất cả những việc còn lại
Ngoài chức năng nạp code,
mạch có thể dùng để chuyển đổi giao tiếp USB-UART
Mình sẽ giao tiếp ESP8266 V1 với máy tính qua UART
Sử dụng TX, RX, và kéo chân EN lên 3V
để ESP hoạt động, và cấp nguồn 3V
Mình sẽ dùng tập lệnh AT để điều khiển ESP
Đầu tiên là lệnh AT để kiểm tra hoạt động của ESP
Màu đỏ là máy tính gửi đi,
màu đen là nhận về từ ESP
OK,
ESP hoạt động tốt, truyền nhận ổn định
Tiếp theo là lệnh Reset ESP
OK
Cài đặt ESP ở chế độ Station
OK
Lấy danh sách các mạng WiFi xung quanh
OK
Truy vấn địa chỉ của ESP
OK
Test vài lệnh cơ bản thôi
Mạch do AE phát triển
và được bán tại AE Shop
Nếu có thắc mắc, hãy để lại bình luận
Cảm ơn các bạn đã xem
