สารบัญ:
- ขั้นตอนที่ 1: รายการฮาร์ดแวร์
- ขั้นตอนที่ 2: เครื่องมือ
- ขั้นตอนที่ 3: ประกอบฮาร์ดแวร์
- ขั้นตอนที่ 4: ปรับแต่ง Timing
- ขั้นตอนที่ 5: ซอฟต์แวร์
- ขั้นตอนที่ 6: กำหนดค่าซอฟต์แวร์
- ขั้นตอนที่ 7: วิธีการทำงานของซอฟต์แวร์
- ขั้นตอนที่ 8: เรียกใช้มัน
- ขั้นตอนที่ 9: ทิศทางในอนาคต
วีดีโอ: นาฬิกาน้ำขึ้นน้ำลงและสภาพอากาศ: 9 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
แม้ว่าคุณจะสามารถซื้อนาฬิกาบอกเวลาน้ำแบบแอนะล็อกที่มีเข็มเพียงข้างเดียวที่บ่งบอกว่าน้ำขึ้นหรือลงหรืออยู่ที่ไหนสักแห่งในระหว่างนั้น สิ่งที่ฉันต้องการคือสิ่งที่บอกฉันว่าเวลาน้ำลงจะเป็นอย่างไร ฉันต้องการบางอย่างที่สามารถดูได้อย่างรวดเร็วโดยไม่ต้องเปิดเครื่อง กดปุ่มใดๆ หรือรอ และฉันต้องการบางอย่างที่มีอายุการใช้งานแบตเตอรี่ยาวนาน ดังนั้นฉันจึงใช้บอร์ด TTGO T5 ซึ่งเป็นบอร์ดที่ใช้ ESP32 พร้อมจอแสดงผลกระดาษอิเล็กทรอนิกส์ขนาด 2.13 นิ้ว เชื่อมต่อกับชิป TTL5110 TPL5110 จะเปิด T5 ทุกๆ 2.5 ชั่วโมง และ T5 จะดาวน์โหลดข้อมูลน้ำขึ้นน้ำลงวันละครั้ง ข้อมูล NOAA และสภาพอากาศจาก OpenWeatherMap แสดงข้อมูลบน e-paper จากนั้นบอกให้ TPL5110 ปิด T5
UPDATE (25 ก.พ. 2020) นาฬิกาน้ำขึ้นน้ำลงทำงานมาหนึ่งปีแล้ว และแบตเตอรี่อยู่ที่ 4.00 โวลต์ ดังนั้นนาฬิกาจึงสามารถทำงานได้หลายปี
ขั้นตอนที่ 1: รายการฮาร์ดแวร์
บอร์ด TTGO T5 $17
Adafruit TPL5110 กระดาน $5
Adafruit Perma-Proto ขนาดไตรมาส (อุปกรณ์เสริม) 0.71 ดอลลาร์ (สั่งซื้อขั้นต่ำ 8.50 ดอลลาร์)
แบตเตอรี่ Li-Poly 1200 mAh $10 (หรือแหล่งพลังงานอื่นที่เหมาะสม)
สายเคเบิล 2 พิน JST PH – หัวต่อตัวผู้ $0.75
ตัวเก็บประจุ 220 ยูเอฟ
ขั้นตอนที่ 2: เครื่องมือ
หัวแร้ง
เครื่องปอกสายไฟ
เครื่องชาร์จแบตเตอรี่ Li-Po เช่นนี้
ขั้นตอนที่ 3: ประกอบฮาร์ดแวร์
การประกอบฮาร์ดแวร์นั้นค่อนข้างง่ายตามที่แสดงแผนผัง ฉันใช้บอร์ด Adafruit Perma-proto ซึ่งเหมือนกับโปรโตบอร์ดทั่วไป ยกเว้นว่ามันถูกจัดวางเหมือนเขียงหั่นขนม โดยมีการเชื่อมต่อทางไฟฟ้าเหมือนกับเขียงหั่นขนม ซึ่งดีมาก เนื่องจากฉันต้องการการเชื่อมต่อเพียงเล็กน้อย และต้องการประกอบชิ้นส่วนทั้งหมดลงในกล่องขนาดเล็ก ฉันจึงตัดแผ่นไม้แผ่นหนึ่งเป็นสี่ส่วนด้วยล้อตัด Dremel
ตัวเก็บประจุ 220 ยูเอฟมีความสำคัญมาก หากไม่มีสิ่งนี้ TPL5110 จะไม่เปิด T5 เลย ไม่ชัดเจนว่าทำไม แต่คนอื่นที่ใช้ TPL5110 ก็มีปัญหาเดียวกัน บางที ESP32 อาจดึงกระแสข้อมูลเมื่อเริ่มต้นมากกว่าที่ TTL5110 สามารถจัดหาได้?
อย่าเดินสายแบตเตอรี่ ใช้สาย JST-PH เพื่อถอดแบตเตอรี่ออกเพื่อชาร์จ อาจมีวิธีชาร์จแบตเตอรี่จาก T5 กลับผ่าน TPL5110 หาก TPL5110 "เปิด" แต่ฉันไม่สามารถรับรองเทคนิคนั้นได้
ฉันทำกล่องไม้เป็นตู้ แต่ทุกอย่างที่มีขนาดภายในขั้นต่ำ 1.5" x 2.75" x 1" ก็ใช้ได้
ขั้นตอนที่ 4: ปรับแต่ง Timing
บอร์ด TPL5110 มีโพเทนชิออมิเตอร์แบบทริมที่ตั้งค่าช่วงเวลาที่ TPL5110 เริ่มทำงาน ใช้ไขควงเล็กๆ หมุนทวนเข็มนาฬิกาจนสุด บนกระดานของฉัน การตั้งค่านี้กำหนดช่วงเวลาเป็น 145 นาที ซึ่งจริง ๆ แล้วเกินขีดจำกัดสูงสุด 120 นาที แต่ใช้งานได้และสม่ำเสมอ และจะประหยัดพลังงานได้มากกว่าการตื่นทุกๆ 120 นาที ดังนั้นฉันจึงใช้มัน คุณไม่จำเป็นต้องรู้ช่วงเวลาอย่างแม่นยำ เนื่องจากเป้าหมายคือการดาวน์โหลดข้อมูลประมาณวันละครั้งประมาณตี 4 โดยประมาณเท่านั้น คุณสามารถระบุช่วงเวลา (เช่น 145 นาที) และเวลาปลุก (เช่น 04.00 น.) ใน env_config.h
(ถ้าคุณต้องการควบคุมเวลาสำหรับโครงการอื่น ๆ ได้ดีขึ้น บอร์ด TPL5110 มีร่องรอยอยู่ด้านหลัง คุณสามารถตัดเพื่อปิดใช้งานโพเทนชิออมิเตอร์ จากนั้นคุณติดตัวต้านทานกับหมุดหน่วงเวลา และความต้านทานจะกำหนดช่วงเวลา ตาม แผนภูมินี้)
ขั้นตอนที่ 5: ซอฟต์แวร์
คุณจะต้องใช้ Arduino IDE พร้อมแพ็คเกจ ESP32 ใน IDE ให้ตั้งค่าบอร์ดของคุณเป็น "ESP32 Dev Module"
สามารถดูแบบร่างได้ที่ https://github.com/jasonful/Tides และต้องใช้ 3 ไลบรารี:
- "ESP8266 Weather Station" มีอยู่ใน Arduino Library Manager (หรือที่นี่) คุณจะต้องใช้ 6 ไฟล์เหล่านี้เท่านั้น: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h และสามารถลบส่วนที่เหลือได้
- "Json Streaming Parser" มีให้จาก Arduino Library Manager (หรือที่นี่)
- https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo แม้ว่าโค้ดจะไม่ได้จัดเป็นไลบรารี่จริง คุณก็สามารถคัดลอกมันไว้ใต้ไดเร็กทอรีไลบรารีของคุณและรวม มัน.
ขั้นตอนที่ 6: กำหนดค่าซอฟต์แวร์
มีพารามิเตอร์หลายตัวที่คุณจะต้องตั้งค่า (และอีกสองสามตัวที่คุณอาจต้องการตั้งค่า) ในไฟล์ env_config.h ได้แก่:
- WiFi SSID และรหัสผ่าน
- รหัสสถานี NOAA (กล่าวคือคุณอยู่ที่ไหน)
- OpenWeatherMap AppID ซึ่งคุณจะต้องลงทะเบียน (ง่ายและฟรี)
- OpenWeatherMap LocationID (อีกครั้ง คุณอยู่ที่ไหน)
- CONFIG_USE_TPL5110 ซึ่งช่วยให้คุณใช้ T5 ได้โดยไม่ต้องใช้ TPL5110 ซอฟต์แวร์จะเข้าสู่โหมดสลีปลึกแทน บอร์ด T5 ใช้พลังงานประมาณ 8 mA ในการนอนหลับสนิท ดังนั้นฉันคาดว่าแบตเตอรี่จะใช้งานได้ไม่กี่วันเท่านั้น
ขั้นตอนที่ 7: วิธีการทำงานของซอฟต์แวร์
(คุณสามารถข้ามส่วนนี้หากคุณไม่สนใจ)
เป้าหมายคือการตื่นวันละครั้ง แต่เนื่องจากช่วงเวลาสูงสุดของ TPL5110 คือเพียง 2 ชั่วโมงหรือมากกว่านั้น T5 จึงต้องตื่นบ่อยขึ้น ดังนั้นหลังจากที่ดาวน์โหลดข้อมูลน้ำขึ้นน้ำลงและสภาพอากาศแล้ว ระบบจะคำนวณว่าช่วงเวลา 2 ชั่วโมงนี้มีกี่ช่วงระหว่างตอนนี้ถึง 04:00 น. เช้าวันพรุ่งนี้ สิ่งนี้ซับซ้อนเล็กน้อยจากข้อเท็จจริงที่ว่า TPL5110 ตัดพลังงานให้กับ T5 โดยสิ้นเชิง ซึ่งดีสำหรับแบตเตอรี่ แต่หมายความว่าเราสูญเสีย RAM และนาฬิกาแบบเรียลไทม์ เหมือนตื่นมาทุกเช้าด้วยความจำเสื่อม ดังนั้นหากต้องการทราบว่าขณะนี้เป็นเวลาเท่าไร ระบบจะดึงข้อมูลดังกล่าวออกจากส่วนหัว HTTP ของ NOAA และเพื่อจำว่าเหลือเวลาอีก 2 ชั่วโมงเท่าใด ระบบจึงเขียนตัวนับหน่วยเก็บข้อมูลแบบไม่ลบเลือน (แฟลช) ทุกครั้งที่มันตื่น มันจะตรวจสอบตัวนับนั้น ลดค่า จัดเก็บ และถ้ามันมากกว่าศูนย์ มันจะส่งสัญญาณไปที่ TPL51110 ("เสร็จสิ้น") เพื่อบอกให้เครื่องเข้าสู่โหมดสลีปทันที เมื่อตัวนับถึงศูนย์ โค้ดจะดาวน์โหลดข้อมูลใหม่ และคำนวณใหม่และรีเซ็ตตัวนับ
ขั้นตอนที่ 8: เรียกใช้มัน
ตรวจสอบให้แน่ใจว่าสวิตช์ทางด้านซ้ายของ T5 อยู่ในตำแหน่งขึ้น (เปิด) อัปโหลดภาพร่างไปที่ T5 และภายในไม่กี่วินาที หน้าจอควรอัปเดตด้วยข้อมูลน้ำขึ้นน้ำลงและสภาพอากาศ
หากคุณต้องการดีบักซอฟต์แวร์ ให้เปลี่ยน "#define DEBUG 0" ที่ด้านบนสุดของ Tides.ino เป็น "#define DEBUG 1" การดำเนินการนี้จะเปิดเอาต์พุตการดีบักแบบอนุกรม และยังแสดงจำนวนการรีสตาร์ทที่เหลืออยู่ที่ด้านล่างสุดของ e-paper ก่อนที่จะดาวน์โหลดข้อมูลใหม่ และเวลาที่ดาวน์โหลดข้อมูลครั้งล่าสุด
ขั้นตอนที่ 9: ทิศทางในอนาคต
- การใช้ TPL5110 ร่วมกับจอแสดงผล e-paper เป็นวิธีที่ยอดเยี่ยมในการแสดงข้อมูลที่ไม่เปลี่ยนแปลงบ่อย พร้อมอายุการใช้งานแบตเตอรี่ที่ยอดเยี่ยม
- เมื่อฉันออกแบบสิ่งนี้ ฉันคิดว่าจะใช้ TrigBoard ซึ่งเป็นบอร์ด ESP8266 ที่มี TPL5111 อยู่บนบอร์ด มันจะต้องได้รับจอแสดงผล e-paper แยกต่างหากและบอร์ดควบคุม e-paper แบบนี้หรือแบบนี้ หรือคอมโบไดรเวอร์+บอร์ดแบบนี้ก็ได้ ในการย้ายรหัสไปที่ ESP8266 ฉันคิดว่ารหัส SSL จะต้องใช้ลายนิ้วมือแทนใบรับรอง และรหัสการจัดเก็บแบบไม่ลบเลือนจะต้องใช้หน่วยความจำ EEPROM หรือ RTC
- ฉันเพิ่งได้ยินมาว่าบอร์ด Lolin32 นั้นค่อนข้างดีในโหมดหลับลึก: ประมาณ 100uA ไม่ดีเท่าบอร์ด TPL51110 (20uA ตาม Adafruit) แต่ก็ดีพอ
- OpenWeatherMap ส่งคืนข้อมูลสภาพอากาศมากกว่าที่ฉันแสดง รวมถึงรหัสไอคอนซึ่งจะต้องค้นหาไอคอนขาวดำที่ใดที่หนึ่ง
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-