บทเรียนนี้เป็นส่วนหนึ่งของ: คู่มือการใช้งาน WiFi LoRa 32
วิดีโอทั้งหมดที่เกี่ยวข้องกับ Heltec WiFi LoRa 32 จะถูกจัดอยู่ในกลุ่มนี้ ลิงก์ไปยังวิดีโออื่นๆ อยู่ด้านล่างบทความนี้
13 ไมล์ 20 กิโลเมตร โดยไม่มี WiFi? LoRa ส่งแรงดันไฟฟ้าข้ามระยะทางสุดโหดได้อย่างไร! (Heltec WiFi LoRa 32 V3)
สร้างระบบตรวจวัดแรงดันไฟฟ้านอกระบบระยะไกล 13 ไมล์ด้วย LoRa และ ESP32
คุณเคยจำเป็นต้องตรวจสอบแหล่งจ่ายไฟระยะไกล เช่น แผงโซลาร์เซลล์ที่กระท่อม ชุดแบตเตอรี่บนเรือ หรืออุปกรณ์ในฟาร์มขนาดใหญ่ จากระยะไกลหลายไมล์หรือไม่? คู่มือโปรเจกต์นี้จะแนะนำคุณในการสร้างระบบตรวจวัดแรงดันไฟฟ้านอกระบบระยะไกลที่สามารถส่งข้อมูลได้ไกลถึง 13 ไมล์ (หรือ 21 กิโลเมตร) โดยไม่มีค่าสมัครสมาชิกหรือพึ่งพาเครือข่าย Wi-Fi หรือเครือข่ายโทรศัพท์มือถือ
เราจะใช้โมดูล Heltec WiFi LoRa 32 สองตัว แต่ละตัวอยู่ในกล่อง Meshnology N32 ที่ทนทานพร้อมแบตเตอรี่ 3000mAh เพื่อสร้างตัวส่งสัญญาณและตัวรับสัญญาณ ตัวส่งสัญญาณจะวัดแรงดันไฟฟ้าเป้าหมาย (จากไม่กี่โวลต์ถึง 100V หรือมากกว่า) โดยใช้วงจรแบ่งแรงดันไฟฟ้าอย่างง่ายและส่งค่าที่อ่านได้แบบไร้สายโดยใช้ LoRa จากนั้นตัวรับสัญญาณจะแสดงแรงดันไฟฟ้านี้แบบเรียลไทม์ ทำให้คุณสามารถตรวจสอบระบบของคุณจากระยะไกลหลายไมล์ได้
หลักการทำงาน: วงจรแบ่งแรงดันไฟฟ้า
หัวใจสำคัญของโปรเจกต์นี้คือความสามารถในการวัดแรงดันไฟฟ้าที่หลากหลาย เนื่องจากพินอินพุตของ ESP32 สามารถวัดแรงดันไฟฟ้าได้อย่างปลอดภัยสูงสุดเพียง 3.3V เท่านั้น เราจึงไม่สามารถเชื่อมต่อแหล่งจ่ายไฟ 12V หรือ 100V ได้โดยตรง เพื่อแก้ปัญหานี้ เราจะใช้วงจรอย่างง่ายที่เรียกว่า วงจรแบ่งแรงดันไฟฟ้า (voltage divider) ซึ่งจะลดแรงดันไฟฟ้าลงให้อยู่ในระดับที่ปลอดภัยสำหรับไมโครคอนโทรลเลอร์ในการอ่านค่า ซึ่งอธิบายไว้ในวิดีโอที่ 12:26
วงจรนี้ใช้ตัวต้านทานสองตัว (R1 และ R2) ต่อแบบอนุกรม แหล่งจ่ายแรงดันสูง (Vin) จะถูกจ่ายคร่อมตัวต้านทานทั้งสองตัว และ ESP32 จะอ่านค่าแรงดันไฟฟ้าที่ต่ำกว่าซึ่งเป็นสัดส่วนกัน (Vout) คร่อมเฉพาะตัวต้านทาน R2 เท่านั้น ด้วยค่าตัวต้านทานที่เหมาะสม คุณสามารถวัดแรงดันไฟฟ้าที่สูงมากได้อย่างแม่นยำ

เมื่อเลือกตัวต้านทานของคุณ หลักการง่ายๆ ที่ดีคือเลือกค่าที่ทำให้แรงดันเอาต์พุตอยู่ต่ำกว่าเกณฑ์ 3.3V อย่างมาก แม้เมื่อวัดแรงดันไฟฟ้าสูงสุดที่คุณคาดหวังก็ตาม เพื่อความแม่นยำสูงสุด คุณควรวัดค่าความต้านทานจริงของตัวต้านทานด้วยมัลติมิเตอร์และใช้ค่าที่แม่นยำเหล่านั้นในโค้ด

การประกอบฮาร์ดแวร์และการเดินสายไฟ
การประกอบเกี่ยวข้องกับการวางโมดูล Heltec LoRa 32 และแบตเตอรี่ 3000mAh ไว้ภายในกล่อง N32 กล่องมีช่องเจาะสำหรับหน้าจอและปุ่มต่างๆ และมีรูสำหรับติดตั้งเสาอากาศภายนอก ข้อควรระวังด้านความปลอดภัยที่สำคัญที่สุดประการหนึ่งคือ ต้องเชื่อมต่อเสาอากาศก่อนเปิดเครื่องเสมอ เนื่องจากการส่งสัญญาณโดยไม่มีเสาอากาศอาจทำให้โมดูล LoRa เสียหายได้



การตั้งค่า Arduino IDE และไลบรารี
https://resource.heltec.cn/download/package_heltec_esp32_index.json
ในการเขียนโปรแกรมโมดูล Heltec คุณต้องกำหนดค่า Arduino IDE ของคุณก่อน การตั้งค่าเพียงครั้งเดียวนี้มีความสำคัญและมีรายละเอียดอยู่ในวิดีโอที่ 20:41
- ติดตั้งบอร์ด ESP32: เพิ่ม URL ของบอร์ด Espressif ESP32 อย่างเป็นทางการใน File > Preferences และติดตั้งแพ็กเกจ "esp32" จาก Boards Manager
- ติดตั้งการรองรับ Heltec: เพิ่ม URL JSON เฉพาะของ Heltec ในการตั้งค่าของคุณ จากนั้นใน Boards Manager ค้นหาและติดตั้งแพ็กเกจ "Heltec ESP32"
- ติดตั้งไลบรารีที่จำเป็น: ใช้ Library Manager (Sketch > Include Library > Manage Libraries) ติดตั้งสิ่งต่อไปนี้:
Heltec ESP32 dev boardsAdafruit GFX Library(และไลบรารีที่เกี่ยวข้อง)
- ติดตั้งไลบรารี Robojax: คุณจะต้องดาวน์โหลดไลบรารี
Robojax_HeltecLoRa32ที่กำหนดเอง ซึ่งให้มาเป็นไฟล์ .zip ติดตั้งใน IDE ผ่าน Sketch > Include Library > Add .ZIP Library - เลือกบอร์ด: สุดท้าย ไปที่ Tools > Board และเลือก Heltec WiFi LoRa 32 (V3) และพอร์ต COM ที่ถูกต้อง
อธิบายการกำหนดค่าโค้ด
โปรเจกต์นี้ใช้สเก็ตช์แยกสองชุด: ชุดหนึ่งสำหรับ ตัวส่งสัญญาณ (TX) และอีกชุดสำหรับ ตัวรับสัญญาณ (RX) คุณเพียงแค่ต้องกำหนดค่าการตั้งค่าหลักๆ ไม่กี่รายการในโค้ดตัวส่งสัญญาณเพื่อให้ทำงานได้ ตามที่อธิบายไว้ที่ 25:02 โค้ดตัวรับสัญญาณต้องมีการตั้งค่า LoRa ที่ตรงกัน
#define VOLTAGE_READING_PIN 4 // ขาที่ใช้อ่านแรงดันไฟฟ้า
const int R1 = 39120; // ค่าที่วัดได้ของ R1 ในหน่วยโอห์ม
const int R2 = 3312; // ค่าที่วัดได้ของ R2 ในหน่วยโอห์ม
const float CALIB_FACTOR = 1.007f; // ค่าปรับเทียบเพื่อให้ตรงกับมัลติมิเตอร์
const char *displayTexttitle = "แรงดันไฟฟ้า:"; // ข้อความสำหรับจอ OLED
const char *displayTexTX = "(TX)";
// คีย์ความปลอดภัยนี้ต้องเหมือนกันทุกประการบนอุปกรณ์ TX และ RX
const char *userKey = "YOUR_SECRE8888";
// การตั้งค่า LoRa เหล่านี้ต้องเหมือนกันทุกประการบนอุปกรณ์ TX และ RX
#define RF_FREQUENCY 915000000 // ความถี่ LoRa ในหน่วยเฮิรตซ์
#define TX_OUTPUT_POWER 2 // กำลังส่ง TX ในหน่วย dBm (2-21)
VOLTAGE_READING_PIN: ขา GPIO บน ESP32 ที่คุณเชื่อมต่อกับเอาต์พุตของวงจรแบ่งแรงดันไฟฟ้าR1และR2: ใส่ค่าความต้านทานที่แม่นยำของตัวต้านทานทั้งสองตัวตามที่วัดด้วยมัลติมิเตอร์ ซึ่งสำคัญมากต่อความแม่นยำCALIB_FACTOR: หากแรงดันไฟฟ้าที่แสดงคลาดเคลื่อนเล็กน้อยจากมัลติมิเตอร์ที่เชื่อถือได้ คุณสามารถปรับค่านี้ขึ้นหรือลงได้ (เช่น 1.008 หรือ 0.995) เพื่อปรับแต่งการอ่านค่าให้ละเอียดขึ้น ตั้งเป็น1.0เพื่อปิดการใช้งานuserKey: นี่คือคีย์ความปลอดภัยส่วนตัวของคุณ เฉพาะอุปกรณ์ที่มีคีย์เหมือนกันทุกประการเท่านั้นที่สามารถสื่อสารกันได้RF_FREQUENCY: ความถี่ปฏิบัติการสำหรับ LoRa ซึ่งต้องตรงกันบนอุปกรณ์ทั้งสองตัวและต้องถูกกฎหมายสำหรับภูมิภาคของคุณ (เช่น 915MHz สำหรับอเมริกาเหนือ)TX_OUTPUT_POWER: กำลังส่ง ตั้งแต่ 2 (กำลังต่ำ ระยะใกล้) ถึง 21 (กำลังสูง ระยะไกล) กำลังที่สูงขึ้นใช้แบตเตอรี่มากขึ้น สำหรับการทดสอบระยะ 13 ไมล์ ใช้ค่า 20 สำหรับการทดสอบบนโต๊ะทำงาน ค่า 2 ก็เพียงพอแล้ว
โค้ดของตัวรับมีค่าการตั้งค่าที่คล้ายกันสำหรับ userKey และ RF_FREQUENCY ซึ่งต้องตรงกับการตั้งค่าของตัวส่ง
โปรเจกต์จริงขณะทำงาน
เมื่ออัปโหลดโค้ดแล้ว หน่วยตัวส่งจะเริ่มวัดแรงดันไฟฟ้าจากแหล่งจ่ายที่เชื่อมต่อ แสดงบนจอ OLED ของตัวเองพร้อมตัวบ่งชี้ "(TX)" และส่งข้อมูลผ่าน LoRa หน่วยตัวรับเมื่อตั้งโปรแกรมด้วยคีย์ความปลอดภัยและความถี่ที่ตรงกัน จะคอยฟังสัญญาณ ทันทีที่ได้รับสัญญาณที่ถูกต้อง มันจะแสดงแรงดันไฟฟ้าที่เหมือนกันบนจอพร้อมตัวบ่งชี้ "(RX)"
ดังที่สาธิตในการทดสอบระยะไกลที่ 31:39 การตั้งค่านี้มีประสิทธิภาพอย่างเหลือเชื่อ ด้วยเสาอากาศที่มีอัตราขยายสูงและแนวสายตาที่ชัดเจน ระบบสามารถส่งและรับค่าการอ่านแรงดันไฟฟ้าที่แม่นยำจากระยะทาง 13 ไมล์ได้สำเร็จ พิสูจน์ว่าเป็นโซลูชันที่แข็งแกร่งและเชื่อถือได้สำหรับงานตรวจสอบระยะไกลที่จริงจัง
บทของวิดีโอ
- 00:00 - เริ่มต้น
- 03:33 - แนะนำบอร์ดและ LoRa
- 05:47 - เคส N32 สำหรับ WiFi LoRa 32
- 12:26 - วงจรแบ่งแรงดันไฟฟ้าเพื่อวัดได้สูงสุด 150V
- 19:47 - เตรียมสายไฟเพื่อวัดแรงดันไฟฟ้า
- 20:41 - ติดตั้งไลบรารีสำหรับ WiFi LoRa 32
- 25:02 - อธิบายโค้ดตัวส่ง
- 27:16 - อธิบายโค้ดตัวรับ
- 28:36 - สาธิตการอ่านแรงดันไฟฟ้า
- 31:39 - ทดสอบระยะทางจริง (13 ไมล์)
บทเรียนนี้เป็นส่วนหนึ่งของ: คู่มือการใช้งาน WiFi LoRa 32
- ใช้ Heltec WiFi LoRa 32 V3 เพื่อส่งอุณหภูมิโดยใช้ DHT22 ไปยังระยะ 1.4 กิโลเมตร
- เปิดใช้งานอุปกรณ์จากระยะทาง 13 ไมล์ (21 กิโลเมตร) – โปรเจกต์ LoRa นอกระบบสุดยอดพร้อม WiFi LoRa 32!
- ระบบแจ้งเตือนประตูระยะไกลจากระยะทาง 13 ไมล์ (21 กิโลเมตร) ด้วย LoRa – นอกระบบโครงข่าย! (Heltec WiFi LoRa 32 V3)
- ควบคุมมอเตอร์เซอร์โวจากระยะไกล! บทช่วยสอน Heltec WiFi LoRa 32 V3 Arduino (TX)
- โปรเจกต์รีเลย์ระยะไกล DIY: ระยะทาง 13 ไมล์ ไม่ใช้ Wi-Fi/ไม่ใช้ซิม Heltec LoRa 32 โมดูล
- How to Use the Heltec LoRa CubeCell Development Board HTCC-AB01
Common Course Links
Common Course Files
แหล่งข้อมูลและเอกสารอ้างอิง
-
ภายนอก
-
ภายนอก
-
ภายนอก
-
ภายนอก
-
ภายนอกPurchase a WiFi LoRa 32 V3 from AliExpresss.click.aliexpress.com
-
ภายนอกPurchase a WiFi LoRa 32 V3 from AliExpress-2s.click.aliexpress.com
-
ภายนอก
-
ภายนอกPurchase Wi-Fi LoRa 32 from Meshnologymeshnology.com
ไฟล์📁
ไลบรารี Arduino (zip)
-
Robojax_HeltecLoRa32V3
Robojax_HeltecLoRa32V3.zip0.09 MB
ไฟล์อื่น ๆ
-
Robojax Heltec LoRa 32 V3 Library 1.0 - 2025-05-20This is library for Heltec WiFi LoRa 32 V3. It contains the example codes for projects. Please watch video for instructions on how to install it.
Robojax_HeltecLoRa32_1.0-20250520.zip0.09 MB -
Heltec WiFi LoRa 32 V3 Schematic Diagram (V3.1)
Heltec_WiFiLoRAV3_Schematic_Diagram.pdf0.18 MB