วิธีการกระตุ้นการเตือนเมื่อกระดาษชำระต่ำ


47

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

บางคนที่นึกถึง: โดยน้ำหนักโดยการสะท้อน (สีของกระดาษ) หรือเลเซอร์ tripwire - ทั้งหมดขวาบนหลอด ฉันไม่สนใจที่จะสร้างมัน แต่ฉันไม่รู้ว่าเซ็นเซอร์ตัวใด ใครรู้ว่าจะใช้?


5
บางทีคุณควรคิดถึงเซ็นเซอร์ที่หุ้มที่นั่งส้วมดังนั้นมันจะส่งเสียงเตือนถ้ามีคนนั่งลงเมื่อไม่มีกระดาษ :)
Peter Bloomfield

บางทีเราอาจลองวัดความต้านทานต่อแนวรัศมีของม้วนกระดาษ (หวังว่ามันจะไม่สูงเกินไป) แล้วมันจะลดลงเมื่อไม่มีกระดาษเหลืออยู่เพียงพอ
jfpoilpret

ลืมความต้านทานไปได้: ลองวัดดู แต่เหนือความสามารถสูงสุดของมัลติมิเตอร์ของฉัน (20M โอห์ม)
jfpoilpret

1
สิ่งต่อไปนี้อาจเป็นการสนทนาที่ตั้งอยู่บน meta.arduino ดีกว่า แต่ฉันคิดว่าคำถามนี้มักจะเป็นคำถามที่หลอกลวงจุดของการมี arduino SE มันไม่ได้ผูกพันโดยตรงกับ arduinos สำหรับทุก ๆ โครงการที่จะไม่ออกแบบโซลูชันของเขากับเครื่องมือ แต่เลือกเครื่องมือที่ดีที่สุดสำหรับการแก้ปัญหา (ถ้าใช้ RPi ดีกว่าหรือ CC2540) แน่นอนว่ามันเป็นโซลูชันทางวิศวกรรมซอฟต์แวร์เชิงกล + อิเล็คตรอน + และไม่มีที่ทาง SE ที่ดีที่สุดที่ฉันรู้จักถามคำถามแบบนั้น
zmo

@zmo ฉันจะแนะนำให้ OP แก้ไขคำถามของเขาเพื่อเพิ่มความต้องการในการส่งสัญญาณเตือนผ่าน Arduino ที่จะทำให้ดีขึ้นสำหรับ Arduino.SE
jfpoilpret

คำตอบ:


47

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

กลไกรู้สึกขาดน้ำหนักบนชั้นวางที่ด้านล่างของเสา ทริกเกอร์สัญญาณเตือนเมื่อม้วนสุดท้ายถูกลบ ไม่มีใครได้รับการย่อ

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


@AnnonomusPerson เขากำลังพูดถึงการวัดน้ำหนักของกระดาษชำระม้วนใหญ่หลายม้วนไม่ใช่แผ่นเดี่ยวหรือม้วนเปล่า
AJMansfield

1
นี่เป็นความคิดที่ดี: แทนที่จะต้องจัดการกับการวัดปริมาณกระดาษที่เหลืออยู่ในม้วนให้วัดจำนวนม้วนที่เหลือเพื่อบอกคุณเมื่อคุณต้องการรับม้วนเพิ่ม
AJMansfield

คุณใช้เซ็นเซอร์ตัวใดในการตรวจหาน้ำหนักตัว
jfpoilpret

3
เซ็นเซอร์ความดันผ้าเป็นตัวเลือกหนึ่งหรือเซ็นเซอร์ตรวจจับแสงบนฐานที่ครอบคลุมหากมีม้วน
Rob Hoare

คุณสามารถให้ตัวอย่างของเซ็นเซอร์เฉพาะที่สามารถทำงานได้หรือไม่?
asheeshr

22

ฉันเชื่อว่าแนวคิดเซ็นเซอร์กกนำออกมาโดย jfpoilpret และ jmathew เป็นวิธีที่ง่ายที่สุดที่จะทำให้สำเร็จ ฉันวาดไดอะแกรมว่าฉันคิดว่ามันจะเป็นอย่างไร

คุณสามารถปรับความไวได้โดยปรับความสูงของหน้าสัมผัสด้านล่าง

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

การออกแบบนี้สามารถทำได้โดยใช้อุปกรณ์อิเล็กทรอนิกส์แบบสแตนด์อโลน (ไม่จำเป็นต้องมี Arduino) อย่างไรก็ตามคุณต้องการ gamify การเปลี่ยนแปลงของม้วนคุณสามารถใช้ arduino สำหรับสิ่งนั้น

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

แผนผังเซ็นเซอร์รีด


6
ไดอะแกรมที่ดี คุณใช้อะไรในการสร้างมัน
jmathew

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

@jfpoilpret ฉันไม่รู้ว่าคำนี้เป็นสวิตช์ชนิดใดชนิดหนึ่ง ฉันกำลังคิดแนวคิดทั่วไปเพิ่มเติมของวัสดุดัดงอแข็ง ขอขอบคุณสำหรับการชี้แจง!
jmathew

@ jmathew ไม่มีปัญหาหลังจากทั้งหมดเราทุกคนอยู่ที่นี่เพื่อแบ่งปันความรู้!
jfpoilpret

2
ฉันใช้ MS Visio 2007
Arluin

14

ฉันคิดว่าฉันเห็นสิ่งนี้ในซีรีย์ 1 ตอนที่ 2 ของ Manlab ของ James May

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

นี่คือภาพดิบที่อธิบายสิ่งที่ฉันหมายถึง

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

ดูภาพจินตนาการของฉัน


9

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

อีกทางเลือกหนึ่งคือคุณอาจมีเครื่องจ่ายกระดาษชำระแบบควบคุมด้วยระบบอิเล็กทรอนิกส์ (ปุ่มกดเพื่อแจกจ่ายกระดาษชำระที่มีโปรแกรมไว้ล่วงหน้า) และให้ arduino คอยติดตามว่ามีการจ่ายยามากแค่ไหน

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

แน่นอนว่าด้วยวิธีการเหล่านี้คุณจะต้องทำการทดสอบและรวบรวมข้อมูลโดยขึ้นอยู่กับชนิด / ยี่ห้อ / วัสดุ / ฯลฯ ของกระดาษชำระ

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

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


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

1
แต่ปัญหาที่พบบ่อยคือการกำหนดจำนวนรอบการหมุนสูงสุดเนื่องจากขึ้นอยู่กับจำนวนแผ่นและความหนา
jfpoilpret

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

1
คุณสามารถกำหนดจำนวนรอบการหมุนได้โดยโอน TP ทั้งหมดจากม้วนใหม่ไปยังแกนหมุนในม้วนที่วัดได้ของคุณและนับการหมุนด้วยตัวเข้ารหัส (ด้วยสิ่ง DYI ง่าย ๆ เช่นคู่ dowels แนวตั้งสองม้วน . จากนั้นเมื่อว่างให้ทำซ้ำ ทำให้ทุกอย่างใช้งานง่ายด้วยเช่นกันเพราะคุณสามารถนำสปูลเดิมของคุณกลับมาใช้ใหม่ซึ่งคุณได้แนบตัวเข้ารหัสไปแล้วและห่อ TP ใหม่ลงไป
Jason C

1
@JMansfield ฉันสงสัยว่ามีบางวงกลมถูกตัดออกจากกระดาษแข็งที่ด้านข้างของม้วนกระดาษที่ได้รับ (และการดูแลบางอย่าง) จะให้ผลลัพธ์ที่น่าพอใจ; หากม้วนอยู่บนแท่งเดือยสำหรับการถ่ายโอนคุณสามารถกระตุ้นรูที่อยู่ตรงกลางของแผ่นดิสก์และวางลงบน ในด้านบวกหากคุณซื้อยี่ห้อ TP เดียวกันเสมอคุณจะต้องทำเพียงครั้งเดียว (และคุณสามารถเก็บรายการจำนวนการหมุนสำหรับยี่ห้อ / ประเภทที่แตกต่างกันที่คุณค้นพบ - คุณอาจเป็น ผู้รักษาความภาคภูมิใจในฐานข้อมูลการนับจำนวนครั้งแรกของโอเพ่นซอร์ส TP
Jason C

7

ฉันคิดว่า 'Arluin' และ 'jmathew' มีความคิดที่ถูกต้อง ใช้คันโยกที่วางอยู่ด้านบนของม้วน

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

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

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

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

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

การตั้งค่าที่เสนอ


4

คุณสามารถเปิดการ์ดวันเกิดที่เปิดแล้วปรับสวิทช์ให้เข้ากับแขนจับได้ เมื่อคุณได้ยิน 'สุขสันต์วันเกิด' การตีระฆังจากห้องน้ำคุณรู้ว่าคุณกำลังมีปัญหา! (และเนื่องจากพวกเขาใช้พลังงานต่ำมากสิ่งเหล่านี้จะพูดถึงตลอดไป ;-)) ฉันได้แสดงการตั้งค่า LED ที่นี่ แต่คุณได้รับความคิด ...

สุขสันต์วันเกิด


คุณช่วยแก้ไขคำถามของคุณเพื่อบอกวิธีเชื่อมต่อรายการนั้นกับบอร์ด Arduino ได้หรือไม่? ขอบคุณ!
เพนกวินไม่ระบุชื่อ

3

ฉันสร้างเครื่องวัดวามเร็วสำหรับ Arduino ซึ่งอาจแก้ปัญหาของคุณได้ วงจรพื้นฐานค่อนข้างง่าย:

วงจรมาตร

ฉันมี photoransistor วางอยู่รอบ ๆ ซึ่งตอบสนองได้ดีต่อแสงสีแดงและอีกอันจาก Radio Shackค่อนข้างไวต่อสัญญาณ IR ของ LED TV ระยะไกลแบบเก่า สำหรับจุดประสงค์ของคุณสายสีเขียวจะถูกต่อเข้ากับแอนาล็อกพิน 0 ของ Arduino และคุณต้องสุ่มตัวอย่างเป็นระยะไม่ได้ตั้งค่าสเก็ตช์ที่ขับเคลื่อนด้วย interupt เคล็ดลับในการรับความแตกต่างของสัญญาณที่สะท้อนระหว่างกระดาษสีขาวและสีเทาม้วนคือการรู้ว่าความไวแสงของตัวส่งสัญญาณเพิ่มความต้านทาน GND ได้มากขึ้น แต่แรงดันไฟฟ้ามืดก็เพิ่มขึ้นเช่นกัน ฉันมาที่ค่า 5 และ 3 megohm อย่างชัดเจนโดยการตรวจสอบค่า AtoD จากวัตถุมืดและแสงที่ระยะห่างไม่กี่นิ้วจากเครื่องตรวจจับ ขั้นตอนเดียวกันควรใช้กับการตรวจจับสีเทาและสีขาวของคุณ แม้ว่าบางสิ่งที่ดูแตกต่างกันอย่างเห็นได้ชัดก็มีการสะท้อนใน IR เหมือนกัน นี่คือรูปของมาตรวัดแสงสีแดงที่เสร็จแล้ว: ป้อนคำอธิบายรูปภาพที่นี่

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


3

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


สำหรับ $ 10 คุณจะได้รับadafruit.com/products/466 1 ซม. -15ซม. ช่วงนี้ (เหมาะสำหรับ TP roll) และได้รับการออกแบบมาให้ใช้งานร่วมกับไมโครคอนโทรลเลอร์ได้อย่างง่ายดาย
Jason C

@ Jason C: ความพยายามครั้งแรกคือการใช้ VCNL4000 แต่เช่นเดียวกับรายงานอื่น ๆ มันจะหยุด / หยุด / หยุดขณะที่อ่าน ฉันไม่เห็นใครแก้ไขปัญหานี้แม้ว่าจะลด mA
Jose Leon Leon

@Aditya การใช้เซ็นเซอร์ความใกล้ชิด HC-SR04 ไม่ได้ช่วย ไม่มีความแตกต่างระหว่าง TP เต็มม้วนและอันที่ว่างเปล่า ดีที่สุดที่ฉันสามารถเดาได้ว่า 'เสียงสะท้อน' กำลังเดินผ่านเนื้อเยื่อและหยุดที่แถบโลหะที่ถือ TP อย่างน้อยสำหรับเซ็นเซอร์นั้นมันก็ไม่ทำงาน
Jose Leon Leon

@ JoseLeon ฉันเห็น มันค่อนข้างแปลกจริงๆ ฉันเห็นด้วยกับเหตุผลของคุณ อาจมีเซ็นเซอร์อีกตัวหนึ่งซึ่งอาจใช้งานได้ แต่ฉันคิดว่าเหตุผลของคุณที่คลื่นอินฟราเรดควรผ่านกระดาษชำระดูเหมือนว่าใช้ได้
Aditya Somani

2

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

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

เมื่อคุณตรวจจับระยะทางนั้นซ้ำ ๆ เป็นระยะเวลานาน (เช่นนาทีหรือมากกว่า) คุณจะส่งเสียงเตือน

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


ฉันไม่แน่ใจว่าคุณจะได้รับความแม่นยำเพียงพอด้วยเซ็นเซอร์อัลตร้าซาวด์ IIRC ส่วนใหญ่มีความแม่นยำประมาณ 3-4 มม. โดยทั่วไปถือว่าดีพอ แต่เมื่อพิจารณาจากเส้นผ่านศูนย์กลางของม้วนกระดาษชำระซึ่งอาจไม่ถูกต้อง
jfpoilpret

ใช่มันมักจะเป็นจริงสำหรับการอ่านรายบุคคล ความผันผวนค่อนข้างสม่ำเสมอดังนั้นคุณสามารถอ่านค่าเฉลี่ยหลาย ๆ ครั้งติดต่อกันเพื่อตอบโต้ นั่นอาจทำให้คุณมีความแม่นยำ ~ 1 มม.
Peter Bloomfield

จะเกิดอะไรขึ้นเมื่อกระดาษชำระกระดิกหนึ่งมิลลิเมตรในขณะที่หมุนออกจากเซ็นเซอร์โดยเหลือกระดาษนิดหน่อย
ไม่ระบุชื่อเพนกวิน

1
@AnnonomusPerson คุณจะได้รับการอ่านลวงเมื่อมีการเคลื่อนไหว นั่นเป็นเหตุผลที่คุณรอจนกว่าการอ่านจะคงอยู่เป็นระยะเวลานานก่อนที่จะทำการอ่าน
Peter Bloomfield

@Peter R: การใช้เซ็นเซอร์ความใกล้ชิด HC-SR04 ไม่ได้ช่วยอะไร ไม่มีความแตกต่างระหว่าง TP เต็มม้วนและอันที่ว่างเปล่า ดีที่สุดที่ฉันสามารถเดาได้ว่า 'เสียงสะท้อน' กำลังเดินผ่านเนื้อเยื่อและหยุดที่แถบโลหะที่ถือ TP อย่างน้อยสำหรับเซ็นเซอร์นั้นมันก็ไม่ทำงาน
Jose Leon Leon

2

แนวคิดหนึ่งที่อยู่ในใจจะเป็นเช่นนั้น:

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

ดังนั้นทันทีที่ระยะห่างระหว่างแม่เหล็กและหน้าสัมผัสรีดอยู่ภายใต้ขีด จำกัด สวิทช์จะปิดวงจร ระยะทางนั้นจะลดลงในขณะที่ม้วนกระดาษถูกดึง

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

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


ไม่สามารถใช้งานได้เช่นเดียวกับเซ็นเซอร์อัลตราโซนิค มันจะยังคงดับลงอย่างน้อย 10 ฟุต เซ็นเซอร์สีเป็นความคิดที่ดีกว่า
Penguin Penguin ไม่ระบุชื่อ

ฉันไม่เห็นความสัมพันธ์กับเซ็นเซอร์อัลตราโซนิค คุณสามารถพัฒนาต่อไปทำไมมันไม่ทำงาน? มีคอนแทคเลนส์และเซ็นเซอร์เอฟเฟกต์ฮอลล์จำนวนมากทำให้แม่เหล็กชนิดต่างๆ
jfpoilpret

เลเยอร์ของ TP มีความบางมากจนอาจเปิดใช้งานด้วยซ้ายเล็กน้อย ในทางทฤษฎีอาจถูกปรับแต่ง แต่มันไม่มีประสิทธิภาพจริง ๆ ที่จะนำกล้องจุลทรรศน์หรืออะไรก็ตามที่จะเปลี่ยนม้วนกระดาษชำระ
Penguin Penguin ไม่ระบุชื่อ

การเปิดใช้งานด้วยซ้ายเล็กน้อยนั้นไม่เลวนักเนื่องจากคำถาม OP คือ "... กระดาษชำระต่ำ "; ค่าต่ำไม่ได้หมายความว่าว่างเปล่า
jfpoilpret

2

ทางออกที่ง่ายที่สุด แต่ดีที่สุดคือการใช้ออปโตคัปเปลอร์ที่ทำจาก IR LED หนึ่งตัวและออปโตทรานซิสเตอร์ คุณทำให้ไฟ LED สว่างขึ้นในการหมุน LED จะอยู่ภายในม้วนที่เชื่อมโยงกับ "มือจับ" เมื่อคุณลบม้วนกระดาษแข็งแล้วออปโต - ทรานซิสเตอร์จะได้รับแสง IR จาก LED และทริกเกอร์การหยุดชะงักของการเปลี่ยนพินบน Arduino ซึ่งจะแจ้งเตือนคุณผ่านหลาย ๆ ทาง (แสง, SMS, twitter, ปลุก ... )

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

มิฉะนั้นวิธีแก้ปัญหาแบบเดียวกันสำหรับม้วนสำรองคือความคิดที่ดีกว่า :-)


ออปโตคัปเปลอร์ไม่ได้มีชิพตัวเดียวที่รวมทั้งตัวส่งและตัวรับ ดูที่นี่: en.wikipedia.org/wiki/Opto-isolator
jfpoilpret

[…] เป็นส่วนประกอบที่ถ่ายโอนสัญญาณไฟฟ้าระหว่างสองวงจรที่แยกได้โดยใช้แสง […]ดังนั้นโดยทั่วไปนั่นคือสิ่งที่เราทำระหว่าง IR LED (หนึ่งวงจร) และ phototransistor แม้ว่าคุณจะถูกต้องมันไม่ได้เป็นองค์ประกอบเดียว (เช่น MOC3020)
zmo

2

ตัวเลือกมากมายที่นี่ดูเหมือนจะซับซ้อนและล่วงล้ำ

เซ็นเซอร์สี

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

นอกจากนี้คุณยังสามารถเพียงแค่ซื้อราคา $ 8

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

หากจำเป็นสามารถทำการปรับเทียบได้โดยการกดปุ่มหลังจากติดตั้งม้วนฟิล์มใหม่โดยเปิดไฟห้องน้ำ

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

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

ลำแสง IR แตก

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

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


ฉันชอบเซ็นเซอร์รีดและเซนเซอร์วัดระยะ (BTW: $ 10 ทำให้คุณมีตัวเลือกเซ็นเซอร์ระยะใกล้ที่ดี ) ที่นี่


1
ลำแสง IR เป็นความคิดแรกของฉัน ที่เรียบง่ายและง่ายต่อการใช้และอาจจะเชื่อถือได้มากขึ้นกว่าบางส่วนของโซลูชั่นอื่น ๆ ถึงแม้ว่าอาจจะสนุกน้อย :)
เควิน

ฉันเห็นด้วย ฉันคิดว่าเซ็นเซอร์สีจะสนุกอย่างน้อยจากด้านซอฟต์แวร์ มันเป็นความท้าทายที่ดีในการรวบรวมข้อมูลและพยายามคิดหาอัลกอริทึมที่มีภูมิคุ้มกันเช่นการเปลี่ยนแปลงของแสงธรรมชาติหรือสิ่งกระตุ้นอื่น ๆ
Jason C

1

คุณมีตัวเลือกน้อย:

หมายเหตุ: ลิงค์ที่ให้เป็นเพียงลิงค์แรกที่เกิดขึ้น ส่วนใหญ่ราคาแพงเมื่อเทียบกับเว็บไซต์อื่น ๆ eBay ซื้อแล้วราคาถูกสำหรับสินค้าเหล่านี้ส่วนใหญ่ ตรวจสอบสถานที่อื่น ๆ ด้วยรวมทั้งSparkfun

  • อัลตราโซนิกปิงเซนเซอร์ สิ่งนี้ไม่เหมาะอย่างยิ่ง แต่ใช้งานง่าย เพียงเพิ่มเข้ากับสิ่งที่แนบมา มันไม่เหมาะเพราะจะไม่แม่นยำพอที่จะบอกได้ว่ามันว่างเปล่าเมื่อไหร่ อาจมีความอ่อนไหวสูง / ต่ำเล็กน้อย น้ำหนักจะหนักขึ้นแม้ว่ามันจะเปลี่ยนไปก็ตาม
  • เซ็นเซอร์สี (ดีกว่า แต่ค่าใช้จ่ายเพิ่มเติม) คุณพูดถึงเรื่องนี้และนี่อาจเป็นความคิดที่ดีที่สุด มันจะให้ค่าอะนาล็อก (สำหรับการอ่านด้วย Arduino) สำหรับสีแดงสีเขียวและสีน้ำเงิน [สมมติว่าเนื้อหาของสีนั้นสูงกว่าแรงดันไฟฟ้าที่สูงกว่า] สีขาวควรจะสวยมาก ๆ ที่ 100% และสีน้ำตาลฉันจะนึกภาพว่าส่วนใหญ่จะอยู่ที่ประมาณ 30-40% (เพิ่มเติมในภายหลังหากคุณไม่เข้าใจให้ข้ามส่วนนี้)

ฉันจะอธิบายรายละเอียดเพิ่มเติมเกี่ยวกับเซ็นเซอร์สี:

สีที่อ่านมีค่าสามค่าที่นี่: สีแดงสีเขียวและสีน้ำเงิน บอร์ดมีเซ็นเซอร์สามตัว มีตัวกรองทุกอย่างยกเว้นสีแดงสีน้ำเงินอีกอันหนึ่งและสีเขียวอื่น ๆ เซ็นเซอร์บนกระดานตรวจจับปริมาณแสงที่เข้ามาแล้วแปลงเป็นแรงดันไฟฟ้า: ระหว่าง 5V ("100% แดง / เขียว / น้ำเงิน") หรือ 0V ("0% แดง / เขียว / น้ำเงิน") จากนั้นสามารถแปลงเป็นตัวเลขได้โดย Arduino (0-1024 บนพินอะนาล็อก)

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

ใช้ตัวเลือกสีเช่นฉันใช้และเลือกสีน้ำตาล ทางด้านซ้ายของสิ่งนี้คุณสามารถควบคุม "ความสว่างจำลอง" นอกจากนั้นนั่นคือรูปแบบเลขฐานสิบหกของ RGB คุณจะต้องการแปลงที่มาตรฐานค่ากับ calcuator

ในสีน้ำตาลสีน้ำเงินสีนั้นแทบจะไม่มีเลย เราควรเพิกเฉยสีนั้นเว้นเสียแต่ว่าคุณต้องการตรวจสอบอีกครั้งว่าเป็นสีน้ำตาล ฉันจะบอกว่ามันควรจะต่ำกว่า 40% สำหรับสีน้ำตาลใด ๆ

จากสิ่งที่ฉันสามารถบอกได้ด้วยร่มเงาสีน้ำตาลตัวอย่างสีแดงนั้นมีสีเขียวมากกว่า 2x อัตราส่วนที่อาจแตกต่างกัน แต่คุณควรตรวจสอบว่ามันค่อนข้างอยู่จริง สำหรับขาว / เทา / ดำสีทั้งหมดเป็นสัดส่วน 1: 1: 1 คุณสามารถใช้สิ่งนี้เพื่อตรวจสอบว่ามีสีเข้มหรือเป็นสีน้ำตาล

int rPin = A0;      //Red Pin
int gPin = A1;      //Green Pin
int bPin = A2;      //Blue Pin
int ledPin = 13;    //I made this code with a LED, not a speaker
boolean testTwice = false;

void setup() {
  pinMode(ledPin, OUTPUT);  
}

void loop() {
  int rValue = analogRead(rPin);
  int gValue = analogRead(gPin);
  int bValue = analogRead(bPin);

  if (bPin < 256) { //If this is false, either something is in the way or it's white. Going to verify that something's not in the way...
    int minRed = rPin * 0.4; //A little under a half for padding... this values may need to be adjusted. Adjust this one and the one below farther apart for less sensitive.
    int maxRed = rPin * 0.6; //A little over a half for padding... this values may need to be adjusted.
    if (gPin < maxRed && gPin > minRed) { //Verifys that red between minRed and maxRed
      digitalWrite(ledPin, HIGH);
      delay(5000);
      digitalWrite(ledPin, LOW);
    }
  }
  delay(5000); // No need to waste power... you might want to add an actutal sleep function if on battery power
}

ก่อนอื่นตรวจสอบว่าสีน้ำเงินน้อยกว่า 25% จากนั้นจะตรวจสอบว่าสีแดงและสีเขียวเท่ากับ ... ให้หรือรับ 20% (เช่นสีแดง = 100 สีเขียว = 80, สีแดง = 110 สีเขียว = 90, ฯลฯ ) หากเป็นเรื่องจริงคุณสามารถพิสูจน์ได้ว่าเป็นสีน้ำตาล จากนั้นไฟ LED จะเปิดเป็นเวลาห้าวินาที

คุณสามารถปรับเปลี่ยน LED ให้เป็นเสียงปลุกหากคุณต้องการ คุณอาจต้องปรับคำสั่ง if ด้วยการตรวจสอบว่าสีน้ำเงินน้อยกว่า 256/1024 (1024 = ความละเอียดของพินแอนะล็อก) หากมันไม่ทำงานในที่มีแสงมากหรือทำงานในที่มืด เนื่องจากรหัสในภายหลังตรวจสอบว่าสีแดงมีสีเขียวประมาณ 2x สีของเฉดสีขาวใด ๆ จึงไม่ควรส่งผ่านคำสั่งนั้น คุณอาจต้องปรับminRedและmaxRedเพื่อให้ไกลขึ้น (หากไม่ตรวจจับสีน้ำตาล) หรือใกล้กว่า (หากตรวจจับสีน้ำตาลเมื่อเป็นสีขาว) ฉันไม่สามารถทดสอบรหัสนี้ได้โดยไม่มีเซ็นเซอร์สี


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


เซ็นเซอร์สีทำงานเหมือนกันหรือไม่ (เช่นโดยไม่ต้องปรับภาพร่าง) หากคุณเปลี่ยนสีของกระดาษชำระ :-)?
jfpoilpret

@jfpoilpret ฉันไม่ทราบว่าคุณใช้กระดาษชำระซ้ำหรือไม่ แต่ ... :) ฉันกำลังเพิ่มรหัสด้วยกลไกดังนั้นมันจะเป็น "ที่คล้ายกัน" แต่ไม่แน่นอน
ไม่ระบุชื่อเพนกวิน

ฉันคิดว่ากระดาษชำระนั้นอ่อนพอที่จะดูดซับเสียงอุลตร้าโซนิคจากเซ็นเซอร์อัลตราโซนิค
TheDoctor

@TheDoctor มันไม่ได้เป็นความคิดที่ดีจริงๆเหมือนฉันชี้ให้เห็น มันเป็นวิธีที่ไม่ถูกต้อง
ไม่ระบุชื่อเพนกวิน

1
@jfpoilpret หากคุณเพิ่มปุ่ม "ปรับเทียบ" และกดปุ่มนี้โดยเปิดไฟห้องน้ำหลังจากคุณติดตั้งม้วนฟิล์มใหม่คุณสามารถวัดสีที่ถูกต้องได้
Jason C

1

ฟังดูเหมือนโปรเจคนี่คือ 2 ct ของฉัน:

หันกล้องไปถ่ายภาพม้วนจากด้านข้างซึ่งอาจเป็นวิธีเดียวที่จะรู้ว่ากระดาษเหลืออยู่เท่าไหร่ (แก้ไข: คุณสามารถใช้ raspberry pi กับกล้อง csi และสร้างสัญญาณเอาต์พุตที่สอดคล้องกับจำนวนชีตและฟีดที่ส่งสัญญาณไปยัง arduino ?!)

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

(แก้ไข: อีกหนึ่งแนวคิด, mesure ความหนาของม้วนโดยการวัดมุมของฝาปิด)


สวัสดีและยินดีต้อนรับสู่ Arduino Stack Exchange! คุณช่วยบอกว่าคุณเชื่อมต่อกับ Arduino ได้ไหม? ขอบคุณ! นอกจากนี้ฉันไม่ทราบว่ามีความคิดที่ดีที่จะนำกล้องเข้าห้องน้ำ :)
Penguin Penguin ไม่ระบุชื่อ

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

1

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


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

1

ฉันว่ารับเซ็นเซอร์น้ำหนักและโปรแกรมมันสำหรับน้ำหนักของม้วน เมื่อน้ำหนักลดลงต่ำกว่าปกติให้เริ่มกระพริบ LED หรือส่งเสียงบี๊บ


0

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

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

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

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

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

แก้ไข: หลักฐานการทำงานของแนวคิดของวิธีการความจุ ต้องการเพียงสายอาร์ดิโอโน่และ 2 เส้นเท่านั้น แม่นยำถึงประมาณ 8 นิ้วด้วยเสียงรบกวนมากมาย ค่อนข้างแน่ใจว่าคุณจะได้รับความแม่นยำอย่างน้อย 1 นิ้ว เวลาในการวัดประมาณหนึ่งนาที มันไวต่อสภาพแวดล้อมจริงๆ คุณต้องตรวจสอบให้แน่ใจว่ามีอะไรที่เป็นโลหะอยู่ในบริเวณที่มันอยู่หรือใช้เกราะป้องกัน

float difference;
unsigned long i;
unsigned long j;
unsigned int temp;
volatile unsigned char blah;

void setup()
{
  pinMode(5,OUTPUT);
  Serial.begin(9600);
}

void loop()
{
 difference =0;
 Serial.print("Measuring: ");

 for(i=0;i<100;i++)
   {
     for(j=0;j<5000;j++)
     {
       digitalWrite(5,LOW);

       temp=analogRead(A0);

       digitalWrite(5,HIGH);

       temp = analogRead(A0)-temp;
       if(temp<1024)
       {
         difference += temp;
       }

     }
     //Random delay every 5000 samples helps avoid problems with interference by staggering the samples to cancel aliasing.
     delay(random(1,50));
     Serial.print("|");

   }
   Serial.print("\n");
   Serial.print("Value: ");
   Serial.print(difference/500000);
   Serial.print("\nMeasurement Complete. Press Enter to begin another test.\n");

   while(!Serial.available())
   {
     blah = 20;
   }
   Serial.read();


}

http://pastebin.com/2W5y81AB


ควรใส่รหัสไว้ในคำตอบของคุณแทนที่จะลิงค์ภายนอก หากลิงค์เกิดขึ้นอีกในอนาคตคำตอบของคุณจะยังคงเกี่ยวข้อง
sachleen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.