สารบัญ:

ประหยัดน้ำและเงินด้วยฝักบัว Water Monitor: 15 ขั้นตอน (พร้อมรูปภาพ)
ประหยัดน้ำและเงินด้วยฝักบัว Water Monitor: 15 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ประหยัดน้ำและเงินด้วยฝักบัว Water Monitor: 15 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ประหยัดน้ำและเงินด้วยฝักบัว Water Monitor: 15 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: เซียนไก่ชนถูกกับดักตัวเหี้ยช็อตดับคาเล้า | ข่าวช่องวัน 2024, กรกฎาคม
Anonim
ประหยัดน้ำและเงินด้วยฝักบัวน้ำ Monitor
ประหยัดน้ำและเงินด้วยฝักบัวน้ำ Monitor
ประหยัดน้ำและเงินด้วยฝักบัวน้ำ Monitor
ประหยัดน้ำและเงินด้วยฝักบัวน้ำ Monitor
ประหยัดน้ำและเงินด้วยฝักบัวน้ำ Monitor
ประหยัดน้ำและเงินด้วยฝักบัวน้ำ Monitor
ประหยัดน้ำและเงินด้วยฝักบัวน้ำ Monitor
ประหยัดน้ำและเงินด้วยฝักบัวน้ำ Monitor

ซึ่งใช้น้ำมากกว่า - อ่างอาบน้ำหรือฝักบัว?

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

ฉันค้นคว้ามาเล็กน้อย และพบว่าหัวฝักบัวแบบต่างๆ สามารถใช้ได้ทุกที่ตั้งแต่ 9.5 ลิตร (2.5 แกลลอน) ต่อนาทีไปจนถึงน้อยกว่า 6 ลิตร (1.6 แกลลอน) ต่อนาที หากคุณติดตั้งตัวจำกัดการไหล ฝักบัวที่เก่ามากสามารถใช้น้ำได้มากขึ้น

ฉันตัดสินใจออกแบบและสร้างอุปกรณ์ที่จะแสดงปริมาณน้ำทั้งหมดที่ใช้ต่อฝักบัว ค่าน้ำ และอัตราการไหล ฉันได้ติดตั้งอุปกรณ์นี้มาสองสามสัปดาห์แล้ว และสะดวกมากที่จะอ่านข้อมูลปริมาณการใช้น้ำแบบสด

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

เสบียง

(ราคาทั้งหมดเป็น USD)

  • โฟลว์เซนเซอร์ - $3.87
  • หน้าจอ LCD - $2.29
  • Arduino Nano - $1.59
  • ตัวแปลงบูสต์ - $1.88
  • เครื่องชาร์จ LiPo - $1.89
  • สวิตช์สลับแบบกันน้ำ - $0.93 (ไม่ใช่แบบที่ฉันใช้ แต่น่าจะใช้ได้)
  • ปุ่มกดกันน้ำ - $1.64
  • Standoffs, M3 Screws & Nuts - $6.99
  • แจ็ค 3.5 มม. ตัวเมีย 2X - $2.86 ต่อ
  • ปลั๊ก 3.5 มม. ตัวผู้ - $1.48
  • การประกอบสายเคเบิล 3.5 มม. 3' - $3.57
  • การประกอบสาย USB - $1.74
  • 1/2" NPS ข้อต่อตัวเมียกับตัวเมีย - $1.88
  • แบตเตอรี่ LiPo 500mAh 3.7V - $3.91

เครื่องมือและอุปกรณ์ทั่วไป

  • หัวแร้ง & หัวแร้ง
  • ลวด
  • เครื่องตัดลวด
  • เครื่องปอกสายไฟ
  • เทปสองหน้า
  • ไขควงฟิลลิป
  • เครื่องพิมพ์ 3 มิติ (อุปกรณ์เสริม)

ขั้นตอนที่ 1: กันซึม

กันซึม
กันซึม

ส่วนที่ยากที่สุดของโครงการนี้คือการทำให้ทุกอย่างกันน้ำได้ เนื่องจากจะอยู่ในห้องอาบน้ำจึงต้องสามารถทนต่อความชื้นสูงและน้ำกระเซ็นเป็นครั้งคราว ประมาณ 75% ของเวลาทั้งหมดที่ใช้ในโครงการนี้คือการค้นหาส่วนนี้

วิธีที่ฉันเห็น มีสองตัวเลือก: ออกแบบกล่องหุ้มที่พิมพ์ 3 มิติแบบกำหนดเอง หรือพยายามทำให้มันใช้งานได้กับกล่องปิดที่วางขายทั่วไป เนื่องจากฉันเพิ่งมีเครื่องพิมพ์ 3D ของตัวเอง ฉันจึงตัดสินใจเลือกตัวเลือกแรก

หากคุณไม่มีเครื่องพิมพ์ 3 มิติ ต่อไปนี้คือกล่องหุ้มนอกชั้นวางที่ฉันพบว่ามีคุณสมบัติกันน้ำและอาจใช้งานได้ โปรดทราบว่าฉันไม่ได้ซื้อกล่องหุ้มเหล่านี้ ดังนั้นฉันจึงไม่รับประกันว่าส่วนประกอบทั้งหมดจะพอดีกับภายใน!

Banggood - กล่องขนาด 100x68x50 มม. พร้อมฝาปิดโปร่งใส - $5.35

Digikey - กล่อง 130x80x70mm พร้อมฝาใส - $11.65

สำหรับประเด็นนี้เป็นต้นไป เมื่อฉันอ้างถึงสิ่งที่แนบมา ฉันกำลังพูดถึงสิ่งที่พิมพ์ 3 มิติของฉัน

ขั้นตอนที่ 2: ตู้พิมพ์ 3 มิติที่กำหนดเองของฉัน

กล่องใส่เอกสารที่พิมพ์ 3 มิติของฉันเอง!
กล่องใส่เอกสารที่พิมพ์ 3 มิติของฉันเอง!
กล่องใส่เอกสารที่พิมพ์ 3 มิติของฉันเอง!
กล่องใส่เอกสารที่พิมพ์ 3 มิติของฉันเอง!
กล่องใส่เอกสารที่พิมพ์ 3 มิติของฉันเอง!
กล่องใส่เอกสารที่พิมพ์ 3 มิติของฉันเอง!

หลังจากทำงานใน Fusion 360 เป็นเวลาหลายชั่วโมง ฉันก็คิดสิ่งที่แนบมานี้ขึ้นมา มีช่องเสียบแบบวงกลมสามช่องเพื่อให้พอดีกับแจ็ค 3.5 มม. ตัวเมียสองตัวและสวิตช์สลับหนึ่งตัว ฝาปิดมีรูขนาด 16 มม. สำหรับปุ่มกดชั่วขณะ และช่องสี่เหลี่ยมสำหรับหน้าจอ รวมถึงรูยึดสี่รูเพื่อยึดหน้าจอให้เข้าที่ ฝาปิดเป็นแบบแยกส่วนและมีขอบปากช่วยป้องกันความชื้นซึมผ่านตะเข็บ รูทั้งสี่ที่มุมของกล่องใช้ยึดฝาไว้ด้วยข้อขัดแย้ง 30 มม. รูสกรูทั้งหมดมีเส้นผ่านศูนย์กลาง 3 มม. ซึ่งพอดีกับสกรู M3

คุณสามารถดาวน์โหลดไฟล์ STL ได้จากหน้า Thingiverse ของฉัน สามารถพิมพ์ได้โดยไม่ต้องมีแพหรือรองรับ แต่ฉันใช้การรองรับเพื่อความปลอดภัย ฉันยังใช้การเติม 100% เนื่องจากผนังบางมาก การลดเปอร์เซ็นต์การเติมจึงไม่ได้เปลี่ยนเวลาพิมพ์ทั้งหมดหรือวัสดุทั้งหมด ดังนั้นฉันจึงเก็บไว้ที่ 100%

ในการทำให้หน้าจอมองเห็นได้ หน้าจออาจยื่นออกมาทางช่องเจาะที่ฝาปิดกล่องหุ้ม หรือวางไว้หลังหน้าต่างโปร่งใสก็ได้ เนื่องจากหน้าจอไม่ควรโดนความชื้น เราจึงติดอยู่กับตัวเลือกที่สอง น่าเสียดายที่การพิมพ์ 3 มิติด้วยเส้นใยโปร่งใสยังอยู่ในช่วงเริ่มต้น ดังนั้นเราจะต้องสร้างสรรค์สักหน่อย

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

แหล่งที่ดีที่สุดสำหรับพลาสติกใสที่ฉันพบคือการผลิตบรรจุภัณฑ์ โดยปกติผักโขมหรือผักใบอื่นๆ จะมาในภาชนะพลาสติกใสขนาดใหญ่ ในกรณีของฉัน ฉันใช้บรรจุภัณฑ์จาก "พริกป่น"

ฉันต้องการระยะยื่น 5 มม. เพื่อให้มีพื้นที่ผิวมากพอที่จะติดกาว ดังนั้นฉันจึงตัดพลาสติกใสสี่เหลี่ยมขนาด 27x77 มม. ออก ฉันต้องตัดมุมเล็กน้อยเพื่อให้สกรูเข้าที่ ฉันฉีด superglue เส้นหนึ่งรอบปริมณฑลของคัตเอาท์ แล้ววางพลาสติกใสลงไป ฉันเพิ่ม superglue อีกเล็กน้อยรอบ ๆ ขอบหลังจากนั้นเพื่อให้แน่ใจว่ามันถูกปิดผนึก

เคล็ดลับจากมือโปร: วางชิ้นส่วนไว้ด้านหน้าพัดลมขนาดเล็กในขณะที่กาวแห้ง เมื่อ superglue แห้ง มันมักจะทิ้งคราบสีขาวที่เลวทรามไว้เบื้องหลัง ซึ่งเราไม่ต้องการบนหน้าต่างโปร่งใสของเราอย่างแน่นอน ฉันใช้พัดลม 12V เก่าจากแหล่งจ่ายไฟของคอมพิวเตอร์ ฉันปล่อยกาวทิ้งไว้ 12 ชั่วโมงเพื่อให้แน่ใจว่ากาวแห้งสนิท

ขั้นตอนที่ 3: ติดตั้งหน้าจอ LCD

การติดตั้งหน้าจอ LCD
การติดตั้งหน้าจอ LCD
การติดตั้งหน้าจอ LCD
การติดตั้งหน้าจอ LCD
การติดตั้งหน้าจอ LCD
การติดตั้งหน้าจอ LCD

เมื่อหน้าต่างโปร่งใสแห้งแล้ว สามารถติดตั้ง LCD ได้ LCD เป็นจอแสดงผลขนาด 16x2 ที่ได้รับความนิยมสูงสุด โดยมี "กระเป๋าเป้สะพายหลัง" I²C ที่บัดกรีไว้ล่วงหน้าที่ด้านหลัง ฉันขอแนะนำให้ใช้หน้าจอนี้ด้วยอินเทอร์เฟซ I²C การเดินสายคู่ขนานนั้นค่อนข้างน่ารำคาญและทำให้เกิดข้อผิดพลาดมากขึ้น - รุ่น I²C มีสายไฟเพียงสองเส้นและสายไฟสองเส้นสำหรับส่งสัญญาณ

ฉันใช้สแตนออฟ 10 มม. สี่ตัวในการติดตั้งหน้าจอ ข้อขัดแย้งแต่ละข้อมีเกลียวตัวผู้อยู่ที่ปลายด้านหนึ่งและเกลียวตัวเมียที่ปลายอีกด้านหนึ่ง ฉันสอดเกลียวตัวผู้ผ่านรูใน LCD และขันน็อต M3 ให้แน่นแต่ละอัน จากนั้นฉันก็ใช้สกรู M3 สี่ตัวเพื่อยึดปลายตัวเมียของแท่นรองผ่านฝาของตัวเครื่อง ฉันได้ชุดสแตนด์อฟชุดนี้ซึ่งมีขนาด 10 มม. สำหรับติดตั้ง LCD และชุดที่ยาวกว่าเพื่อยึดฝาปิดไว้กับฐาน นอกจากนี้ยังมีสกรูและน็อต M3 คุณจึงไม่ต้องซื้อฮาร์ดแวร์เพิ่มเติม

ตรวจสอบให้แน่ใจว่าน็อตแน่นมาก เพื่อที่เมื่อคุณขันสกรูให้แน่น ฐานรองจะไม่หมุน นอกจากนี้ ตรวจสอบให้แน่ใจว่าคุณไม่ได้ขันสกรูแน่นเกินไป มิฉะนั้นฝาพลาสติกอาจทำให้เสียรูปและปิดผนึกไม่ถูกต้อง

แถวของหมุดส่วนหัว 16 อันบน LCD ควรอยู่ด้านบน - ตรวจสอบให้แน่ใจว่าคุณไม่ได้ติดตั้ง LCD กลับหัว!

ขั้นตอนที่ 4: การติดตั้งปุ่มชั่วขณะ

การติดตั้งปุ่มชั่วขณะ
การติดตั้งปุ่มชั่วขณะ
การติดตั้งปุ่มชั่วขณะ
การติดตั้งปุ่มชั่วขณะ
การติดตั้งปุ่มชั่วขณะ
การติดตั้งปุ่มชั่วขณะ

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

ขั้นตอนนี้ค่อนข้างตรงไปตรงมา คลายน็อต แต่ให้แหวนยางเปิดอยู่ สอดปุ่มเข้าไปในรูที่ฝาปิด แล้วขันน็อตจากด้านหลังให้แน่น หลีกเลี่ยงการขันน็อตให้แน่นเกินไป ไม่เช่นนั้นแหวนยางจะหักและไม่เป็นไปตามวัตถุประสงค์

ขั้นตอนที่ 5: วงจรไฟฟ้าและการชาร์จ

วงจรไฟฟ้าและการชาร์จ
วงจรไฟฟ้าและการชาร์จ
วงจรไฟฟ้าและการชาร์จ
วงจรไฟฟ้าและการชาร์จ
วงจรไฟฟ้าและการชาร์จ
วงจรไฟฟ้าและการชาร์จ

ตอนนี้เราจะรวบรวมส่วนประกอบพลังงานแบตเตอรี่ ซึ่งรวมถึงแบตเตอรี่ สวิตช์หลัก แผงตรวจสอบ/ชาร์จแบตเตอรี และตัวแปลงบูสต์

แบตเตอรี่ที่ฉันใช้คือแบตเตอรี่ลิเธียมไอออนเซลล์เดียวขนาด 3.7V 1500 mAh อันที่ฉันใช้นั้นถูกดึงออกจากคอนโทรลเลอร์ Playstation ที่เสีย แบตเตอรี่ Li-Ion หรือ LiPo แบบเซลล์เดียวจะใช้งานได้ ตราบใดที่แบตเตอรี่ยังพอดีกับตัวเครื่องของคุณ แบตเตอรี่ประเภทนี้มักจะบางและแบนมาก ดังนั้นคุณจึงสามารถใช้แบตเตอรี่ที่ใหญ่เป็นสองเท่าของฉันได้โดยไม่มีปัญหาใดๆ เซลล์ 18650 ใช้งานได้ แต่จะไม่พอดีกับกล่องหุ้มแบบกำหนดเองของฉัน ดังนั้นคุณจะต้องออกแบบเซลล์ของคุณเอง หรือใช้กล่องหุ้มที่ไม่มีชั้นวาง หากเป็นไปได้ ฉันขอแนะนำให้ใช้แบตเตอรี่สำรอง (เหมือนที่ฉันเคยทำ) เพราะแบตเตอรี่สำหรับการขนส่งมักจะมีราคาแพง!

ควรบัดกรีแบตเตอรี่กับบอร์ดชาร์จ TP4056 ก่อน หากต้องการ คุณสามารถบัดกรีขั้วต่อ JST RCY กับแบตเตอรี่และอุปกรณ์ชาร์จเพื่อความสะดวก (ฉันทำไปแล้ว) แต่ไม่จำเป็น ตรวจสอบให้แน่ใจว่าได้สังเกตขั้วที่ถูกต้องตามเครื่องหมายบนแผงเครื่องชาร์จ เนื่องจากบอร์ดไม่ได้รับการป้องกันจากการกลับขั้วของแบตเตอรี่!

ถัดไป ประสานสายไฟจากเอาต์พุตบวกของเครื่องชาร์จ (อยู่ข้างสายแบตเตอรี่บวก) กับอินพุตบวกบนตัวแปลงบูสต์ จากนั้นบัดกรีลวดจากเอาต์พุตเชิงลบ (อยู่ข้างสายแบตเตอรี่เชิงลบ) ไปยังพินทั่วไป (ตรงกลาง) ของสวิตช์สลับหลัก สุดท้าย ประสานลวดจากพินที่เปิดตามปกติของสวิตช์ไปยังอินพุตเชิงลบของตัวแปลงบูสต์ หากคุณเชื่อมต่อมัลติมิเตอร์กับเอาต์พุตของตัวแปลงบูสต์และเปิดสวิตช์หลัก แรงดันไฟควรแสดงขึ้น

เนื่องจาก Arduino, หน้าจอ LCD และโฟลว์เซนเซอร์ทั้งหมดต้องการ 5V เราจึงต้องตั้งค่าเอาต์พุตของตัวแปลงบูสต์เป็น 5V ทำได้โดยหมุนปุ่มบนโพเทนชิออมิเตอร์ด้วยไขควงขนาดเล็ก เมื่อเปิดสวิตช์หลัก เชื่อมต่อแบตเตอรี่ และเชื่อมต่อมัลติมิเตอร์กับเอาต์พุตของตัวแปลงบูสต์ ให้หมุนโพเทนชิออมิเตอร์อย่างช้าๆ จนกว่าเอาต์พุตจะอ่าน 5V การอ่านค่า 5.000V นั้นเป็นเรื่องยาก แต่มุ่งเป้าไปที่แรงดันไฟฟ้าระหว่าง 4.9V ถึง 5.1V

เนื่องจากกล่องหุ้มแบบกำหนดเองของฉันถูกยึดไว้ด้วยสกรูหลายตัว เราจึงไม่ต้องการเปิดเคสทุกครั้งที่ต้องชาร์จ ฉันใช้แจ็คหูฟังขนาด 3.5 มม. สำหรับสิ่งนี้ ตัวเชื่อมต่อที่แน่นอนที่ฉันใช้คือตัวเชื่อมต่อนี้จาก Digikey (ซึ่งเป็นขนาดของช่องเจาะในกล่องของฉัน) แต่ตัวเชื่อมต่อนี้จาก Banggood ก็ควรใช้งานได้เช่นกัน

ขั้นแรก ฉันเสียบตัวเชื่อมต่อเข้าไปในรูด้านล่างสุดของกล่องหุ้ม เนื่องจากจะต้องถอดปลั๊กออกเกือบตลอดเวลา ดังนั้นจึงไวต่อความชื้น จึงควรติดตั้งไว้ที่ด้านล่างเพื่อป้องกันไม่ให้น้ำหยดภายใน หลังจากติดตั้งแหวนล็อกและขันน็อตให้แน่นแล้ว ฉันบัดกรีสายไฟสองเส้นไปที่แท็บ "ปลาย" และ "ปลอก" ที่ขั้วต่อ หมุดของตัวเชื่อมต่อแสดงอยู่ในรูปภาพที่มีคำอธิบายประกอบภาพใดภาพหนึ่งของฉัน ฉันบัดกรีปลายอีกด้านของสาย "ปลอกหุ้ม" เข้ากับอินพุตลบที่เครื่องชาร์จ ข้างพอร์ต micro USB สุดท้าย ฉันบัดกรีสาย "ปลาย" กับแผ่น +5V ที่อีกด้านหนึ่งของพอร์ต USB จะไม่มีการใช้พอร์ต USB ที่เครื่องชาร์จ เนื่องจากจะทำให้พอร์ต USB เจาะเข้าไปในตัวเครื่องได้ยากโดยไม่ให้ความชื้นเข้าไป

ขั้นตอนที่ 6: สายชาร์จ

สายชาร์จ
สายชาร์จ
สายชาร์จ
สายชาร์จ
สายชาร์จ
สายชาร์จ

เนื่องจากเราใช้แจ็คเสียง 3.5 มม. เป็นพอร์ตชาร์จ เราจึงต้องสร้างสายอะแดปเตอร์ที่มีปลั๊ก 3.5 มม. ตัวผู้ที่ปลายด้านหนึ่ง และปลั๊ก USB A ที่ปลายอีกด้านหนึ่ง ซึ่งจะช่วยให้เราใช้ที่ชาร์จอุปกรณ์พกพาทั่วไป (เช่น ที่ชาร์จ iPhone) เพื่อชาร์จอุปกรณ์นี้

คุณสามารถซื้อชุดสายเคเบิล USB ที่มีขั้วต่อ USB A ที่ปลายด้านหนึ่งและสายแบบกระป๋องที่ปลายอีกด้าน แต่ถ้าคุณเป็นเหมือนฉัน คุณอาจมีสาย USB แบบสุ่มจำนวนหลายสิบเส้นวางอยู่รอบๆ ที่คุณไม่ต้องการ แทนที่จะซื้อสาย USB ฉันเพิ่งได้สาย micro USB เป็น USB A ที่ฉันไม่ต้องการและตัดขั้วต่อ micro USB ออก

ต่อไป ฉันถอดแจ็คเก็ตสีขาวออกจากสายเคเบิลเพื่อให้เห็นสายไฟภายในสองเส้นเท่านั้น: สายสีแดงและสีดำ สาย USB บางสายจะมีสี่สาย ได้แก่ สีแดง สีดำ สีเขียว และสีขาว สีเขียวและสีขาวมีไว้สำหรับการถ่ายโอนข้อมูล และสามารถละเว้นได้ ลอกฉนวนออกจากสายไฟสีแดงและสีดำเท่านั้น

ต่อไปคุณจะต้องเสียบปลั๊ก 3.5 มม. ตัวผู้ ฉันใช้อันนี้จาก Banggood บัดกรีสายสีแดงจากสาย USB ไปที่แถบตรงกลาง (ซึ่งเป็นส่วนปลายของตัวเชื่อมต่อ) และลวดสีดำเข้ากับแถบแขนยาว ดูรูปถ่ายของฉันเพื่อความกระจ่าง

ฉันแนะนำให้เสียบปลั๊ก 3.5 มม. ก่อนเสียบ USB เสมอ เนื่องจากกระบวนการเสียบสายเคเบิลอาจทำให้ปลั๊กข้ามเต้ารับโลหะได้

ขั้นตอนที่ 7: เกี่ยวกับโฟลว์เซนเซอร์

เกี่ยวกับโฟลว์เซนเซอร์
เกี่ยวกับโฟลว์เซนเซอร์
เกี่ยวกับโฟลว์เซนเซอร์
เกี่ยวกับโฟลว์เซนเซอร์
เกี่ยวกับโฟลว์เซนเซอร์
เกี่ยวกับโฟลว์เซนเซอร์
เกี่ยวกับโฟลว์เซนเซอร์
เกี่ยวกับโฟลว์เซนเซอร์

ฉันหยิบเซ็นเซอร์การไหลนี้จาก Banggood ในราคา $3.87 ก่อนใช้งาน ฉันตัดสินใจศึกษาวิธีการทำงานก่อน

การออกแบบนั้นเรียบง่ายและชาญฉลาดอย่างน่าประหลาดใจ อุปกรณ์อิเล็กทรอนิกส์ถูกปิดผนึกอย่างสมบูรณ์จากน้ำ มีใบพัดหมุนฟรีที่หมุนช้าหรือเร็วขึ้นอยู่กับอัตราการไหล ณ จุดหนึ่งบนใบพัดเป็นแม่เหล็ก ที่ด้านนอกของเซ็นเซอร์จะมีช่องเล็กๆ ซึ่งประกอบด้วย PCB ขนาดเล็กที่มีสองส่วนประกอบ: ตัวต้านทาน และเซ็นเซอร์ Hall-Effect ทุกครั้งที่แม่เหล็กผ่านเซ็นเซอร์ Hall-Effect แม่เหล็กจะสลับไปมาระหว่างสูงและต่ำ กล่าวคือจะสลับระหว่าง 5V และ 0V ทุกครั้งที่ใบพัดหมุน

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

ตามเอกสารข้อมูล เซ็นเซอร์จะส่งสัญญาณออก 450 พัลส์ต่อลิตร สิ่งนี้จะมีความสำคัญในภายหลังเมื่อเราเขียนซอฟต์แวร์

ขั้นตอนที่ 8: การเดินสายไฟเซ็นเซอร์การไหล

การเดินสายไฟเซนเซอร์การไหล
การเดินสายไฟเซนเซอร์การไหล
การเดินสายไฟเซนเซอร์การไหล
การเดินสายไฟเซนเซอร์การไหล
การเดินสายไฟเซนเซอร์การไหล
การเดินสายไฟเซนเซอร์การไหล
การเดินสายไฟเซนเซอร์การไหล
การเดินสายไฟเซนเซอร์การไหล

เซ็นเซอร์การไหลมาพร้อมกับขั้วต่อ JST-XH แบบ 3 ขา วิธีนี้ไม่เหมาะเนื่องจากสายไฟสั้นเกินไป และขั้วต่อมีหน้าสัมผัสซึ่งอาจทำให้หยดน้ำหลงทางได้ง่าย ฉันสั่งซื้อชุดประกอบสายเคเบิลปลั๊กเสียงขนาด 3.5 มม. จาก Digikey มีความยาว 3 ฟุต ซึ่งเป็นความยาวที่เหมาะสมที่สุด และมีลวดเคลือบกระป๋อง ซึ่งช่วยให้บัดกรีได้ง่าย ฉันไม่แนะนำให้ใช้สายหูฟังแบบเก่า เนื่องจากสายเหล่านี้มักจะมีลวดเคลือบบางมาก ซึ่งแทบจะเป็นไปไม่ได้เลยที่จะบัดกรี

เซ็นเซอร์การไหลมีฝาปิดพลาสติกที่ยึดด้วยสกรูหัวแฉกสองตัว เพียงถอดสกรูเหล่านี้แล้วดึงแผงวงจรออก ไม่ได้ยึดติดด้วยกาวใดๆ เพียงแต่เก็บไว้ในที่ที่มีฝาพลาสติก ถัดไป ถอดสายไฟทั้งสามออกโดยทำให้ร้อนขึ้นด้วยหัวแร้งแล้วยกออกทีละเส้น

ถัดไป ประสานสายสัญญาณเสียง 3.5 มม. เข้ากับแผ่นรอง ฉันแนะนำให้จับคู่สีในแบบที่ฉันทำ การกำหนดค่านี้มี +5V ที่ส่วนปลาย สัญญาณบนวงแหวน และกราวด์บนปลอกหุ้ม นี่คือการกำหนดค่าเดียวกับที่ใช้สำหรับพอร์ตการชาร์จ จากขั้นตอนที่ 6 หากคุณเสียบอุปกรณ์ชาร์จเข้ากับพอร์ตเซ็นเซอร์โดยไม่ได้ตั้งใจ หรือในทางกลับกัน อุปกรณ์จะไม่ได้รับความเสียหายใดๆ

ขั้นตอนที่ 9: การติดตั้ง Flow Sensor

การติดตั้งโฟลว์เซนเซอร์
การติดตั้งโฟลว์เซนเซอร์
การติดตั้งโฟลว์เซนเซอร์
การติดตั้งโฟลว์เซนเซอร์
การติดตั้งโฟลว์เซนเซอร์
การติดตั้งโฟลว์เซนเซอร์

จนถึงตอนนี้ งานทั้งหมดของเราได้เกิดขึ้นในเวิร์กชอป แต่ตอนนี้ ได้เวลาไปห้องน้ำแล้ว!

ก่อนอื่นฉันถอดหัวฝักบัวออก สิ่งนี้เผยให้เห็นท่อสั้นๆ ที่ยื่นออกมาจากผนัง โดยมีเกลียวตัวผู้ NPS ขนาด 1/2 สะดวก เซ็นเซอร์ตรวจจับการไหลของเรามีขนาดเกลียวเท่ากันทุกประการ ปัญหาเดียวคือเซ็นเซอร์มีเกลียวตัวผู้ที่ปลายทั้งสอง ดังนั้นเราจะ จำเป็นต้องมีการมีเพศสัมพันธ์ระหว่างหญิงกับหญิง

ที่ร้านฮาร์ดแวร์ในพื้นที่ของฉัน มีข้อต่อ 1/2 ทำจากทองเหลือง เหล็ก และพีวีซี ส่วนพีวีซีนั้นถูกที่สุด ฉันก็เลยซื้ออันนั้นมา แม้ว่าเมื่อมองย้อนกลับไป ตัวทองเหลืองหรือเหล็กกล้าจะดูดีกว่า

เมื่อคุณมีคัปปลิ้งแล้ว เพียงขันสกรูเซ็นเซอร์การไหลเข้ากับคัปปลิ้ง จากนั้นขันปลายอีกด้านของคัปปลิ้งเข้ากับท่อ เซ็นเซอร์การไหลมีลูกศรเพื่อระบุทิศทางการไหลที่ต้องการ ตรวจสอบให้แน่ใจว่าคุณไม่ได้ติดตั้งกลับด้าน มิฉะนั้น การวัดค่าอาจไม่ถูกต้อง สุดท้าย ขันหัวฝักบัวเข้ากับปลายเซ็นเซอร์การไหล

แน่นอน ฉันคิดว่าฝักบัวของคุณใช้เกลียว NPS ขนาด 1/2 เหมือนที่ฉันทำ หากไม่เป็นเช่นนั้น คุณจะต้องซื้ออะแดปเตอร์เพิ่มเติม

เคล็ดลับจากมือโปร: ติดเทปกาวของช่างประปาเทฟลอนลงไปที่เกลียวทั้งหมดก่อนที่จะขันเกลียวเข้าด้วยกันเพื่อป้องกันการรั่วซึม ฉันไม่มีในมือ แต่ฉันวางแผนที่จะเพิ่มสิ่งนี้ในอนาคตอันใกล้

ขั้นตอนที่ 10: Arduino & Perfboard

Arduino & Perfboard
Arduino & Perfboard
Arduino & Perfboard
Arduino & Perfboard
Arduino & Perfboard
Arduino & Perfboard

เนื่องจากเราต้องเดินสายไฟเป็นจำนวนมาก จึงเป็นความคิดที่ดีที่จะหาแผ่นไม้อัดสักชิ้นเพื่อทำให้เป็นระเบียบเรียบร้อยขึ้นเล็กน้อย ฉันตัดสี่เหลี่ยมผืนผ้าของ perfboard ประมาณ 1 "คูณ 2" ต่อไป ฉันวาง Arduino Nano ไว้ตรงกลางกระดานและทำเครื่องหมายว่าหมุดส่วนหัวทะลุไปที่ใด จากนั้นฉันก็ตัดส่วนหัวของตัวเมียสองอัน แต่ละอันยาว 15 พิน ฉันบัดกรีสิ่งเหล่านี้ลงบน perfboard ที่ฉันทำเครื่องหมายไว้ก่อนหน้านี้ ซึ่งจะทำให้เราสามารถลบ Arduino สำหรับการเขียนโปรแกรมได้

เคล็ดลับจากมือโปร: ทำเครื่องหมายการวางแนวของพอร์ต USB ของ Arduino เพื่อให้คุณเสียบเข้ากับ perfboard ในลักษณะเดียวกันเสมอ

ขั้นตอนที่ 11: การเดินสายไฟทุกอย่าง

เดินสายไฟทุกอย่าง
เดินสายไฟทุกอย่าง
เดินสายไฟทุกอย่าง
เดินสายไฟทุกอย่าง
เดินสายไฟทุกอย่าง
เดินสายไฟทุกอย่าง

ตอนนี้ได้เวลาประสานทุกอย่างเข้าด้วยกันแล้ว! ฉันได้รวมไดอะแกรมการเดินสายแบบสมบูรณ์ ซึ่งคุณสามารถปฏิบัติตาม หรือดูขั้นตอนที่เป็นลายลักษณ์อักษรด้านล่าง หากคุณต้องการแนวทางที่มีคำแนะนำมากกว่านี้

ขั้นแรก ฉันตัดหมุดส่วนหัวของตัวผู้และบัดกรีมันลงบนบอร์ดแบบเพอร์ฟบอร์ดบน +5V และรางกราวด์ จากนั้นฉันก็บัดกรีหมุดส่วนหัวอีกสองตัวที่เชื่อมต่อกับหมุด A4 และ A5 บน Arduino ส่วนหัวเหล่านี้จะช่วยให้เราเชื่อมต่อหน้าจอ LCD โดยใช้จัมเปอร์ระหว่างตัวเมียกับตัวเมีย

ต่อไป ฉันบัดกรีสายไฟหนึ่งคู่จากเอาต์พุตของตัวแปลงบูสต์ไปที่ +5V และรางกราวด์ สิ่งนี้จะให้พลังงานแก่ Arduino, LCD และเซ็นเซอร์การไหล

หลังจากนั้นฉันตัดสายไฟสองเส้นแล้วต่อเข้ากับขั้วของปุ่มกด ฉันบัดกรีสายหนึ่งเข้ากับรางกราวด์และอีกสายหนึ่งเป็นพินดิจิตอล 3

ส่วนสุดท้ายที่จะประสานคือเซ็นเซอร์การไหล เนื่องจากเราต่อปลั๊ก 3.5 มม. เข้ากับเซ็นเซอร์แล้ว เราจึงต้องบัดกรีแจ็คตัวเมีย 3.5 มม. ก่อนอื่นฉันบัดกรีสายไฟสามเส้น - หนึ่งอันต่อแท็บแต่ละอันบนแจ็ค จากนั้นฉันก็เสียบแม่แรงผ่านกล่องหุ้มและขันให้แน่นด้วยน็อต ในที่สุด ฉันบัดกรีปลอกแขนกับกราวด์ ปลายที่ +5V และวงแหวนกับพินดิจิทัล 2

ฉันเลือกใช้พินดิจิทัล 2 และ 3 สำหรับปุ่มและเซ็นเซอร์การไหล เนื่องจากเป็นหมุดขัดจังหวะของฮาร์ดแวร์ ซึ่งจะทำให้การเขียนโค้ดง่ายขึ้นมาก

ตอนนี้เราบัดกรีเสร็จแล้ว แต่เรายังต้องต่อจอ LCD เนื่องจากเราบัดกรีส่วนหัว เราจึงต้องใช้จัมเปอร์ตัวเมียกับตัวเมียสี่ตัว เชื่อมต่อพิน "Vcc" กับ +5V, พิน "Gnd" กับกราวด์, พิน "SCL" กับ A5 และพิน "SDA" กับ A4 เพื่อให้หน้าจอ LCD พอดีกับตัวเครื่อง เราจะต้องงอหมุดส่วนหัวไปด้านหลัง การดัดหมุดไปมาหลาย ๆ ครั้งจะทำให้โลหะอ่อนล้าและทำให้หมุดหัก ฉันจึงแนะนำให้ดัดเพียงครั้งเดียวเท่านั้น และทำด้วยความระมัดระวัง

ตอนนี้เดินสายเสร็จแล้ว!

ขั้นตอนที่ 12: การเขียนโปรแกรม

การเขียนโปรแกรม
การเขียนโปรแกรม

เมื่อเชื่อมต่อฮาร์ดแวร์แล้ว เราก็สามารถตั้งโปรแกรม Arduino ได้

ฉันต้องการให้โปรแกรมมีคุณสมบัติดังต่อไปนี้:

  • ในบรรทัดแรก แสดงจำนวนลิตรที่อัปเดตอย่างรวดเร็ว
  • ในบรรทัดที่สอง แสดงต้นทุนรวมของน้ำหรืออัตราการไหล
  • เมื่อฝักบัวทำงาน ปุ่มกดจะสลับไปมาระหว่างการแสดงราคาหรืออัตราการไหล
  • เมื่อฝักบัวไม่ทำงาน ปุ่มกดควรล้างข้อมูลทั้งหมดและรีเซ็ตหน้าจอ
  • ควรอ่านเซ็นเซอร์โดยใช้รูทีนขัดจังหวะเพื่อหลีกเลี่ยงวิธีการลงคะแนนโดยรวม
  • เมื่ออัปเดตหน้าจอ เราควรอัปเดตเฉพาะค่าที่เปลี่ยนแปลง แทนที่จะเขียนทับทั้งหน้าจอในแต่ละครั้ง (ซึ่งจะทำให้เกิดการสั่นไหวที่เห็นได้ชัดเจน)

โปรแกรมเป็นไปตามโครงสร้างที่เรียบง่าย ด้วยการใช้ฟังก์ชัน millis() เราสามารถสร้างการหน่วงเวลาที่ไม่หยุดการทำงานของโปรแกรมได้ ดูบทช่วยสอนนี้สำหรับตัวอย่างการกะพริบของ LED โดยไม่ใช้ฟังก์ชัน delay()

ฟังก์ชัน millis() จะคืนค่าจำนวนมิลลิวินาทีนับตั้งแต่เปิด Arduino โดยการสร้างตัวแปร " PreviousMillis " และลบ Millis() - PreviousMillis() เราสามารถเห็นเวลาที่ผ่านไปตั้งแต่ PreviousMillis ได้รับการอัปเดต

หากเราต้องการให้บางสิ่งเกิดขึ้นต่อวินาที เราสามารถใช้บล็อคโค้ดต่อไปนี้:

if((มิลลิวินาที() - มิลลิวินาทีก่อนหน้า) >= 1,000){

ก่อนหน้านี้มิลลิวินาที = มิลลิวินาที (); สลับ LED(); }

สิ่งนี้จะตรวจสอบว่าความแตกต่างระหว่างมิลลิวินาที () (เวลาปัจจุบัน) และมิลลิวินาทีก่อนหน้า (ครั้งสุดท้าย) มากกว่าหรือเท่ากับ 1,000 มิลลิวินาที ถ้าใช่ สิ่งแรกที่เราทำคือตั้งค่าก่อนหน้ามิลลิวินาทีให้เท่ากับเวลาปัจจุบัน จากนั้นเราดำเนินการตามขั้นตอนเพิ่มเติมที่เราต้องการ ในตัวอย่างนี้ เรากำลังสลับ LED จากนั้นเราออกจากบล็อกของโค้ดนี้และสิ้นสุดฟังก์ชัน loop() ที่เหลือ ก่อนที่จะกลับไปที่จุดเริ่มต้นและทำซ้ำทั้งหมดอีกครั้ง

ประโยชน์ของการใช้วิธีนี้เหนือฟังก์ชัน delay() อย่างง่ายคือ delay() ทำให้เกิดช่องว่างระหว่างคำสั่ง แต่ไม่ได้คำนึงถึงเวลาที่ใช้ในการดำเนินการคำสั่งอื่นๆ ในฟังก์ชัน loop() หากคุณกำลังทำบางสิ่งที่ใช้เวลานานกว่าเพียงแค่การกะพริบของ LED เช่น การอัปเดตหน้าจอ LCD เวลาที่ใช้จะไม่มีความสำคัญ และหลังจากผ่านไปสองสามรอบ มันก็จะเพิ่มขึ้น หากคุณกำลังอัปเดตหน้าจอ LCD บนนาฬิกา นาฬิกาจะมีความคลาดเคลื่อนและล้าหลังอย่างรวดเร็ว

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

เมื่อคุณเห็นผังงานแล้ว ให้ดูที่โค้ด Arduino ที่แนบมา ฉันได้แสดงความคิดเห็นเกือบทุกบรรทัดเพื่อให้ชัดเจนว่าแต่ละบรรทัดทำอะไร

มีบางส่วนในรหัสที่คุณอาจต้องการเปลี่ยน ที่สำคัญคือต้นทุนต่อลิตร ในเมืองของฉัน ค่าน้ำ 0.2523 ¢ ต่อลิตร ค้นหาบรรทัดต่อไปนี้ และเปลี่ยนค่านั้นเพื่อให้ตรงกับต้นทุนที่คุณอาศัยอยู่:

const float COST_PER_LITRE = 0.2523; // ราคาต่อลิตร เป็นเซ็นต์ จากเว็บไซต์เมือง

หากคุณต้องการใช้แกลลอนมากกว่าลิตร ให้เปลี่ยนบรรทัด "LCD.print()" ทั้งหมดที่อ้างถึง "L" หรือ "L/s" เป็น "G" หรือ "G/s" จากนั้นลบบรรทัดต่อไปนี้:

const float CONVERSION = 450.0; // ไม่ใส่ความคิดเห็นไว้เป็นลิตร

…และ uncomment บรรทัดนี้:

const float CONVERSION = 1703.0; // uncomment นี้และลบบรรทัดด้านบนสำหรับ gallons

มีสิ่งแปลกประหลาดอีกอย่างหนึ่งที่คุณอาจสังเกตเห็นในรหัสของฉัน ชุดอักขระเริ่มต้นไม่รวมอักขระ "¢" และฉันไม่ต้องการใช้ดอลลาร์ เนื่องจากค่าใช้จ่ายจะแสดงเป็น "0.01 ดอลลาร์" หรือน้อยกว่าเป็นส่วนใหญ่ ดังนั้นฉันจึงถูกบังคับให้สร้างตัวละครที่กำหนดเอง อาร์เรย์ไบต์ต่อไปนี้ใช้เพื่อแสดงสัญลักษณ์นี้:

ไบต์ cent_sign = { B00100, B00100, B01111, B10100, B10100, B01111, B00100, B00100 };

หลังจากสร้างอาร์เรย์นี้แล้ว อักขระพิเศษจะต้อง "สร้าง" และเก็บไว้

lcd.createChar(0, cent_sign);

เมื่อเสร็จแล้ว ในการพิมพ์อักขระที่กำหนดเอง เราใช้บรรทัดต่อไปนี้:

lcd.write(ไบต์(0)); // พิมพ์เซ็นต์เซ็นต์ (¢)

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

ขั้นตอนที่ 13: ปิดฝา

ปิดฝา
ปิดฝา
ปิดฝา
ปิดฝา
ปิดฝา
ปิดฝา

ในที่สุด เราก็ใกล้จะเสร็จแล้ว!

ถึงเวลาที่จะบรรจุอุปกรณ์อิเล็กทรอนิกส์ทั้งหมดลงในกล่องหุ้มและหวังว่าฝาปิดจะปิดลง แต่ก่อนอื่น เราต้องติดตั้งสแตนออฟ 30 มม. แพ็คเกจของสแตนด์ออฟที่ฉันซื้อไม่มีที่ยาวขนาดนั้น แต่มากับอันขนาด 20 มม. และ 10 มม. ที่สามารถต่อเข้าด้วยกันได้ ฉันขันสกรูสี่ตัวเข้ากับรูที่ด้านล่างของกล่องหุ้มด้วยสกรู M3 สี่ตัว (ดูรูปที่ 1 และ 2) ตรวจสอบให้แน่ใจว่าได้ขันสิ่งเหล่านี้ให้แน่น แต่อย่าแน่นเกินไป มิฉะนั้นคุณอาจเสี่ยงต่อการทำลายกล่องหุ้มพลาสติก

ตอนนี้เราสามารถใส่อุปกรณ์อิเล็กทรอนิกส์ทั้งหมดเข้าไปข้างในได้แล้ว ฉันติดที่ชาร์จและตัวแปลงบูสต์เข้ากับฝาด้วยเทปกาวสองหน้า ดังที่เห็นในภาพที่สาม จากนั้นฉันก็พันเทปพันสายไฟไว้รอบๆ โลหะที่เปิดอยู่บนแจ็ค 3.5 มม. สองตัว เพื่อให้แน่ใจว่าไม่มีสิ่งใดลัดวงจรโดยติดต่อกับตัวเชื่อมต่อ

ฉันสามารถทำให้ Arduino เข้ากันได้โดยวางไว้ที่มุมซ้ายล่าง โดยให้พอร์ต USB หันไปทางขวา ฉันใช้เทปกาวสองหน้ามากขึ้นเพื่อยึดแบตเตอรี่ไว้ที่ด้านล่างของตัวเครื่องใต้หน้าจอ LCD

สุดท้าย เมื่อทุกอย่างติดอยู่ในกล่องอย่างแน่นหนาไม่มากก็น้อย สามารถขันสกรู M3 เพิ่มเติมสี่ตัวที่ฝาลงได้

ขั้นตอนที่ 14: การทดสอบ

การทดสอบ
การทดสอบ
การทดสอบ
การทดสอบ
การทดสอบ
การทดสอบ
การทดสอบ
การทดสอบ

ขั้นแรกให้เสียบขั้วต่อ 3.5 มม. จากเซ็นเซอร์การไหล ฉันแนะนำให้ทำเช่นนี้ก่อนที่จะเปิดอุปกรณ์ เพราะปลั๊กอาจทำการเชื่อมต่อที่ไม่ต้องการในขณะที่เสียบอยู่

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

หากคุณเปิดฝักบัว ปริมาณรวมจะเริ่มเพิ่มขึ้น โดยค่าเริ่มต้น ค่าใช้จ่ายจะแสดงขึ้น หากคุณกดปุ่มที่แผงด้านหน้า อัตราการไหลจะแสดงที่บรรทัดล่างสุด การกดปุ่มที่แผงด้านหน้าจะเป็นการสลับระหว่างแสดงอัตราการไหลและแสดงค่าใช้จ่าย ตราบใดที่ฝักบัวยังทำงานอยู่ เมื่อฝักบัวหยุดลง การกดปุ่มที่แผงด้านหน้าจะเป็นการรีเซ็ตการวัดค่าและล้างหน้าจอ

การติดตั้ง

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

การแก้ไขปัญหา

หน้าจอเปิดอยู่ แต่ไฟแบ็คไลท์ปิดอยู่ - ตรวจสอบให้แน่ใจว่าได้ติดตั้งจัมเปอร์บนหมุดสองตัวที่ด้านข้างของโมดูล I ² C

หน้าจอว่างเปล่า โดยเปิดไฟแบ็คไลท์ - ตรวจสอบว่าที่อยู่ I ² C ถูกต้องโดยเรียกใช้เครื่องสแกน I²C

หน้าจอเปิดอยู่ แต่ค่ายังคงเป็นศูนย์ - ตรวจสอบว่ามีสัญญาณมาจากเซ็นเซอร์โดยการวัดแรงดันไฟฟ้าที่ขา 2 หากไม่มีสัญญาณ ให้ตรวจสอบว่าเซ็นเซอร์เชื่อมต่ออย่างถูกต้อง

หน้าจอว่างเปล่าโดยปิดไฟแบ็คไลท์ - ตรวจสอบว่า LED แสดงการทำงานบน Arduino เปิดอยู่ และตรวจสอบว่าหน้าจอมีไฟหรือไม่

หน้าจอเปิดขึ้นชั่วครู่ จากนั้นทุกอย่างจะหยุด - คุณอาจตั้งแรงดันไฟฟ้าจากตัวแปลงบูสต์สูงเกินไป (ส่วนประกอบไม่สามารถรองรับได้มากกว่า 5V)

อุปกรณ์ใช้งานได้ แต่ค่าไม่ถูกต้อง ตรวจสอบให้แน่ใจว่าเซ็นเซอร์การไหลที่คุณใช้มีปัจจัยการแปลง 450 พัลส์ต่อลิตรเท่ากัน เซ็นเซอร์ที่ต่างกันอาจมีค่าต่างกัน

ขั้นตอนที่ 15: เริ่มประหยัดน้ำได้แล้ว

การปรับปรุง

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

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

คุณสมบัติเหล่านี้ทั้งหมดต้องใช้ EEPROM ซึ่งเป็นหน่วยความจำแบบไม่ลบเลือนในตัวของ Arduino ซึ่งจะทำให้สามารถเก็บข้อมูลไว้ได้แม้จะปิดอุปกรณ์แล้วก็ตาม

คุณสมบัติที่มีประโยชน์อีกอย่างหนึ่งก็คือตัวแสดงสถานะแบตเตอรี่ ขณะนี้ สิ่งเดียวที่บ่งชี้ว่าอุปกรณ์จำเป็นต้องชาร์จใหม่คือเมื่อบอร์ดจัดการแบตเตอรี่ตัดกระแสไฟ จะเป็นการง่ายที่จะต่ออินพุทอนาล็อกเพิ่มเติมเพื่อวัดแรงดันแบตเตอรี่ ไม่จำเป็นต้องใช้ตัวแบ่งแรงดันไฟด้วยซ้ำ เนื่องจากแรงดันแบตเตอรี่จะน้อยกว่า 5V เสมอ

แนวคิดเหล่านี้บางส่วนอยู่ติดกับการคืบของฟีเจอร์ ซึ่งเป็นสาเหตุที่ฉันไม่ได้พัฒนาซอฟต์แวร์ต่อไป

ที่เหลือขึ้นอยู่กับคุณ!

การประกวดเซนเซอร์
การประกวดเซนเซอร์
การประกวดเซนเซอร์
การประกวดเซนเซอร์

รางวัลชนะเลิศการประกวดเซนเซอร์

แนะนำ: