หน้าแรก ดูโปรเจกต์ทั้งหมด
Easy

โปรเจกต์ ESP32 Aneroid Barometer โดยใช้ Squareline Studio และ LVGL บนหน้าจอ CrowPanel Round display

วิธีที่ electronics สมัยใหม่สามารถแทนที่และพัฒนา mechanical instrument แบบคลาสสิกได้อย่างสมบูรณ์ โดยมอบความแม่นยำแบบ digital ใน package แบบ retro ที่สวยงาม

โปรเจกต์ ESP32 Aneroid Barometer โดยใช้ Squareline Studio และ LVGL บนหน้าจอ CrowPanel Round display

วิดีโอสาธิต

Video

▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์

81 การดู

รายการอุปกรณ์และเครื่องมือ

1x Soldering Station
-
1x Gravity: I2C BME280 Environmental Sensor
🛒 สั่งซื้อ
1x Elecrow CrowPanel 2.1inch-HMI ESP32 Rotary Display 480*480
-

แอปพลิเคชันและแพลตฟอร์ม

1x LVGL Image Converter
ค้นหา Google
1x Squareline Studio
ค้นหา Google

รายละเอียดและวิธีทำ

บารอมิเตอร์ (Barometer) คือเครื่องมือทางวิทยาศาสตร์ที่ใช้สำหรับวัดความกดอากาศ โดยทั่วไปความกดอากาศที่สูงขึ้นบ่งบอกว่าสภาพอากาศกำลังดีขึ้น และความกดอากาศที่ลดลงมักหมายถึงพายุและฝนที่กำลังจะมา ส่วนความกดอากาศที่คงที่แสดงถึงสภาพอากาศที่สม่ำเสมอ ในโปรเจกต์นี้ผมจะอธิบายวิธีง่ายๆ ในการสร้าง Aneroid Barometer emulator ซึ่งความจริงแล้วเราจะใช้ Digital electronics สมัยใหม่เข้ามาช่วยเลียนแบบการทำงานของ Barometer แบบกลไกคลาสสิกได้แบบ 100% โดย Aneroid Barometer นี้จะมีเข็มสองอัน คือ เข็มวัดสีดำ และเข็มอ้างอิงสีเหลือง

วิธีการพยากรณ์อากาศคือ: เราต้องปรับเข็มวัดสีดำให้ตรงกับเข็มสีเหลือง หลังจากผ่านไปไม่กี่ชั่วโมง หากเข็มวัดสีดำเลื่อนไปทางซ้ายของเข็มสีเหลือง แสดงว่าสภาพอากาศจะไม่คงที่ แต่ถ้าเลื่อนไปทางขวา แสดงว่าสภาพอากาศจะดีขึ้นและคงที่ หากเข็มทั้งสองยังคงทับกันอยู่ แสดงว่าไม่มีการเปลี่ยนแปลงของสภาพอากาศ ในเครื่องมือต้นฉบับ เข็มอ้างอิงจะถูกเลื่อนด้วยปุ่มที่อยู่ตรงกลางเครื่อง แต่ในกรณีนี้ ฟังก์ชันดังกล่าวจะทำงานผ่าน Rotary encoder

อุปกรณ์ชิ้นนี้สร้างได้ง่ายมากด้วยจอ CROWPANEL Round display ซึ่งมี ESP32S3 microcontroller และ Rotary Encoder ติดตั้งมาในตัว ดังนั้นจึงจำเป็นต้องเชื่อมต่อ BME280 Module เข้ากับพอร์ต I2C ที่สอดคล้องกับโมดูลจอแสดงผลนี้เท่านั้น

นี่คือโปรเจกต์แรกของผมที่ใช้ LVGL library และ Squareline Studio ซึ่งช่วยให้คุณสร้างโปรเจกต์ที่มีประสิทธิภาพทั้งในด้านภาพและฟังก์ชันการใช้งานได้อย่างน่าทึ่งด้วยวิธีที่ค่อนข้างง่าย

ครั้งนี้ผมจะไม่ลงรายละเอียดเกี่ยวกับวิธีการพัฒนาและสร้าง Code รวมถึง UI ใน Squareline Studio เนื่องจากมีการอธิบายไว้อย่างละเอียดในบทเรียนก่อนหน้าหลายแห่งแล้ว แต่ผมจะอธิบายขั้นตอนคร่าวๆ เพื่อให้คุณสามารถทำโปรเจกต์นี้ได้สำเร็จ

โปรเจกต์นี้ได้รับการสนับสนุนโดย PCBWay ตั้งแต่แนวคิดไปจนถึงการผลิต PCBWay ให้บริการโซลูชันการออกแบบอิเล็กทรอนิกส์ที่ทันสมัยสำหรับนักนวัตกรรมทั่วโลก รวมถึงการออกแบบ Hardware, การพัฒนา Software, การออกแบบเครื่องกล, การทดสอบผลิตภัณฑ์ และการรับรองมาตรฐาน ทีมวิศวกรของ PCBWay ประกอบด้วยวิศวกรที่มีประสบการณ์ด้านอิเล็กทรอนิกส์, ระบบ Embedded และการพัฒนาผลิตภัณฑ์ พวกเขาประสบความสำเร็จในการส่งมอบโปรเจกต์หลายร้อยโครงการในอุตสาหกรรมต่างๆ เช่น อุปกรณ์ทางการแพทย์, ระบบอัตโนมัติในอุตสาหกรรม, สินค้าอุปโภคบริโภค, Smart home และ IoT

ต่อไปนี้คือรายละเอียดการติดตั้งอุปกรณ์โดยใช้ Library ต่างๆ

ขั้นแรก คุณต้องใช้ Arduino IDE เวอร์ชัน 1.8.15 หรือใหม่กว่า จากนั้นติดตั้ง ESP32 Core เวอร์ชัน 2.0.14 หรือ 2.0.15 ตามคำแนะนำในหน้า Elecrow GitHub ตอนนี้ในเมนู Tools-Board-ESP32 Arduino เราจำเป็นต้องเลือก ESP32S3 Dev Module

สำหรับบอร์ดนี้ เราต้องปรับเปลี่ยนคุณสมบัติบางอย่าง: Flash Size 16MB, Partition scheme- Huge App และ PSRAM - OPI PSRAM ถัดไป เราต้องติดตั้ง LVGL library โดยเฉพาะเวอร์ชัน 8.3.11 นอกจากนี้คุณต้องติดตั้ง Arduino_GFX_Library และ Adafruit_BME280 library ด้วย โดย Library และไฟล์ที่จำเป็นทั้งหมดจะระบุไว้ที่ตอนท้ายของเนื้อหา ต่อมาคืออีกขั้นตอนที่สำคัญ คือในรูทของ Libraries folder (ซึ่งโดยส่วนใหญ่อยู่ใน user/documents/arduino) คุณต้องคัดลอกไฟล์กำหนดค่าสำหรับ LVGL library ที่ชื่อว่า "lv_conf.h" เมื่อเตรียมทุกอย่างเรียบร้อยแล้ว เราก็พร้อมที่จะ Compile และ Upload Code ที่กำหนดให้

ในขั้นตอนนี้ ให้เราแตกไฟล์ Code Final .zip โดยไม่ต้องเปลี่ยนชื่อโฟลเดอร์ภายใน เข้าไปในโฟลเดอร์แล้วเปิดไฟล์ .ino ด้วยวิธีนี้ Code จะถูกเปิดขึ้นพร้อมกับไฟล์ UI ที่จำเป็นซึ่งสร้างขึ้นก่อนหน้านี้ด้วย Squareline Studio ตอนนี้เราสามารถ Compile และ Upload Code ได้โดยไม่มีข้อผิดพลาด

ในส่วนของ Code นั้นถูกสร้างขึ้นในรูปแบบที่เราสามารถเปลี่ยน Parameter บางอย่างเพื่อให้ Barometer ทำงานได้อย่างปกติและแม่นยำ:

- ระดับความสูงที่เราอยู่จะถูกระบุในบรรทัด: static const float ALTITUDE_M =

- ความถี่ในการอ่านค่าจาก Sensor ถูกกำหนดในบรรทัด: static const uint32_t READ_PERIOD_MS

- การปรับแต่ง "Calibration" ของ Barometer ทำในบรรทัด: static const float NEEDLE_OFFSET_DEG โดยเราจะใส่ค่ามุมเพื่อให้เข็มแสดงค่าความกดอากาศที่ถูกต้องตามที่แสดงบน Serial Monitor

- และความละเอียดในการเคลื่อนที่ของเข็มสีเหลือง หรือขั้นตอนการเปลี่ยนแปลง ถูกตั้งค่าในบรรทัด: float diff = (encoderValue - lastEncoderValue) * 1.0f;

คราวนี้มาดูกันว่าอุปกรณ์ทำงานอย่างไรในสภาวะจริง: ทันทีหลังจากเปิดเครื่อง ภาพรายละเอียดของ Aneroid Barometer สไตล์เรโทรจะปรากฏบนจอแสดงผล โดยเข็มสีดำจะหยุดนิ่งที่ค่า Relative Atmospheric Pressure ในปัจจุบัน โดยทั่วไปหากความกดอากาศสูงกว่า 1013 HPa จะบ่งบอกถึงสภาพอากาศที่คงที่ และหากต่ำกว่า 1013 HPa จะบ่งบอกถึงสภาพอากาศที่ไม่คงที่ สำหรับเรา ข้อมูลการเปลี่ยนแปลงของความกดอากาศในช่วงเวลาหนึ่ง (อย่างน้อย 3 ครั้ง) เป็นสิ่งสำคัญ

เพื่อจุดประสงค์นี้ เราจึงตั้งเข็มอ้างอิงสีเหลืองให้ตรงทับเข็มสีดำพอดี หากผ่านไปช่วงเวลาหนึ่งแล้วเข็มสีดำเลื่อนไปทางซ้ายเมื่อเทียบกับเข็มสีเหลือง สภาพอากาศจะเริ่มไม่คงที่ และในทางกลับกัน หากเลื่อนไปทางขวา สภาพอากาศจะคงที่ หากเข็มทั้งสองยังคงซ้อนทับกัน จะไม่มีการเปลี่ยนแปลงของสภาพอากาศ เมื่อลองใช้ปลายนิ้วกดเหนือ Sensor (เพื่อเพิ่มความกดอากาศจำลอง) เราจะเห็นว่าเข็มค่อยๆ เลื่อนไปทางขวา แล้วกลับสู่สถานะเริ่มต้นในเวลาอันสั้น จะเห็นได้ว่า Barometer นี้เลียนแบบการทำงานของ Aneroid Barometer แบบกลไกได้อย่างสมบูรณ์ ข้อแตกต่างเพียงอย่างเดียวคือ Barometer แบบกลไกนั้น หากต้องการอ่านค่าปัจจุบันอย่างแม่นยำ คุณต้องเคาะกระจกเบาๆ หลายๆ ครั้ง แต่ในกรณีนี้ค่าที่ได้จะแม่นยำเสมอ ซึ่งถือเป็นข้อได้เปรียบที่ยอดเยี่ยม ยังไม่รวมถึงความละเอียดในการวัดซึ่งตอนนี้อยู่ในระดับทศนิยม

และสุดท้าย บทสรุปสั้นๆ: โปรเจกต์นี้แสดงให้เห็นว่าเทคโนโลยีอิเล็กทรอนิกส์สมัยใหม่สามารถทดแทนและปรับปรุงเครื่องมือแบบกลไกคลาสสิกได้อย่างสมบูรณ์ โดยให้ความแม่นยำแบบ Digital ในรูปลักษณ์เรโทรที่สวยงาม ด้วย Barometer เครื่องนี้ คุณจะไม่เพียงแต่ได้อุปกรณ์พยากรณ์อากาศที่ใช้งานได้จริง แต่ยังเป็นของตกแต่งบ้านที่ดูน่าประทับใจอีกด้วย

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: esp32-aneroid-barometer-using-squareline-studio-and-lvgl-on-crowpanel-round-display-0b79f5
2450 บาท
PromptPay QR Code

ประเมิน Project

อยากได้งานคล้ายโปรเจคนี้? กดไปหน้าประเมินราคา

เอาฟอร์มยาวออกจากท้ายหน้า Project แล้ว เหลือเป็นปุ่มให้กดไปกรอกหน้าเดียว ตัวใหญ่ เว้นบรรทัดเยอะ อ่านง่ายกว่า

รีวิวจากคนใช้งานจริง

รีวิวจากลูกค้าและคนที่เคยใช้งาน

ถ้าเคยสั่งงาน เคยอ่านหน้านี้แล้วได้ประโยชน์ หรือมีข้อเสนอแนะ ฝากรีวิวไว้ได้เลย

กำลังโหลดรีวิว...