สารบัญ:

IOoilet: 7 ขั้นตอน (พร้อมรูปภาพ)
IOoilet: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: IOoilet: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: IOoilet: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: 7 วิธีกำจัดพวก Skibidi Toilet 2024, พฤศจิกายน
Anonim

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

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

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

ขั้นตอนที่ 1: เครื่องมือและวัสดุ

เครื่องมือและวัสดุ
เครื่องมือและวัสดุ
เครื่องมือและวัสดุ
เครื่องมือและวัสดุ
เครื่องมือและวัสดุ
เครื่องมือและวัสดุ
เครื่องมือและวัสดุ
เครื่องมือและวัสดุ

วัสดุที่ใช้:

ที่ใส่กระดาษชำระ

Wemos D1 Mini

ชิป ATTiny85, บรรจุภัณฑ์ DIP

2 x 2n2222 ทรานซิสเตอร์

ตัวต้านทาน 220 โอห์ม

ตัวต้านทาน 2 * 1KOhm

มาตรความเร่ง MPU6050

ไม่บังคับ ในกรณีที่ไม่ได้ใช้ PCB ของฉัน:

โล่การสร้างต้นแบบ Wemos

ลวดเชื่อม ฯลฯ

เครื่องมือที่ใช้:

เดรเมลพร้อมจานตัด

บอร์ด ATTiny dev (เพื่อการอัปโหลดเฟิร์มแวร์ที่สะดวก)

โปรแกรมเมอร์ USB Tiny ISP

ไขควงสามเหลี่ยม ผมใช้ชุดนี้

ขั้นตอนที่ 2: การแยกส่วนหน่วยดั้งเดิม

สลายหน่วยเดิม
สลายหน่วยเดิม
สลายหน่วยเดิม
สลายหน่วยเดิม
สลายหน่วยเดิม
สลายหน่วยเดิม

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

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

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

ขั้นตอนที่ 3: วงจรอธิบาย

วงจรอธิบาย
วงจรอธิบาย
วงจรอธิบาย
วงจรอธิบาย

ต่อไปนี้เป็นเพียงเล็กน้อยเกี่ยวกับตรรกะที่อยู่เบื้องหลังวงจร:

เพื่อให้แบตเตอรี่มีอายุการใช้งานยาวนาน ฉันต้องใส่ทั้งเครื่องวัดความเร่ง MPU6050 และโปรเซสเซอร์ ESP8266 ใน Wemos D1 Mini เพื่อพักเครื่องระหว่างการเปิดใช้งาน วิธีแรกทำได้ง่ายๆ โดยใช้ทรานซิสเตอร์ที่เปิดและปิด MPU6050

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

ตัวเลือกที่สองของฉันคือการใช้สวิตช์เอียงที่มาพร้อมกับยูนิตดั้งเดิมเพื่อปลุก ESP อันดับแรก ฉันผูกมันโดยตรงกับหมุด Wemos RESET ตามที่อธิบายไว้ในรูปภาพด้านบน โดยใช้ทรานซิสเตอร์เพื่อเปิดใช้งาน/ปิดใช้งานกลไก เมื่อฐานทรานซิสเตอร์สูง GND สามารถผ่านสวิตช์เอียงและทำให้เชื่อมต่อกับพิน RESET ชั่วคราว ทำให้ MCU รีเซ็ต (นี่เป็นวิธีเดียวที่จะปลุก ESP จากการนอนหลับสนิท) จากนั้นฉันเชื่อมต่อ D0 กับฐานทรานซิสเตอร์ ตามสมมติฐานที่ว่าขานี้อยู่ในระดับสูง ตราบใดที่ MCU อยู่ในโหมดสลีป และทันทีที่มันตื่นขึ้น D0 จะกลับไปที่ LOW โดยปิดใช้งานกลไกการรีเซ็ต ท้ายที่สุด ฉันไม่ต้องการการรีเซ็ตซ้ำๆ เพื่อให้เกิดขึ้น เพียงแค่ครั้งแรกที่ที่ใส่กระดาษชำระเริ่มเคลื่อนไหว

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

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

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

คุณสามารถดูวิธีแก้ปัญหาโดยละเอียดในสคีมาที่ฉันรวมไว้ โปรดทราบว่าตัวต้านทาน 10K ถูกแทนที่ด้วย 1K เนื่องจากตัวต้านทาน 10k สูงเกินไปสำหรับทรานซิสเตอร์ที่จะเปิดเต็มที่

ขั้นตอนที่ 4: การเตรียม ATTiny85

กำลังเตรียม ATTiny85
กำลังเตรียม ATTiny85

หากคุณไม่เคยตั้งโปรแกรม ATTiny85 อย่ากลัว! การใช้ Arduino IDE อันเป็นที่รักจะทำให้คุณได้ทุกอย่าง เริ่มต้นด้วยคำแนะนำเหล่านี้เกี่ยวกับวิธีกำหนดค่า Arduino IDE:

github.com/SpenceKonde/ATTinyCore/blob/mas…

ถัดไป ติดตั้งไดรเวอร์สำหรับ USBTinyISP จากที่นี่:

learn.adafruit.com/usbtinyisp/drivers

ตอนนี้ ให้โหลดโค้ดทดสอบที่แนบมา: WakeOnExternalInterruptTest.ino

และเชื่อมต่อ (ดูแผนภาพ ATTiny85 Pinout):

1. ปุ่มแทคระหว่างพิน 3 กับกราวด์

2. ตัวต้านทานแบบ LED และ 220 โอห์มแบบอนุกรม ระหว่างพิน 2 กับกราวด์

ต่อไป, เลือก USBTinyISP เป็นโปรแกรมเมอร์ (ภายใต้เครื่องมือ -> โปรแกรมเมอร์) และอัปโหลดแบบร่างการทดสอบไปยังบอร์ด

ไฟ LED ควรกะพริบ 5 ครั้ง จากนั้นชิปควรเข้าสู่โหมดสลีป การกดปุ่มจะทำให้ปลุกและทำซ้ำลำดับนั้น

ได้มันไปทำงาน? ยอดเยี่ยม! อัปโหลดร่างสุดท้าย "Awakener" ไปยัง ATTiny เพื่อใช้ในวงจรสุดท้าย

ขั้นตอนที่ 5: สร้าง Wemos Shield

การสร้างโล่ Wemos
การสร้างโล่ Wemos
การสร้างโล่ Wemos
การสร้างโล่ Wemos
การสร้างโล่ Wemos
การสร้างโล่ Wemos
การสร้างโล่ Wemos
การสร้างโล่ Wemos

ดังนั้น ในการสร้างเกราะป้องกัน คุณมีตัวเลือก 3 แบบที่คุณสามารถเลือกได้:

1. ใช้โปรโตชิลด์มาตรฐานสำหรับ Wemos และประสานวงจรเข้ากับมัน

2. สร้าง PCB ตามไฟล์ EAGLE ที่แนบมา

3. ขอ PCB ที่ฉันสามารถส่งให้คุณทางไปรษณีย์หอยทากได้

ในกรณีใด ๆ ฉันแนะนำให้สร้างวงจรบนเขียงหั่นขนมก่อนทำ PCB!

หากใช้ตัวเลือก PCB ตรวจสอบให้แน่ใจว่าได้เชื่อมต่อสายสีดำดังในรูปที่ด้านหน้าหรือด้านหลังของบอร์ด (อย่างหลังทำงานได้ดีที่สุดสำหรับฉัน) สายนี้เชื่อมต่อ GND จาก Wemos กับ ATTiny85 หากไม่มีสายนี้ การปลุกจะไม่เกิดขึ้น

ลองดูรูปภาพให้ดีและอ่านคำอธิบายประกอบที่ฉันเพิ่มเข้าไป แค่นี้ก็เพียงพอแล้ว

ขั้นตอนที่ 6: การเตรียม Wemos

หากคุณไม่เคยใช้ Arduino IDE เพื่อตั้งโปรแกรมบอร์ด Wemos ให้เริ่มต้นด้วยการติดตั้งตัวจัดการบอร์ดและเลือกบอร์ดในเมนูเครื่องมือ -> บอร์ด ตามที่อธิบายไว้ที่นี่:

github.com/esp8266/Arduino

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

ขั้นตอนที่ 7: นำทุกอย่างมารวมกัน

วางมันทั้งหมดเข้าด้วยกัน
วางมันทั้งหมดเข้าด้วยกัน
วางมันทั้งหมดเข้าด้วยกัน
วางมันทั้งหมดเข้าด้วยกัน
วางมันทั้งหมดเข้าด้วยกัน
วางมันทั้งหมดเข้าด้วยกัน

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

คำแนะนำ: วางแผนล่วงหน้า

ตอนนี้ การทดสอบ!

เมื่อติดตั้งแล้ว ให้เริ่มต้นด้วยการอัปโหลดภาพร่างการทดสอบ BlinkAccelerometer ไปยัง Wemos และตรวจดูให้แน่ใจว่าได้เปิดและปิด LED MPU6050 หากไม่ ให้ตรวจสอบการเดินสายไฟของทรานซิสเตอร์ที่รับผิดชอบการจ่ายไฟให้กับ MPU6050 ฐานควรเชื่อมต่อกับพิน D5 ของ Wemos ตัวสะสมควรเชื่อมต่อกับ GND ของมาตรความเร่ง และตัวส่งควรเชื่อมต่อกับ GND ทั่วไป

ถัดไป อัปโหลดสเก็ตช์ TurnCountTest1 ไปยังบอร์ด Wemos และเปิด Serial Monitor คุณควรเห็นข้อมูลที่มาจากมาตรความเร่งที่แสดงบนจอภาพ หากไม่ทำงาน ให้ตรวจสอบนาฬิกาและการเดินสายข้อมูล: CLK ควรเชื่อมต่อกับ D1 และ DATA ควรเชื่อมต่อกับ D2

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

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

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

หากคุณต้องการลดเวลาที่ Wemos ตื่นขึ้น (เพื่อจุดประสงค์ในการทดสอบเป็นหลัก) ให้ลดค่าของ WIFI_CONFIGURATION_IDLE_TIMEOUT ที่กำหนดไว้ใน params.h และอัปโหลดภาพร่างไปยังบอร์ด ตรวจสอบให้แน่ใจว่าหลังจากที่ Wemos เข้าสู่โหมดสลีป การเลื่อนสวิตช์เอียงจะทำให้ ATTiny ตื่นขึ้น (สัญญาณโดย LED) ซึ่งจะทำให้ Wemos ตื่นขึ้น

เปลี่ยนค่าของพารามิเตอร์กลับเป็น 180000L (3 นาทีในหน่วยมิลลิวินาที) และตรวจสอบให้แน่ใจว่า Wemos เปิดใช้งานฮอตสปอตที่เรียกว่า IOtoilet_XXXXXXXX โดยที่ XXXXXXX จะถูกดึงมาจากที่อยู่ MAC ของชิป เชื่อมต่อกับ Wifi นี้โดยใช้สมาร์ทโฟน และคุณควรไปที่แบบฟอร์มลงทะเบียน (กลไกที่เรียกว่า Captive Portal) กรอกรายละเอียด โดยเฉพาะอย่างยิ่ง SSID และรหัสผ่านของ wifi ในพื้นที่ของคุณ และส่งแบบฟอร์ม จากนั้นเครื่องควรพยายามเชื่อมต่อกับเครือข่ายโดยใช้ข้อมูลรับรองที่ให้มา และหากสำเร็จ ให้เล่นเสียงขึ้น 3 เสียงบนลำโพง หากมีปัญหาในการเชื่อมต่อกับ Wifi จะเล่นเสียงจากมากไปน้อย 3 เสียง หลังจากนั้น Wemos ควรหลับสนิทจนตื่นขึ้นด้วยการเคลื่อนไหว

สุดท้าย: สิ้นสุดการทดสอบระบบ

หมุนที่ใส่กระดาษชำระตามแกนหมุนสองสามรอบ จากนั้นวางบนพื้นผิวที่มั่นคง (เพื่อส่งสัญญาณว่าการใช้ม้วนกระดาษสิ้นสุดลงและทริกเกอร์การอัปโหลดข้อมูล) รอประมาณ 10 วินาทีเพื่อให้จำนวนม้วนถูกส่งไปยังระบบคลาวด์ จากนั้นไปที่ https://smartwipe-iot.appspot.com/ แล้วคลิก Query คุณควรเห็นรายละเอียดการลงทะเบียนและจำนวนการใช้งานล่าสุดของคุณในคลาวด์! อย่าลืมจด uuid ของคุณ ซึ่งเป็นรหัสเฉพาะของคุณในระบบ ซึ่งดึงมาจากที่อยู่ MAC ของ Wemos

หากคุณต้องการแยกเฉพาะสถิติของคุณในรูปแบบ JSON ให้ใช้ URL ที่คล้ายกับสิ่งนี้:

smartwipe-iot.appspot.com/api?action=query&uuid=1234567890

เพียงแทนที่ uuid ด้วยของคุณ

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

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

ปัญหา? เขียนฉัน!

UNITED WE POOP!

แนะนำ: