Summary
Bài viết này khám phá thế giới thú vị của Internet Vạn Vật (IoT) thông qua dự án Blink đơn giản dành cho người mới. Nó không chỉ cung cấp kiến thức cơ bản mà còn mở rộng tầm nhìn về những ứng dụng phong phú mà bạn có thể thực hiện với ESP32. Key Points:
- Khám phá tiềm năng vượt trội của ESP32 với khả năng kết nối Wi-Fi và Bluetooth, mở ra vô số cơ hội cho dự án IoT phức tạp hơn.
- Nhấn mạnh tầm quan trọng của quản lý rủi ro trong các dự án IoT thông qua việc lập kế hoạch kỹ lưỡng và sử dụng các công cụ mô phỏng để tránh sai sót không mong muốn.
- Giới thiệu sâu về lập trình nhúng, giải thích chi tiết mã nguồn điều khiển LED nhấp nháy, cùng các khái niệm cơ bản như vòng lặp và biến.
Giới thiệu về dự án IoT đầu tiên của tôi
Mình hiện đang là sinh viên năm hai tại Viện Công nghệ Bandung, chuyên ngành Hệ thống Thông tin và Công nghệ. Mình lần đầu tiếp xúc với Internet of Things - khóa học này - trong kỳ học thứ tư. Thực ra thì ban đầu mình cảm thấy khá bỡ ngỡ với môn học này vì chưa có nhiều kiến thức nền tảng hay kỹ năng nào cả. Nhưng mà may mắn thay, giáo sư Pak Soni đã thông báo rằng chúng mình sẽ tham gia vào một loạt các **dự án IoT**, vậy nên đây chính là khởi đầu cho hành trình của mình!
Dự án đầu tiên mà mình thực hiện mang tên **Blink!** Dự án này sử dụng các linh kiện như vi điều khiển Arduino hoặc Raspberry Pi cùng với cảm biến ánh sáng và đèn LED. Cảm biến sẽ thu thập dữ liệu môi trường xung quanh và truyền tải tín hiệu qua mạng Wi-Fi bằng module ESP8266. Quá trình kết nối giữa các thành phần diễn ra khá đơn giản: sau khi cài đặt mã lập trình cho vi điều khiển để nhận dữ liệu từ cảm biến, nó sẽ xử lý thông tin và kích hoạt đèn LED sáng lên khi phát hiện ánh sáng phù hợp.
Mặc dù vẫn còn nhiều điều cần phải học hỏi trong lĩnh vực IoT này, nhưng mỗi bước đi đều đem lại cho mình sự hứng thú cũng như những trải nghiệm quý giá. Với sự hỗ trợ từ giáo viên và bạn bè cùng lớp, hy vọng rằng dự án lần này sẽ mở ra nhiều cơ hội để khám phá sâu hơn về công nghệ thú vị này!
Những chuẩn bị cần thiết cho dự án Blink!
## Chuẩn bị
Tôi bắt đầu bằng việc chuẩn bị các linh kiện điện tử cần thiết, chẳng hạn như ESP32 DOIT với cổng Type C, cáp USB-C và bảng mạch thử nghiệm. Thật ra thì ESP32 của tôi đã có đèn LED tích hợp sẵn, nhưng tôi chỉ nhận ra điều đó muộn và đã cắt chân của một cái điện trở rồi... Dù sao đi nữa, tôi sẽ không sử dụng đèn LED xanh, điện trở và dây nhảy trong dự án này đâu.
Dự án IoT | Thành phần | Kết nối | Chương trình | Kết quả |
---|---|---|---|---|
Blink! | ESP32, cảm biến ánh sáng, đèn LED | Module ESP8266 qua Wi-Fi | Mã lập trình Arduino IDE cho LED nhấp nháy | LED hoạt động hiệu quả với các khoảng thời gian thay đổi |
Hệ thống điều khiển ánh sáng thông minh | Arduino/Raspberry Pi, cảm biến môi trường | Kết nối mạng Internet để thu thập dữ liệu | Chạy mã xử lý dữ liệu và điều khiển thiết bị từ xa | Cải thiện quản lý năng lượng và tiện ích trong cuộc sống hàng ngày |
Khám phá công nghệ mới trong IoT | Các linh kiện điện tử đa dạng như resistor, board mạch thử nghiệm | Thiết lập môi trường phát triển bằng Arduino IDE | Biên dịch và tải chương trình lên thiết bị thành công | Mở rộng khả năng ứng dụng và nghiên cứu nâng cao hơn |
Học hỏi từ thực tiễn dự án IoT đầu tiên của mình | ||||
Động lực học tập không ngừng nghỉ |
Danh sách linh kiện điện tử cho dự án
Cấu hình phần mềm Arduino IDE và cài đặt driver

Kết nối ESP32 với máy tính qua USB-C
Giờ thì chúng ta cần cài đặt driver USB to UART mạnh mẽ qua liên kết [đã cung cấp]. Tôi đã chọn phần mềm từ Universe. Thú thật, lúc đầu hơi bối rối vì không thấy thay đổi gì trong Arduino IDE và cũng không có thông báo pop-up như những video hướng dẫn khác. Vì vậy, tôi quyết định tìm hiểu thêm và khám phá những điều chưa biết. Trong file tải về, tôi nhấn chuột phải vào “silabser” Setup Information và chọn Install, nghĩ rằng có thể làm điều gì đó hữu ích. Chắc chắn nó đã hoạt động theo cách nào đó nhưng không thể nhìn thấy rõ ràng đối với bản thân nóng lòng của tôi. Cuối cùng, tôi hỏi bạn thân yêu của mình, Apple, xem liệu có bước nào mà tôi bỏ lỡ không.
Mở file ví dụ Blink! trong Arduino IDE
Sau đó, chúng ta có thể mở file ví dụ Blink! bằng cách vào File > Examples > 01. Basics > Blink. Nó sẽ hiện ra những dòng mã, hay trong thế giới của Arduino IDE, họ gọi đó là sketches. Hơi có vẻ sketchy một chút đấy nhỉ!
**Nguyên lý hoạt động**: Chương trình này điều khiển đèn LED nhấp nháy thông qua việc lập trình chân GPIO của board Arduino, cho phép hiểu rõ hơn về cách thức hoạt động.
**Tài liệu tham khảo**: Bạn có thể tìm hiểu thêm về các hàm sử dụng trong ví dụ Blink qua tài liệu chính thức của Arduino.
**Vật liệu cần thiết**: Để dễ dàng chuẩn bị cho dự án này, bạn nên liệt kê cụ thể loại board Arduino (như Uno hoặc Nano), LED, điện trở và dây nối để người mới không bị bỡ ngỡ khi bắt đầu thực hiện dự án này nhé.
Phân tích mã nguồn cho sketch Blink!
/* Nhấp nháy LED
Chương trình này làm cho một đèn LED bật trong một giây, sau đó tắt trong một giây, cứ như vậy lặp lại.
Hầu hết các board Arduino đều có một LED tích hợp mà bạn có thể điều khiển. Trên các board như UNO, MEGA và ZERO, nó được kết nối với chân số 13, còn trên MKR1000 là chân số 6.
Biến LED_BUILTIN được thiết lập để chỉ đúng chân LED bất kể loại board nào được sử dụng.
Nếu bạn muốn biết chân nào của LED tích hợp trên model Arduino của bạn đang kết nối, hãy kiểm tra thông số kỹ thuật tại: https://www.arduino.cc/en/Main/Products
Đã sửa đổi ngày 8 tháng 5 năm 2014 bởi Scott Fitzgerald
Đã sửa đổi ngày 2 tháng 9 năm 2016 bởi Arturo Guadalupi
Đã sửa đổi ngày 8 tháng 9 năm 2016 bởi Colby Newman
Mã ví dụ này thuộc về miền công cộng.
https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink */
// Hàm setup chạy một lần khi bạn nhấn reset hoặc cấp nguồn cho board.
void setup() {
// Khởi tạo chân digital LED_BUILTIN thành đầu ra.
pinMode(LED_BUILTIN, OUTPUT);
}
// Hàm loop chạy liên tục mãi mãi.
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // Bật đèn LED (HIGH là mức điện áp).
delay(1000); // Chờ một giây.
digitalWrite(LED_BUILTIN, LOW); // Tắt đèn LED bằng cách đưa điện áp về LOW.
delay(1000); // Chờ thêm một giây nữa.
}
Quá trình biên dịch và tải chương trình lên ESP32
Tôi thấy IDE này khá độc đáo. Để chạy mã, chúng ta cần "xác nhận" nó bằng cách nhấn nút kiểm tra. Hành động này tương tự như việc biên dịch mã nguồn. Sau đó, thông báo cho tôi biết rằng việc biên dịch đã hoàn tất và chúng ta cần tải chương trình lên ESP32. May mắn thay, không có lỗi nào xảy ra! :D
Để tăng cường quy trình biên dịch và tải chương trình lên ESP32, trước tiên hãy hiểu rằng IDE như Arduino IDE hoặc PlatformIO đóng vai trò rất quan trọng trong việc tạo mã nguồn hiệu quả. Khi kết nối ESP32 với máy tính qua USB, bạn cần đảm bảo đã cài đặt driver phù hợp để nhận diện thiết bị.
Ngoài ra, đối với dự án Blink này, bạn cũng sẽ cần các thư viện cần thiết như `Arduino.h`. Việc cài đặt các thư viện này thường diễn ra qua menu thư viện trong IDE mà bạn đang sử dụng.
Cuối cùng, nếu gặp phải những sự cố phổ biến khi tải chương trình lên ESP32 như lỗi kết nối hay lỗi biên dịch thì hãy kiểm tra lại cổng COM trên máy tính hoặc xác minh xem code có đúng cú pháp hay không nhé! Những thông tin trên sẽ giúp bạn nắm rõ hơn về quy trình và chuẩn bị tốt hơn cho dự án của mình.
Thử nghiệm thay đổi thời gian nhấp nháy LED
Kết thúc hành trình đầu tiên và những suy nghĩ sau khi hoàn thành
Reference Articles
Blynk là gì? Cách ứng dụng và sử dụng Blynk 2.0 cực kì ...
Với Blynk Legacy, người dùng có thể dễ dàng tạo ra các ứng dụng điều khiển từ xa cho các thiết bị thông minh mà không cần phải có kiến thức sâu về lập trình.
Source: FPTShopTất tần tật về Blynk V2 - New IOT Platform từ Bkynk.io
Trong bài này chúng ta cùng tìm hiểu Blynk V2 và tạo một project điều khiển đèn led. Đây là một IOT Platform nâng cấp từ Blynk v1 mà chúng ta ...
Source: Khuê Nguyễn CreatorHướng dẫn cài đặt và sử dụng Blynk New 2.0 với Esp8266
Bài viết này sẽ hướng các bạn cài đặt và sử dụng app Blynk new 2.0 trên Arduino IDE với Esp8266, giúp các bạn có cái nhìn tổng quan những ưu và nhược điểm ...
Source: Nshopvn.comCách dùng Blynk IOT với ESP32 điều khiển giám sát thiết bị
1. Khởi tạo server Blynk. a. Đăng ký tài khoản; b. Tạo bảng cơ sở dữ liệu Template; c. Thêm thiết bị mới vào server Blynk · 2. Kết nối ESP32 với ...
Source: Điện thông minh E-smartInternet Of Things (IoT) : cho người mới bắt đầu
Nội dung được thiết kế một cách cơ bản giúp học viên có cái nhìn tổng quan về việc xây dựng hệ thống, sản xuất thiết bị và dễ dàng tham gia vào ...
Source: GitHub PagesHướng dẫn cài đặt ESP8266 NodeMCU và kết nối với Blynk
Để có thể sử dụng App Blynk chúng ta cần phải đăng ký một tài khoản mới. Ở đây có 2 cách đăng ký bằng Facebook hoặc tạo một tài khoản mới (Create New Account).
Source: arduinokit.vn
Related Discussions