Search Code

Dự án Rơ-le Điều khiển Từ Xa Tự Làm: Mô-đun Heltec LoRa 32 Phạm vi 13 Dặm Không Cần Wi-Fi/Không Cần SIM

Bài học này là một phần của: Giới thiệu về WiFi LoRa

Dự án Rơ-le Điều khiển Từ Xa Tự Làm: Mô-đun Heltec LoRa 32 Phạm vi 13 Dặm Không Cần Wi-Fi/Không Cần SIM

Điều Khiển Từ Xa Tầm Xa LoRa với Heltec WiFi LoRa 32

Hãy tưởng tượng bạn có thể điều khiển một chiếc quạt, một ngọn đèn, một máy bơm nước hoặc một hệ thống báo động an ninh từ khoảng cách hơn 15 dặm hay 21 km, tất cả mà không cần thẻ SIM hoặc trả bất kỳ khoản phí nào. Điều này có thể thực hiện được nhờ công nghệ LoRa (Tầm xa), và trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn chính xác cách xây dựng một hệ thống như vậy. Chúng tôi sẽ sử dụng mô-đun Heltec WiFi LoRa 32 mạnh mẽ, được đặt gọn gàng bên trong vỏ Meshnology N35 chắc chắn bao gồm pin 3000mAh để hoạt động lâu dài.

Dự án này sẽ trình bày cách thiết lập một bộ phát và một bộ thu để điều khiển tải theo hai cách khác nhau: chức năng bật/tắt đơn giản và chức năng chuyển đổi trạng thái. Chúng tôi sẽ đề cập đến việc lắp ráp phần cứng, đấu dây, cài đặt mã và cho bạn xem một bài kiểm tra tầm xa thực tế.


Linh Kiện và Phần Cứng

Trọng tâm của dự án chúng tôi là một vài linh kiện chính được thiết kế để hoạt động cùng nhau nhằm đạt tầm xa và độ tin cậy tối đa.

  • Heltec WiFi LoRa 32 V3: Đây là một bộ vi điều khiển đa năng được tích hợp chip truyền thông LoRa, cũng như khả năng Wi-Fi và Bluetooth. Nó có thể lập trình hoàn toàn giống như Arduino, cho phép chúng ta đọc tín hiệu đầu vào và điều khiển đầu ra.
  • Vỏ & Pin Meshnology N35: Đây là một vỏ bền bỉ được thiết kế riêng cho mô-đun Heltec. Khi mua theo bộ, nó bao gồm pin 3000mAh, rất cần thiết cho việc truyền và nhận tín hiệu lâu dài, đặc biệt ở những địa điểm xa xôi.
  • Ăng-ten Độ Lợi Cao: Để đạt được tầm xa tốt nhất có thể, chúng tôi sẽ sử dụng ăng-ten độ lợi cao, giúp cải thiện đáng kể cường độ tín hiệu so với ăng-ten tiêu chuẩn.
  • Rơ-le hoặc Còi Báo: Đối với bộ thu, bạn có thể kết nối một rơ-le để điều khiển các thiết bị AC hoặc DC công suất cao như quạt và đèn, hoặc một còi báo đơn giản cho các ứng dụng báo động.

Lắp Ráp Phần Cứng

Việc lắp ráp thiết bị là một quá trình đơn giản, như được trình bày trong video bắt đầu từ khoảng 05:56. Bộ sản phẩm N35 đi kèm với mô-đun Heltec, pin 3000mAh, vỏ, ăng-ten với cáp nối dài và các chân cắm.

Các bước chính bao gồm đặt các nút bấm vào vỏ, luồn dây pin qua, kết nối cáp nối dài ăng-ten với mô-đun, đặt mô-đun vào bên trong và kết nối pin. Sau đó, bạn chỉ cần đóng vỏ và cố định giá đỡ ăng-ten ở bên ngoài. Đáng chú ý là một phiên bản đầu của vỏ yêu cầu một sửa đổi nhỏ để lắp giá đỡ ăng-ten, nhưng Meshnology đã khắc phục sự cố này trong các lô hàng mới hơn.


Đấu Dây cho Tải của Bộ Thu

Ở phía bộ thu, bạn sẽ kết nối thiết bị đầu ra của mình. Dưới đây là hướng dẫn đấu dây cho cả rơ-le và còi báo, như được trình bày chi tiết trong video tại 11:17.

Đấu Dây Rơ-le

Rơ-le hoạt động như một công tắc vận hành bằng điện, cho phép bạn điều khiển một tải công suất cao.

  • Chân tín hiệu của rơ-le kết nối với chân 4 của mô-đun Heltec LoRa.
  • Chân nối đất của rơ-le kết nối với chân GND trên mô-đun.
  • Quan trọng: Chân VCC (nguồn) của rơ-le nên được cấp nguồn từ nguồn 5V bên ngoài. Đầu ra 3.3V của mô-đun không thể xử lý dòng điện của rơ-le một cách đáng tin cậy.
  • Bạn phải tạo một điểm nối đất chung bằng cách kết nối dây nối đất của nguồn điện bên ngoài với dây nối đất của mô-đun Heltec. Điều này rất quan trọng để mạch hoạt động.
Helte_Wifi_LoRA 32

Đấu Dây Còi Báo với Transistor

Đối với một báo động âm thanh đơn giản, bạn có thể sử dụng một còi báo. Để tránh tiêu thụ quá nhiều dòng điện từ chân vi điều khiển, chúng tôi sử dụng transistor NPN 2N2222 để điều khiển nó.

  • Kết nối chân 4 của mô-đun với một điện trở 1kΩ. Đầu còn lại của điện trở kết nối với cực B (base) (chân giữa) của transistor.
  • Cực E (emitter) của transistor (chân bên trái, với mặt phẳng hướng về phía bạn) kết nối với GND.
  • Cực C (collector) của transistor (chân bên phải) kết nối với đầu âm (-) của còi báo.
  • Đầu dương (+) của còi báo kết nối với chân 3.3V trên mô-đun Heltec.
Helte_Wifi_LoRA 32 with buzzer

Thiết Lập Arduino IDE và Thư Viện

Trước khi bạn có thể tải mã lên, bạn cần cấu hình Arduino IDE để hoạt động với các bo mạch Heltec. Quá trình này bắt đầu tại 14:37 trong video.

  1. Cài đặt bo mạch ESP32: Trong Arduino IDE, vào Boards Manager và tìm kiếm ESP32. Cài đặt gói của Espressif Systems.
  2. Thêm URL bo mạch Heltec: Vào File > Preferences. Trong "Additional Boards Manager URLs," thêm liên kết JSON cho dòng Heltec ESP32. Liên kết này sẽ được cung cấp trên trang tài nguyên bên dưới bài viết.
  3. Cài đặt bo mạch Heltec ESP32: Quay lại Boards Manager, tìm kiếm Heltec ESP32, và cài đặt gói.
  4. Cài đặt các thư viện cần thiết: Vào Library Manager và cài đặt các thư viện sau:
    • Heltec ESP32 dev boards
    • Adafruit GFX Library (và nhấp "Install All" cho các phần phụ thuộc của nó)
  5. Cài đặt thư viện Robojax: Tải xuống thư viện zip tùy chỉnh Robojax Heltec LoRa 32 từ trang tài nguyên. Trong Arduino IDE, vào Sketch > Include Library > Add .ZIP Library và chọn tệp bạn đã tải xuống.
  6. Chọn bo mạch: Cuối cùng, vào Tools > Board và chọn Heltec WiFi LoRa 32 (V3).

Giải thích cài đặt mã

Chúng tôi có ba mã nguồn khác nhau cho dự án này: một cho bộ phát bật/tắt đơn giản, một cho bộ phát chuyển đổi trạng thái, và một cho bộ thu. Thư viện xử lý các phần phức tạp, vì vậy bạn chỉ cần điều chỉnh một vài cài đặt ở đầu mỗi tệp. Phần giải thích mã bắt đầu từ 19:00 trong video.

Bộ phát (TX) - Cài đặt mã bật/tắt đơn giản

Mã này chỉ bật rơ-le khi nút được giữ.

// Văn bản hiển thị trên màn hình OLED
const char *displayTexttitle = "Relay:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayON = "ON";
const char *displayTextRelayOFF = "OFF";

// Khóa bảo mật và tần số (PHẢI KHỚP VỚI BỘ THU)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000 

// Công suất truyền (2-21, cao hơn là mạnh hơn)
#define TX_OUTPUT_POWER 14 

Bộ phát (TX) - Cài đặt mã chuyển đổi trạng thái

Mã này chuyển đổi trạng thái của rơ-le (từ bật sang tắt, hoặc tắt sang bật) với mỗi lần nhấn nút.

// Đặt thành true để gỡ lỗi qua serial monitor, false để sử dụng bình thường
bool debug = true; 
// Chân nút nhấn tích hợp là 0
#define PUSH_BUTTON_PIN 0  

// Văn bản hiển thị trên màn hình OLED
const char *displayTextTitle = "Relay:";
const char *displayTextTX = "(TX)";
const char *displayTextRelayToggleON = "TOG-ON";
const char *displayTextRelayToggleOFF = "TOG-OFF";

// Khóa bảo mật và tần số (PHẢI KHỚP VỚI BỘ THU)
const char *userKey = "6tfDs$wEq3!"; 
#define RF_FREQUENCY 915555000 

// Công suất truyền (2-21)
#define TX_OUTPUT_POWER 2 

Cài đặt mã bộ thu (RX)

Mã bộ thu duy nhất này hoạt động với cả bộ phát đơn giản và bộ phát chuyển đổi trạng thái.

// Chân kết nối với đầu vào tín hiệu của rơ-le
#define RELAY_CONTROL_PIN 4

// Văn bản hiển thị trên màn hình OLED
const char *displayTextTitle = "Relay:"; 
const char *displayTextTX = "(RX)"; 
const char *displayTextRelayON = "ON"; 
const char *displayTextRelayOFF = "OFF"; 
const char *displayTextRelayToggleON = "TOG-ON"; 
const char *displayTextRelayToggleOFF = "TOG-OFF"; 

// Khóa bảo mật và tần số (PHẢI KHỚP VỚI BỘ PHÁT)
const char *userKey = "6tfDs$wEq3!";
#define RF_FREQUENCY 915555000 

Quan trọng, userKeyRF_FREQUENCY phải giống hệt nhau trên cả bộ phát và bộ thu để chúng có thể giao tiếp.


Trình diễn và kiểm tra phạm vi 13 dặm

Hệ thống hoạt động hoàn hảo trong môi trường phòng thí nghiệm, với rơ-le hoặc còi của bộ thu phản hồi ngay lập tức khi nhấn nút trên bộ phát. Nhưng sức mạnh thực sự của LoRa là phạm vi của nó.

Một bài kiểm tra phạm vi xa đã được thực hiện, như được thấy từ 25:03 trở đi. Bộ phát được đặt ở mức công suất 20, trang bị ăng-ten độ lợi cao, và đặt trên chân máy khoảng 10 mét trên mực nước ở bờ hồ để đảm bảo tầm nhìn thẳng rõ ràng. Bộ thu sau đó được mang đến phía bên kia hồ.

Kết quả là một thành công đáng kinh ngạc. Một tín hiệu ổn định đã được nhận từ khoảng cách 13,04 dặm, hoặc 20,98 km. Điều này chứng minh rằng với thiết lập phù hợp, bạn có thể điều khiển thiết bị một cách đáng tin cậy qua khoảng cách rất xa, làm cho nó hoàn hảo cho các ứng dụng như giám sát nông nghiệp từ xa, điều khiển cổng, hoặc hệ thống báo trộm tầm xa.


Mốc thời gian video

  • 00:00 - Giới thiệu về điều khiển tầm xa
  • 02:42 - LoRa là gì?
  • 03:20 - Tổng quan về linh kiện (Heltec, vỏ N35)
  • 05:56 - Mở hộp và lắp ráp phần cứng
  • 11:17 - Giải thích về đấu dây: Rơ-le và còi
  • 14:37 - Thiết lập Arduino IDE & Thư viện
  • 19:00 - Giải thích cài đặt mã (TX và RX)
  • 25:03 - Trình diễn & Kiểm tra phạm vi 13 dặm
Không có mã đính kèm.

Tài nguyên & tài liệu tham khảo

Tập tin📁

Thư viện Arduino (tệp nén)

Các tập tin khác