สารบัญ:
วีดีโอ: หมอนอัจฉริยะ: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
คำแนะนำนี้อธิบายวิธีการทำหมอนอัจฉริยะที่ไวต่อการกรน!
หมอนอัจฉริยะอาศัยการสั่นสะเทือนเพื่อบ่งบอกถึงผู้นอนหลับเมื่อเขากรนขณะนอนหลับ มันทำงานโดยอัตโนมัติเมื่อมีคนเอาหัวพิงหมอน
การกรนเป็นอาการที่โชคร้าย เพราะไม่เพียงแต่จะส่งผลต่อคนกรนเท่านั้นแต่ยังส่งผลต่อคนที่นอนอยู่รอบๆ ตัวเขาด้วย การกรนได้รับการโหวตว่าเป็นเหตุผลทางการแพทย์ที่ยิ่งใหญ่ที่สุดที่อยู่เบื้องหลังการหย่าร้างในสหรัฐอเมริกา นอกจากนี้ ภาวะหยุดหายใจขณะนอนหลับอาจทำให้เกิดปัญหาสุขภาพมากมายที่สามารถบรรเทาได้โดยทำให้แน่ใจว่าผู้นอนหลับไม่ได้เลือกตำแหน่งที่นำไปสู่การกรน
ในคำแนะนำนี้ เราจะสร้างระบบที่สามารถตรวจจับและวิเคราะห์เสียงได้ เมื่อวิเคราะห์เสียงกรน มันจะเปิดมอเตอร์สั่นเพื่อให้คนนอนตื่นขึ้น เมื่อคนที่นอนยกศีรษะขึ้นจากหมอน มอเตอร์สั่นจะหยุด เมื่อผู้นอนหลับเปลี่ยนตำแหน่งการนอน พวกเขามักจะปรับตัวให้อยู่ในตำแหน่งอื่นที่จะป้องกันการกรน
ขั้นตอนที่ 1: งานหมอน:
- หมอนมีเซ็นเซอร์สัมผัสเพื่อให้ระบบเปิดใช้งานโดยอัตโนมัติเมื่อบุคคลนั้นวางศีรษะบนหมอน และอยู่นิ่งเมื่อเขาเงยศีรษะขึ้น
- เมื่อระบบตรวจพบเสียงกรนหรือเสียงคาโคโฟนิกอื่นๆ เครื่องสั่นจะเปิดขึ้นเพื่อปลุกผู้นอนหลับ
- มีโหมดการสั่นสะเทือนที่ผู้ใช้ตั้งค่าได้ 2 โหมด: ต่อเนื่องหรือเป็นจังหวะ ระบบนี้มีประโยชน์สำหรับผู้ที่มีอาการกรน เพื่อความปลอดภัย ผู้ที่นอนหลับลึกมากสามารถใช้ระบบนี้ได้เพราะสามารถตรวจจับเสียงกริ่งประตู โทรศัพท์ที่ดัง หรือทารกร้องไห้ได้
เราใช้โปรเจ็กต์นี้กับ Silego SLG46620V CMIC, เซ็นเซอร์เสียง, มอเตอร์สั่นสะเทือน, ตัวต้านทานที่ตรวจจับแรงได้ และส่วนประกอบแบบพาสซีฟบางส่วน
จำนวนส่วนประกอบทั้งหมดสำหรับการออกแบบนี้ค่อนข้างน้อย แม้จะไม่ได้ใช้ไมโครคอนโทรลเลอร์ก็ตาม เนื่องจาก GreenPAK CMIC มีต้นทุนต่ำและใช้พลังงานต่ำ จึงเป็นส่วนประกอบในอุดมคติสำหรับโซลูชันนี้ ขนาดที่เล็กยังช่วยให้รวมเข้ากับหมอนได้ง่ายโดยไม่ต้องกังวลเรื่องการผลิต
โครงการส่วนใหญ่ที่อาศัยการตรวจจับเสียงมี "อัตราการทริกเกอร์ที่ผิดพลาด" ซึ่งจำเป็นเนื่องจากมีความเป็นไปได้ที่จะเกิดข้อผิดพลาดระหว่างเซ็นเซอร์ต่างๆ เซ็นเซอร์ที่เกี่ยวข้องกับโครงการนี้เพียงตรวจจับระดับเสียง พวกเขาไม่ได้ตรวจจับประเภทของเสียงหรือธรรมชาติของแหล่งกำเนิดเสียง ดังนั้น การกระตุ้นที่ผิดพลาดอาจเกิดจากการกระทำ เช่น การปรบมือ การเคาะ หรือเสียงอื่นๆ ที่ไม่เกี่ยวข้องกับการกรนที่อาจตรวจพบโดยเซ็นเซอร์
ในโครงการนี้ ระบบจะละเว้นเสียงสั้น ๆ ที่ทำให้เกิดอัตราการกระตุ้นผิดพลาด ดังนั้นเราจะสร้างตัวกรองดิจิทัลที่สามารถตรวจจับส่วนของเสียงเช่นเสียงกรนได้
ดูกราฟเส้นโค้งในรูปที่ 1 ซึ่งแสดงถึงเสียงกรน
จะเห็นว่าประกอบด้วยสองส่วนซ้ำๆ และสัมพันธ์กับเวลา ส่วนแรกตรวจพบการกรน เป็นลำดับของพัลส์สั้นๆ ที่กินเวลา 0.5 ถึง 4 วินาที ตามด้วยช่วงเงียบซึ่งกินเวลา 0.4 ถึง 4 วินาทีและอาจมีเสียงรบกวน
ดังนั้น ในการกรองเสียงอื่นๆ ออก ระบบจะต้องตรวจจับส่วนการกรน ซึ่งกินเวลานานกว่า 0.5 วินาที และละเว้นส่วนเสียงที่สั้นกว่า เพื่อให้ระบบมีเสถียรภาพมากขึ้น ควรใช้ตัวนับซึ่งนับส่วนการกรนเพื่อเปิดการเตือนหลังจากตรวจพบส่วนการกรนที่ต่อเนื่องกันสองส่วน
ในกรณีนี้ แม้ว่าเสียงจะกินเวลานานกว่า 0.5 วินาที ระบบจะกรองเสียงเว้นแต่จะทำซ้ำภายในกรอบเวลาที่กำหนด ด้วยวิธีนี้ เราสามารถกรองเสียงที่อาจเกิดจากการเคลื่อนไหว การไอ หรือแม้แต่สัญญาณรบกวนสั้นๆ
ขั้นตอนที่ 2: แผนปฏิบัติการ
การออกแบบโครงการนี้ประกอบด้วยสองส่วน ส่วนแรกมีหน้าที่ในการตรวจจับเสียงและวิเคราะห์เพื่อตรวจจับเสียงกรนเพื่อเตือนผู้นอนหลับ
ส่วนที่สองคือเซ็นเซอร์สัมผัส มีหน้าที่เปิดใช้งานระบบโดยอัตโนมัติเมื่อมีคนวางศีรษะบนหมอนและปิดระบบเมื่อคนนอนหลับยกศีรษะขึ้นจากหมอน
หมอนอัจฉริยะสามารถใช้งานได้ง่ายมากด้วย IC สัญญาณผสม (CMIC) ที่กำหนดค่าได้ GreenPAK เดียว
คุณสามารถทำตามขั้นตอนทั้งหมดเพื่อทำความเข้าใจว่าชิป GreenPAK ได้รับการตั้งโปรแกรมให้ควบคุม Smart Pillow ได้อย่างไร อย่างไรก็ตาม หากคุณต้องการสร้าง Smart Pillow อย่างง่ายดายโดยไม่เข้าใจวงจรภายในทั้งหมด ให้ดาวน์โหลดซอฟต์แวร์ GreenPAK ฟรีเพื่อดูไฟล์การออกแบบ Smart Pillow GreenPAK ที่เสร็จสมบูรณ์แล้ว เสียบคอมพิวเตอร์ของคุณเข้ากับ GreenPAK Development Kit แล้วกดโปรแกรมเพื่อสร้าง IC แบบกำหนดเองเพื่อควบคุม Smart Pillow ของคุณ เมื่อสร้าง IC แล้ว คุณสามารถข้ามขั้นตอนถัดไปได้ ขั้นตอนต่อไปจะกล่าวถึงตรรกะที่อยู่ภายในไฟล์การออกแบบ Smart Pillow GreenPAK สำหรับผู้ที่สนใจทำความเข้าใจวิธีการทำงานของวงจร
มันทำงานอย่างไร?
เมื่อใดก็ตามที่มีคนวางศีรษะบนหมอน เซ็นเซอร์สัมผัสจะส่งสัญญาณเปิดใช้งานจาก Matrix2 ไปยัง Matrix1 จนถึง P10 เพื่อเปิดใช้งานวงจรและเริ่มเก็บตัวอย่างจากเซ็นเซอร์เสียง
ระบบจะเก็บตัวอย่างจากเซ็นเซอร์เสียงทุกๆ 30 มิลลิวินาที ภายในระยะเวลา 5 มิลลิวินาที ด้วยวิธีนี้ การใช้พลังงานจะถูกบันทึก & เสียงพัลส์สั้นจะถูกกรอง
หากเราตรวจพบตัวอย่างเสียงที่ต่อเนื่องกัน 15 ตัวอย่าง (ไม่มีความเงียบนานเกิน 400 มิลลิวินาทีระหว่างตัวอย่างใดๆ) จะสรุปได้ว่าเสียงนั้นคงอยู่ ในกรณีนี้ ส่วนเสียงจะถือเป็นส่วนการกรน เมื่อการกระทำนี้เกิดขึ้นซ้ำหลังจากความเงียบ ซึ่งกินเวลานานกว่า 400 มิลลิวินาทีและน้อยกว่า 6 วินาที เสียงที่บันทึกจะถือเป็นการกรนและผู้นอนหลับจะได้รับการแจ้งเตือนด้วยการสั่นสะเทือน
คุณสามารถชะลอการเตือนสำหรับกลุ่มการกรนมากกว่า 2 กลุ่มเพื่อเพิ่มความแม่นยำจากการกำหนดค่า pipedelay0 ในการออกแบบ แต่สิ่งนี้อาจเพิ่มเวลาตอบสนอง เฟรม 6 วินาทีจะต้องเพิ่มขึ้นเช่นกัน
ขั้นตอนที่ 3: การออกแบบ GreenPAK
ส่วนแรก: การตรวจหาการนอนกรน
เอาต์พุตของเซ็นเซอร์เสียงจะเชื่อมต่อกับ Pin6 ซึ่งกำหนดค่าเป็นอินพุตแบบอะนาล็อก สัญญาณจะถูกนำจากพินไปยังอินพุตของ ACMP0 อินพุตอื่นของ ACMP0 ได้รับการกำหนดค่าเป็นข้อมูลอ้างอิง 300mv
เอาต์พุตของ ACMP0 จะกลับด้านและเชื่อมต่อกับ CNT/DLY0 ซึ่งตั้งค่าเป็นความล่าช้าของขอบที่เพิ่มขึ้นโดยมีความล่าช้าเท่ากับ 400 มิลลิวินาที เอาต์พุตของ CNT0 จะสูงเมื่อการตรวจจับความเงียบเป็นเวลานานกว่า 400 มิลลิวินาที เอาต์พุตเชื่อมต่อกับเครื่องตรวจจับขอบที่เพิ่มขึ้น ซึ่งจะสร้างพัลส์รีเซ็ตสั้น ๆ หลังจากตรวจจับความเงียบ
CNT5 & CNT6 มีหน้าที่ในการเปิดประตูเวลาที่ใช้เวลา 5ms ทุกๆ 30ms เพื่อเก็บตัวอย่างเสียง ในช่วง 5 มิลลิวินาทีนี้ หากมีการตรวจจับสัญญาณเสียง เอาต์พุตของ DFF0 จะส่งพัลส์ไปยังตัวนับ CNT9 CNT9 จะถูกรีเซ็ตหากการตรวจจับเสียงเงียบเป็นเวลานานกว่า 400 มิลลิวินาที จากนั้นระบบจะเริ่มต้นการนับตัวอย่างเสียงใหม่
เอาต์พุตของ CNT9 เชื่อมต่อกับ DFF2 ซึ่งใช้เป็นจุดตรวจจับส่วนการกรน เมื่อตรวจพบส่วนการกรน เอาต์พุตของ DFF2 จะเปลี่ยน HI เพื่อเปิดใช้งาน CNT2/Dly2 ซึ่งได้รับการกำหนดค่าให้ทำงานเป็น "การหน่วงเวลาล้ม" โดยมีการหน่วงเวลาเท่ากับ 6 วินาที
DFF2 จะถูกรีเซ็ตหลังจากการตรวจจับความเงียบที่กินเวลานานกว่า 400ms จากนั้นจะเริ่มตรวจหาส่วนที่กรนอีกครั้ง
เอาต์พุตของ DFF2 ผ่าน Pipedelay ซึ่งเชื่อมต่อกับ pin9 ผ่าน LUT1 Pin9 จะเชื่อมต่อกับมอเตอร์สั่นสะเทือน
ผลลัพธ์ของ Pipedelay เปลี่ยนจากต่ำไปสูงเมื่อตรวจพบส่วนการกรนที่ต่อเนื่องกันสองส่วนภายในประตูเวลาสำหรับ CNT2 (6 วินาที)
LUT3 ใช้เพื่อรีเซ็ต Pipedelay ดังนั้นเอาต์พุตจะต่ำหากคนนอนหลับยกศีรษะขึ้นจากหมอน ในกรณีนี้ ประตูเวลาของ CNT2 จะเสร็จสิ้นก่อนที่จะตรวจพบส่วนการกรนที่ต่อเนื่องกันสองส่วน
Pin3 ได้รับการกำหนดค่าเป็นอินพุต & เชื่อมต่อกับ "ปุ่มโหมดการสั่นสะเทือน" สัญญาณที่มาจาก pin3 ผ่าน DFF4 และ DFF5 กำหนดค่ารูปแบบการสั่นสะเทือนให้เป็นหนึ่งในสองรูปแบบ: mode1 และ mode2 ในกรณีของโหมด 1: เมื่อตรวจพบการกรน สัญญาณต่อเนื่องจะถูกส่งไปยังมอเตอร์สั่น ซึ่งหมายความว่ามอเตอร์ทำงานอย่างต่อเนื่อง
ในกรณีของโหมด 2: เมื่อตรวจพบการกรน มอเตอร์สั่นสะเทือนจะเต้นเป็นจังหวะด้วยจังหวะของเอาต์พุต CNT6
ดังนั้นเมื่อเอาต์พุตของ DFF5 สูง mode1 จะเปิดใช้งาน เมื่อต่ำ (โหมด 2) เอาต์พุตของ DFF4 จะสูงและเอาต์พุตของ CNT6 จะปรากฏบน pin9 ผ่าน LUT1
ความไวต่อเซ็นเซอร์เสียงถูกควบคุมโดยโพเทนชิออมิเตอร์ซึ่งตั้งค่าไว้ในโมดูล ควรเริ่มต้นเซ็นเซอร์ด้วยตนเองเป็นครั้งแรกเพื่อรับความไวที่ต้องการ
PIN10 เชื่อมต่อกับเอาต์พุตของ ACMP0 ซึ่งเชื่อมต่อกับ LED ภายนอก เมื่อปรับเทียบเซ็นเซอร์เสียงแล้ว เอาต์พุตของ pin10 ควรค่อนข้างต่ำ ซึ่งหมายความว่าไม่มีการสั่นไหวบน LED ภายนอกที่เชื่อมต่อกับ topin10 ด้วยวิธีนี้ เราสามารถรับประกันได้ว่าแรงดันไฟฟ้าที่เซ็นเซอร์เสียงสร้างขึ้นในความเงียบไม่เกิน 300mv ACMP0 เกณฑ์
หากคุณต้องการการเตือนอื่นนอกเหนือจากการสั่น คุณสามารถเชื่อมต่อออดกับ pin9 เพื่อให้เสียงเตือนเปิดใช้งานได้เช่นกัน
ส่วนที่สอง: เซ็นเซอร์สัมผัส
เซ็นเซอร์สัมผัสที่เราสร้างขึ้นใช้ตัวต้านทานแบบตรวจจับแรง (FSR) ตัวต้านทานที่ตรวจจับแรงได้ประกอบด้วยพอลิเมอร์ที่เป็นสื่อกระแสไฟฟ้าซึ่งจะเปลี่ยนความต้านทานในลักษณะที่คาดการณ์ได้หลังการใช้แรงกับพื้นผิวของมัน ฟิล์มตรวจจับประกอบด้วยอนุภาคทั้งที่เป็นตัวนำไฟฟ้าและไม่นำไฟฟ้าซึ่งแขวนอยู่ในเมทริกซ์ การใช้แรงกับพื้นผิวของฟิล์มตรวจจับจะทำให้อนุภาคสัมผัสกับอิเล็กโทรดนำไฟฟ้า ซึ่งจะเปลี่ยนความต้านทานของฟิล์ม FSR มาพร้อมกับขนาดและรูปร่างที่แตกต่างกัน (วงกลม & สี่เหลี่ยมจัตุรัส)
ความต้านทานเกิน 1 MΩ โดยไม่มีแรงดันใดๆ และอยู่ในช่วงประมาณ 100 kΩ ถึงสองสามร้อยโอห์ม เนื่องจากแรงดันแตกต่างกันไปตั้งแต่เบาไปจนถึงหนัก ในโครงการของเรา FSR จะใช้เป็นเซ็นเซอร์สัมผัสศีรษะและอยู่ภายในหมอน น้ำหนักศีรษะมนุษย์โดยเฉลี่ยอยู่ระหว่าง 4.5 ถึง 5 กก. เมื่อผู้ใช้วางศีรษะบนหมอน แรงจะกระทำต่อ FSR และความต้านทานจะเปลี่ยนไป GPAK ตรวจพบการเปลี่ยนแปลงนี้และเปิดใช้งานระบบแล้ว
วิธีเชื่อมต่อเซ็นเซอร์ตัวต้านทานคือการเชื่อมต่อปลายด้านหนึ่งเข้ากับกำลังไฟฟ้า และอีกด้านหนึ่งกับตัวต้านทานแบบดึงลงกับกราวด์ จากนั้นจุดระหว่างตัวต้านทานแบบดึงลงคงที่และตัวต้านทาน FSR แบบแปรผันจะเชื่อมต่อกับอินพุตแบบอะนาล็อกของ GPAK (Pin12) ดังแสดงในรูปที่ 7 สัญญาณจะถูกนำจากพินไปยังอินพุตของ ACMP1 อินพุตอื่นของ ACMP1 เชื่อมต่อกับการตั้งค่าอ้างอิง 1200mv ผลการเปรียบเทียบถูกเก็บไว้ใน DFF6 เมื่อตรวจพบการสัมผัสศีรษะ เอาต์พุตของ DFF2 จะเปลี่ยน HI เพื่อเปิดใช้งาน CNT2/Dly2 ซึ่งได้รับการกำหนดค่าให้ทำงานเป็น "การหน่วงเวลาขอบตก" โดยมีการหน่วงเวลาเท่ากับ 1.5 วินาที ในกรณีนี้ หาก Sleeper เคลื่อนที่หรือเปลี่ยนจากด้านหนึ่งไปอีกด้านหนึ่ง และ FSR ถูกขัดจังหวะน้อยกว่า 1.5 วินาที ระบบจะยังคงเปิดใช้งานและไม่มีการรีเซ็ตเกิดขึ้น CNT7 และ CNT8 ใช้เพื่อเปิดใช้งาน FSR และ ACMP1 เป็นเวลา 50 mS ทุกๆ 1 วินาที เพื่อลดการใช้พลังงาน
บทสรุป
ในโครงการนี้ เราได้สร้างหมอนอัจฉริยะซึ่งใช้สำหรับตรวจจับการกรนเพื่อเตือนผู้นอนหลับด้วยการสั่นสะเทือน
เรายังสร้างเซ็นเซอร์สัมผัสโดยใช้ FSR เพื่อเปิดใช้งานระบบโดยอัตโนมัติเมื่อใช้หมอน ตัวเลือกการเพิ่มประสิทธิภาพเพิ่มเติมคือการออกแบบใน FSR แบบขนานเพื่อรองรับหมอนขนาดใหญ่ เรายังสร้างตัวกรองดิจิทัลเพื่อลดการเกิดสัญญาณเตือนที่ผิดพลาด
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง