สารบัญ:
- เสบียง
- ขั้นตอนที่ 1: ประสานส่วนประกอบ
- ขั้นตอนที่ 2: แก้ไขและอัปโหลดโค้ด
- ขั้นตอนที่ 3: สร้างสิ่งที่ส่งมาด้วย
- ขั้นตอนที่ 4: ติดตั้งส่วนประกอบในสิ่งที่แนบมา
- ขั้นตอนที่ 5: บทสรุป
วีดีโอ: แปรงฟัน!: 5 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:03
ลูกชาย 5 ขวบของฉันไม่ชอบเด็ก 5 ขวบจำนวนมากที่แปรงฟัน…
ฉันพบว่าอุปสรรคที่ใหญ่ที่สุดไม่ใช่การแปรงฟันด้วยตัวเอง แต่ใช้เวลาทำ
ฉันทำการทดลองด้วยการนับถอยหลังของโทรศัพท์มือถือเพื่อให้เขาติดตามเวลาที่ใช้กับฟันแต่ละกลุ่ม (ล่างซ้าย ขวาล่าง ซ้ายบน ขวาบน ด้านหน้า) สิ่งที่ฉันเรียนรู้จากการทดลองนี้คือมันทำให้งานนี้ง่ายขึ้นสำหรับเขา หลังจากนั้นเขาก็ขอมันจริง ๆ และแปรงฟันโดยไม่บ่นเลย!
ฉันก็เลยคิดว่า ฉันจะทำเครื่องนับถอยหลังเล็กๆ น้อยๆ ที่เขาใช้เองได้ เพื่อให้เขาเป็นอิสระและหวังว่าจะแปรงฟันบ่อยขึ้นด้วยความระมัดระวังมากขึ้น
ฉันรู้ว่ามีโครงการ DIY และผลิตภัณฑ์เชิงพาณิชย์อื่นๆ ที่ทำสิ่งนี้ได้ทั้งหมด แต่ฉันต้องการที่จะแก้ไขเล็กน้อยและสร้างการออกแบบของตัวเอง
นี่คือเกณฑ์สำหรับการออกแบบของฉัน:
- กะทัดรัดที่สุด
- แสดงตัวเลขและป้าย 2 หลัก
- เปล่งเสียงที่จุดเริ่มต้นของฟันแต่ละกลุ่ม
- ชาร์จใหม่ได้
- ใช้งานง่ายที่สุด
ใน Ible นี้ ฉันจะแสดงให้คุณเห็นว่าฉันออกแบบและสร้างมันอย่างไร
สนุก!
เสบียง
- 1 x Arduino pro mini
- จอแสดงผล 2 x 7 ส่วน
- 1 x ปุ่มกด
- 1 x ตัวแปลงอัตโนมัติ
- 1 x piezo buzzer
- ตัวต้านทาน 2 x 470Ω
- 1 x เครื่องชาร์จ Li-ion / โมดูลบูสเตอร์
- แบตเตอรี่ลิเธียมไอออน 1 x 17360 (ในภาพคุณจะเห็น 18650 และเป็นที่ใส่ แต่เพื่อให้กะทัดรัดยิ่งขึ้นฉันจึงเปลี่ยนใจในภายหลัง)
- perfboard
- สายบางๆ
- เทปโฟมสองหน้า
- ตู้ (ฉันทำเป็นไม้ สามารถพิมพ์ 3 มิติได้)
- 4 x ยางรองขา
- กาว CI
ขั้นตอนที่ 1: ประสานส่วนประกอบ
ก่อนหน้านี้ฉันได้สร้างการพิสูจน์แนวคิดด้วย Arduino Uno และโปรโตบอร์ด ดังนั้นฉันจึงสามารถเขียนโค้ดและตัดสินใจว่าจะใช้ส่วนประกอบใด ฉันจะไม่แบ่งปันส่วนนั้นของกระบวนการเพราะมันน่าเบื่อมากและจะไม่นำอะไรมากมายมาสู่ ible นี้
แผนผัง
แผนผังมีอยู่ใน Tinkercad: https://www.tinkercad.com/things/77jwLqAcCNo-migh… ยังไม่สมบูรณ์เนื่องจากส่วนประกอบบางอย่างไม่มีอยู่ในไลบรารีและโค้ดไม่สามารถรันได้เนื่องจากต้องมีไลบรารีเฉพาะ. อย่างไรก็ตาม มันแสดงให้เห็นค่อนข้างแม่นยำถึงแนวคิดโดยรวมเบื้องหลังวงจรง่ายๆ
ในคำอธิบายต่อไปนี้ ฉันไม่เคยระบุว่าพินใดเชื่อมต่อกับสิ่งใดโดยเจตนา ฉันคิดว่าการกำหนดพินจะขึ้นอยู่กับว่าคุณจัดวางส่วนประกอบของคุณอย่างไร ในขั้นตอนต่อไป คุณจะพบตำแหน่งที่จะกำหนดพินได้อย่างง่ายดายโดยแก้ไขโค้ด Arduino
เค้าโครง
ก่อนอื่นฉันวางบนกระดานโดยที่ฉันต้องการให้ตัวเลข 7 ส่วนเกี่ยวข้องกับตำแหน่งของ Arduino มันเกิดขึ้นที่ perfboard เฉพาะนี้มีประโยชน์มาก: มันถูกออกแบบค่อนข้างเหมือนกับบอร์ดโปรโตที่มีการเชื่อมต่อที่สะดวกบวกกับการพิมพ์สองด้าน ถ้าฉันตั้งค่าเซ็กเมนต์ไว้ที่ด้านหนึ่งและ Arduino อีกด้านหนึ่ง ฉันสามารถมีพินของตัวเลขส่วนใหญ่ให้ตรงกับพิน I/O และฉันได้เลย์เอาต์ที่กะทัดรัดมาก!
หากคุณมีวิธี (ทำ) พิมพ์บอร์ดของคุณเอง สิ่งที่ดีที่สุดคือการออกแบบบอร์ดของคุณเอง
ตัวเลข
ฉันพบว่าวิธีที่ง่ายที่สุดในการแสดงตัวเลขและสัญลักษณ์สองหลักคือการใช้ตัวเลข LED 7 หลัก
ตัวเลข 7 ส่วนทำงานอย่างไรเมื่อเทียบกับ Arduino
ตัวเลข 7 เซ็กเมนต์มี 10 พิน: หนึ่งอันสำหรับแต่ละเซ็กเมนต์ หนึ่งอันสำหรับจุด/จุดและสองอันสำหรับแอโนด/แคโทดทั่วไป (เรียกว่า A/K ในภายหลัง) (เชื่อมต่อภายในเข้าด้วยกัน) เพื่อลดจำนวนพินที่ใช้โดยเซ็กเมนต์ที่มี Arduino ทุกเซ็กเมนต์และดอทพินจะเชื่อมต่อเข้าด้วยกันและกับพิน I/O ซึ่งรวม 8 พิน I/O ที่ใช้ จากนั้น พิน A/K ตัวใดตัวหนึ่งของแต่ละเซ็กเมนต์จะเชื่อมต่อกับพิน I/O อื่น ในกรณีของ 2 เซ็กเมนต์ แสดงผลรวม 10 I/O พินการใช้งาน (7 เซ็กเมนต์ + 1 จุด + 2 หลัก x 1 A/K = 10)
มันจะแสดงสิ่งต่าง ๆ ในแต่ละหลักได้อย่างไร? ไลบรารีที่ขับเคลื่อนหมุด I/O เหล่านั้นใช้ประโยชน์จากการคงอยู่ของเรตินาในสายตามนุษย์ โดยจะเปิดพิน A/K ของตัวเลขที่ต้องการและปิดส่วนที่เหลือทั้งหมด โดยตั้งค่าส่วนต่างๆ ให้เหมาะสม จากนั้นสลับกับตัวเลขอื่นๆ อย่างรวดเร็วโดยใช้หมุด A/K ของตัวเอง ตาจะไม่ "เห็น" การกะพริบตาเนื่องจากเป็นความถี่สูง
บัดกรี
ฉันบัดกรีตัวเลขก่อนและการเชื่อมต่อระหว่างพวกเขา จากนั้นฉันก็บัดกรี Arduino ที่อีกด้านหนึ่ง คุณจะสังเกตเห็นว่าการดำเนินการเชื่อมต่อระหว่างตัวเลขทั้งหมดเป็นสิ่งสำคัญก่อนที่จะบัดกรี Arduino เพราะจะป้องกันไม่ให้คุณเข้าถึงด้านหลังของตัวเลขเมื่อเข้าที่
เลือกแนวต้านจำกัดกระแสที่เหมาะสม
เอกสารข้อมูลสำหรับจอแสดงผลของฉันระบุกระแสไปข้างหน้า 8mA และแรงดันไปข้างหน้า 1.7V เนื่องจาก Arduino ที่ฉันใช้กับ 5V ฉันต้องลดลง 5 - 1.7 = 3.3V ที่ 8mA ใช้กฎของโอห์ม: r = 3.3 / 0.008 = 412.5Ωตัวต้านทานที่ใกล้เคียงที่สุดที่ฉันมีคือ330Ωและ470Ω เพื่อความปลอดภัย ฉันเลือกตัวต้านทาน470Ωเพื่อจำกัดกระแสผ่านไดโอดแต่ละตัวของจอแสดงผล ความสว่างของจอแสดงผลจะแปรผกผันกับค่าของตัวต้านทานนั้น ดังนั้นจึงเป็นสิ่งสำคัญที่จะใช้ค่าเดียวกันสำหรับตัวเลขแต่ละหลัก
Piezo buzzer
จะเปล่งเสียงด้วย Arduino และทำให้มันกะทัดรัดในเวลาเดียวกันได้อย่างไร? วิธีที่ดีที่สุดที่ฉันพบคือการใช้เสียง Piezo แบบบางตัวหนึ่งที่พบในสัญญาณเตือนที่ประตูเป็นต้น
เราต้องการวิธีที่จะขยายเสียงที่เปล่งออกมาจากออดนั้น เพราะถ้าเราเชื่อมต่อโดยตรงกับ Arduino มันจะยากที่จะได้ยินอะไรจากมัน เราจะขยายมันด้วยสองวิธีนี้:
- ด้วยตัวเปลี่ยนรูปแบบอัตโนมัติที่จะยกระดับแรงดันไฟฟ้ายิ่งสูงยิ่งดังจะเป็นเพียโซ
- ด้วยเครื่องขยายเสียงอะคูสติกแบบพาสซีฟ กล่องโดยทั่วไป เช่น กีตาร์ หากคุณติดเพียโซกับกระดาษแข็ง คุณจะสังเกตเห็นเสียงที่ดังขึ้นทันที
เครื่องเปลี่ยนรูปแบบอัตโนมัติสามารถพบได้ในสัญญาณเตือนที่ประตูเดียวกัน นั่นคือกระบอกสูบขนาดเล็กที่มี 3 พิน หนึ่งพินไปที่พิน Arduino I/O หนึ่งพินไปที่เพียโซ และอันสุดท้ายเชื่อมต่อกับทั้ง Arduino GND และสายเพียโซอีกอัน เป็นการยากที่จะทราบว่าพินใดคือพินใด ดังนั้นให้ลองกำหนดค่าต่างๆ จนกว่าคุณจะได้ยินเสียงที่ดังที่สุดออกมาจากเพียโซ
พลัง
ข้อจำกัดความรับผิดชอบ: ฉันรู้ว่าการบัดกรีโดยตรงบนเซลล์ Li-ion อาจเป็นความคิดที่ไม่ดี อย่าทำถ้าคุณไม่สบายใจกับสิ่งนั้น
ฉันเลือกที่จะจ่ายไฟให้กับวงจรด้วยเซลล์ Li-ion ขนาดเล็ก ซึ่งหมายถึงการใช้โมดูลเพื่อป้องกัน ชาร์จ และเพิ่มแรงดันไฟฟ้าเป็น 5V (เซลล์ Li-ion มักจะผลิตได้ประมาณ 3.6V) ฉันนำโมดูลนั้นมาจากพาวเวอร์แบงค์ราคาถูกและขายคอนเน็กเตอร์ USB-A ที่ยุ่งยากออกไป
โมดูลระบุตำแหน่งที่ต้องเชื่อมต่อเซลล์ กำลังมองหา pinout ของขั้วต่อ USB-A หญิง ฉันสามารถเชื่อมต่อสาย 5VCC จากโมดูลกับหมุด Arduino GND และ VCC ได้ หากคุณเคยตัดสินใจที่จะจ่ายไฟให้กับ Arduino ด้วยมากกว่า 5V คุณจะต้องป้อนมันผ่านพิน RAW เพื่อให้คุณสามารถปล่อยให้ตัวควบคุมแรงดันไฟฟ้าออนบอร์ดลดระดับลงไปที่ 5V ที่ ATMega กำหนด
เนื่องจากเป็นแหล่งพลังงานแบบชาร์จไฟได้ ฉันจึงต้องการวิธีที่จะทราบเมื่อคายประจุออกมา สำหรับสิ่งนั้น ฉันเชื่อมต่อปลายขั้วบวกของเซลล์กับพินอะนาล็อกของ Arduino ในระหว่างลำดับการตั้งค่า ฉันจะอ่านแรงดันไฟฟ้านั้นและแปลงเป็นวิธีที่อ่านได้เพื่อประเมินระดับประจุ ฉันเขียนส่วนสำคัญเกี่ยวกับสูตรความจุลิเธียมไอออน หลังจากนั้นฉันจะอธิบายว่าฉันแสดงมันอย่างไร
ปุ่ม
เราต้องการวิธีเริ่มต้นการนับถอยหลังและสำหรับสวิตช์เปิด/ปิดโยกนั้นก็ใช้ได้ ฉันเลือกใช้ปุ่มกดชั่วขณะซึ่งเชื่อมต่อระหว่างพิน GND และ RESET เมื่อสิ้นสุดรอบการนับถอยหลังทั้งหมด Arduino จะเข้าสู่สภาวะหลับลึกและสามารถปลุกให้ตื่นได้โดยการปิดเครื่องแล้วเปิดใหม่ หรือตั้งค่าพิน RESET ไว้ที่ระดับต่ำ ซึ่งสะดวก ปุ่มกดนั้นทำให้ฉัน "เปิด" การนับถอยหลังและรีเซ็ตได้ทุกเมื่อที่ต้องการ ฉันไม่สามารถนับถอยหลังเวลาที่มันเริ่มต้นได้ แต่ฉันคิดว่ามันไม่ใช่เรื่องใหญ่
ขั้นตอนที่ 2: แก้ไขและอัปโหลดโค้ด
คุณจะพบรหัสที่แนบมา มันใช้ไลบรารีชื่อ SevSeg ซึ่งคุณสามารถติดตั้งโดยใช้ตัวจัดการไลบรารีของ IDE หรือดาวน์โหลดที่
มีการเปลี่ยนแปลงหลายอย่างที่คุณอาจต้องการดำเนินการก่อนที่จะอัปโหลด:
นับถอยหลัง
สำหรับแต่ละกลุ่มฟัน การนับถอยหลังจะปรากฏขึ้น ฉันตั้งค่าเป็น 20 วินาทีสำหรับแต่ละกลุ่ม มี 5 กลุ่มและการหยุดชั่วคราวเพื่อแสดงสัญลักษณ์ในระหว่างนั้น (ดูด้านล่าง) ดังนั้นเวลาทั้งหมดที่ใช้ในการแปรงฟันควรอยู่ที่ประมาณ 2 นาที ฉันได้ยินมาว่านี่เป็นช่วงเวลาที่แนะนำ
หากคุณต้องการแก้ไขตัวจับเวลา ให้ดูบรรทัดที่ 14
ปักหมุดงาน
- หากคุณกำลังใช้การแสดงแคโทดทั่วไป ให้เปลี่ยนบรรทัด 84 เป็น "COMMON_CATHODE"
- สำหรับพินเซ็กเมนต์ เปลี่ยนบรรทัด 82 (ปัจจุบันตั้งค่าเป็น 4 ถึง 11)
- สำหรับพิน A/K ให้เปลี่ยนบรรทัด 80 (ปัจจุบันตั้งค่าเป็น 2 และ 3)
- สำหรับเซ็นเซอร์แรงดันให้เปลี่ยนสายพิน 23 (ปัจจุบันตั้งค่าเป็น A0)
- สำหรับ Buzzer ให้เปลี่ยนสายพิน 19 (ปัจจุบันตั้งไว้ที่ 12)
เสียง
ฉันกำหนดโน้ตดนตรีด้วยความถี่โดยประมาณจากบรรทัดที่ 36 ถึง 41 หากคุณรู้สึกว่าต้องการเล่นโทนเสียงที่แตกต่างกัน คุณอาจต้องการเพิ่มเข้าไปในรายการนั้น
จ่าย 2 โทนที่แตกต่างกัน:
- แบบจิ๊บๆที่จุดเริ่มต้นของฟันแต่ละกลุ่ม สาย206
- เสียง "ปาร์ตี้" ในตอนท้าย (ชนิดของรางวัล), บรรทัด 201
คุณสามารถเปลี่ยนโทนเสียงเหล่านั้นได้ รายการมีการสลับโน้ตดนตรีและระยะเวลาของโน้ต สร้างสรรค์!
แอนิเมชั่น
ที่จุดเริ่มต้นของแต่ละกลุ่มฟันจะมีการแสดงสัญลักษณ์กลุ่มที่เป็นปัญหา สัญลักษณ์ห้ากลุ่มถูกกำหนดจากบรรทัดที่ 71 ถึง 74 คุณสามารถแก้ไขได้หากต้องการ
ในตอนท้ายสุดของซีเควนซ์ สัญลักษณ์เหล่านั้นจะสลับกันเพื่อสร้างแอนิเมชั่น
ตัวแสดงระดับแบตเตอรี่
ในช่วงเริ่มต้นของลำดับ ระดับแบตเตอรี่จะแสดงเป็น "แถบ" ปรากฏขึ้นในช่วง 3 วินาที แต่ละหลักสามารถแสดงแถบแนวนอนได้สามแถบ เมื่อแสดงครบทั้ง 6 ขีด แสดงว่าแบตเตอรี่เต็ม แถบจะไม่สว่างจากบนลงล่างและจากซ้ายไปขวาโดยที่ระดับแบตเตอรี่ลดลง คุณสามารถเปลี่ยนค่านั้นและแสดงตัวเลขที่แสดงเปอร์เซ็นต์ของพลังงานที่เหลืออยู่ได้หากต้องการ รหัสจะอยู่ที่บรรทัดที่ 100
ขั้นตอนที่ 3: สร้างสิ่งที่ส่งมาด้วย
คุณจะพบกับโมเดล Sketchup ที่ฉันออกแบบที่แนบมาด้วย
อาจจะไม่ตรงกับความต้องการของคุณ เนื่องจากขึ้นอยู่กับความกะทัดรัดและขนาดของวงจร/ส่วนประกอบของคุณ ปรับแต่งตามที่คุณต้องการ:)
ฉันใช้ไม้อัดเบิร์ช 3/16" ฉันคิดว่าและเดือยกลม 1/2" สำหรับฝาครอบปุ่ม
คุณจะสังเกตเห็นว่าสลักที่ด้านหลังของกล่องซึ่งจะมีเสียง Piezo Buzzer ติดอยู่ นี่คือที่ที่ฉันทำการขยายเสียงแบบพาสซีฟ
ขั้นตอนที่ 4: ติดตั้งส่วนประกอบในสิ่งที่แนบมา
ฉันใช้เทปโฟมสองหน้าเพื่อเก็บแบตเตอรี่ โมดูลที่ชาร์จ/บูสเตอร์ และออดเพียโซให้เข้าที่ ฉันยังใช้บางส่วนเป็นตัวเว้นวรรคระหว่างแผ่นไม้อัดและไม้อัดไม่เช่นนั้นจอแสดงผลจะยื่นออกมาในลักษณะที่ไม่สวยงาม
ฉันติดปุ่มกดด้วยกาว CI แต่มันไม่เพียงพอที่จะทนต่อแรงกดเมื่อสั่งงาน ดังนั้นฉันจึงใช้เดือยเส้นผ่านศูนย์กลางขนาดเล็กเพื่อยึดเข้าที่ (ดูรูป)
ฉันใช้กาว CI เช่นกันเพื่อติดเสียง Piezo ที่แผ่นหลังก่อนที่จะปิด
คำแนะนำของฉัน: ทดสอบว่าทุกอย่างใช้งานได้เป็นครั้งคราวระหว่างการติดตั้ง ฉันต้องเปิดใหม่อีกครั้งและแยกบริเวณที่มีการลัดวงจรออกหลายครั้ง!
เพิ่มยางรองขาด้านล่างทำให้ดูเป็นมืออาชีพ;)
ขั้นตอนที่ 5: บทสรุป
คุณอาจสังเกตเห็นว่าตัวเลขนั้นกลับด้าน ซึ่งเป็นความผิดพลาดที่ฉันทำตั้งแต่จัดวางส่วนประกอบ ฉันแก้ไขปัญหานั้นด้วยการย้ายการกำหนดพิน ไม่ใช่เรื่องใหญ่เพราะฉันไม่ได้ใช้จุด/จุด
อย่างไรก็ตาม โครงการนี้สนุกมากและลูกของฉันชอบมันมาก!
อย่าลังเลที่จะโพสต์ความคิดเห็นและข้อเสนอแนะของคุณ!
ขอบคุณสำหรับการอ่าน.
แนะนำ:
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-