สารบัญ:

Arduino Controlled Bell Tower/Carillon: 5 ขั้นตอน (พร้อมรูปภาพ)
Arduino Controlled Bell Tower/Carillon: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino Controlled Bell Tower/Carillon: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino Controlled Bell Tower/Carillon: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: How to create a Wireless Calling Bell (Digital Communication Project) 2024, ธันวาคม
Anonim
Arduino ควบคุม Bell Tower/Carillon
Arduino ควบคุม Bell Tower/Carillon
Arduino ควบคุม Bell Tower/Carillon
Arduino ควบคุม Bell Tower/Carillon

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

ขั้นตอนที่ 1: อะไหล่

อะไหล่
อะไหล่

ใช้ชิ้นส่วนต่อไปนี้: กริ่งแบบคละสี 1 ชุด ฉันได้รับสิ่งเหล่านี้จาก Aldi ในพื้นที่ของฉันในราคา $20 มีช่วงตั้งแต่ C ถึง C (เช่น c, d, e, f, g, A, B, C) แผงไม้และวงเล็บเพื่อยึดระฆังและโซลินอยด์เข้าที่ 10.8 โซลินอยด์เพื่อตีระฆัง ฉันมีสิ่งเหล่านี้อยู่ในกล่องขยะของฉัน ฉันได้มาจากช่างซ่อมเครื่องพิมพ์ดีดที่โยนมันทิ้งไป คุณอาจพบสิ่งที่คล้ายกันในไมโครคอนโทรลเลอร์ Ebay. Arudino ~ $45. ฉันได้รับของฉันจาก SparkFun electronics. Proto/Perf board & misc components เพื่อสร้าง 'shield' ที่กำหนดเองสำหรับ Arduino 10. คณะกรรมการควบคุมดาร์ลิงตัน ฉันใช้อันที่เคยมีมา แต่ฉันเชื่อว่ามันไม่ได้ขายแยกต่างหาก น่าจะทำได้โดยใช้ชิป ULN2803 สักสองสามเหรียญ

ขั้นตอนที่ 2: งานไม้

งานไม้
งานไม้

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

ขั้นตอนที่ 3: อุปกรณ์อิเล็กทรอนิกส์และสายไฟ

อิเล็กทรอนิกส์และสายไฟ
อิเล็กทรอนิกส์และสายไฟ

ฝั่งคนขับ:ฉันโชคดีที่มีคนขับรถดาร์ลิงตันอยู่รอบๆ ซึ่งทำให้การออกแบบง่ายขึ้นมาก ดาร์ลิงตันเป็นทรานซิสเตอร์กำลังซึ่งคุณสามารถใช้เพื่อขับเคลื่อนโหลดที่หนักกว่าพินไมโครคอนโทรลเลอร์ขนาดเล็กที่ปกติจะรองรับ บอร์ดที่ฉันใช้นั้นใช้ชิป ULN2803 ซึ่งค่อนข้างธรรมดาและราคาถูก โปรดทราบ: โซลินอยด์ (ปกติ) ไม่ได้ออกแบบมาให้ขับเคลื่อนตลอดเวลา! ถ้าละลายอาจจะละลาย! ดูส่วนซอฟต์แวร์สำหรับข้อมูลเพิ่มเติม ด้าน Arduino: นี่เป็นเพียงเรื่องของการค้นหาพิน IO 8 อันจาก Arduino เพื่อขับเคลื่อนอินพุตของดาร์ลิงตัน เนื่องจากฉันต้องการส่งและรับข้อมูลแบบอนุกรม ฉันจึงไม่สามารถใช้พิน 0 & 1 ได้ ฉันจึงลงเอยด้วยการใช้ดิจิทัล 2, 3, 4&5 ที่ด้านหนึ่ง และใช้พินอินพุตแบบอะนาล็อกสี่ตัวที่อีกด้านหนึ่งเป็นเอาต์พุตดิจิทัล. ฉันยังเพิ่มโพเทนชิออมิเตอร์ที่เชื่อมต่อกับอินพุตแบบอะนาล็อก #5 ซึ่งใช้เพื่อควบคุมจังหวะ ไฟ LED สองดวงใช้สำหรับการตอบสนองด้วยสายตาของไดรเวอร์ พิน 8-13 ไม่มีประโยชน์เนื่องจากระยะห่างพิน Arduino ขี้ขลาด (grr…)หมายเหตุเกี่ยวกับพลังงาน:แม้ว่าในตอนแรกฉันจะต่อสายนี้เพื่อใช้แหล่งจ่ายไฟภายนอกเพื่อขับเคลื่อนโซลินอยด์ ฉันค้นพบ (โดยบังเอิญ) ว่าพลังงาน USB เพียงพอ ฉันกังวลว่าชีพจรของกระแสไฟฟ้ากะทันหันจะทำให้แรงดันไฟฟ้าลดลง และไมโครคอนโทรลเลอร์ 'ไฟดับ' แต่สิ่งนี้ดูเหมือนจะไม่เกิดขึ้น ไมล์สะสมของคุณอาจแตกต่างกันไป เนื่องจากสะดวกกว่าสำหรับฉันที่จะใช้ไฟ USB ฉันจะทำต่อไปจนกว่าจะมีปัญหา

ขั้นตอนที่ 4: การออกแบบซอฟต์แวร์

การออกแบบซอฟต์แวร์
การออกแบบซอฟต์แวร์
การออกแบบซอฟต์แวร์
การออกแบบซอฟต์แวร์

กลยุทธ์การออกแบบ เป้าหมายสำหรับสิ่งนี้คือการขับเคลื่อนหอระฆังจากพีซี ลิงก์ USBSerial ของ Arduino เป็นวิธีที่เหมาะที่สุดในการทำเช่นนี้ Arduino ได้รับข้อมูลอนุกรมจากพีซีซึ่งสอดคล้องกับโน้ตที่จะเล่น โปรโตคอลตรงไปตรงมา โน้ตทั้งหมดนั้นเทียบเท่ากับข้อความ ASCII นอกจากนี้ยังมีตัวเลขเป็นตัวแปรหน่วงเวลาเช่น พีซีส่ง: "cde2fgABC" และ Arduino เล่นระฆัง 1, 2, 3 พักครึ่งโน้ตแล้วเล่นระฆัง 4, 5, 6, 7&8 ปลายหมวกถึง John Plocher สำหรับโปรเจ็กต์ ServoBells ซึ่งได้รับแรงบันดาลใจบางส่วน โครงการนี้ รหัสด้าน Arduino: รหัส Arduino ได้รับข้อมูลอนุกรม ถอดรหัสบันทึกย่อหรือความล่าช้าในการเล่น จากนั้นสลับโซลินอยด์อย่างเหมาะสม ตรวจสอบให้แน่ใจว่ารหัสของคุณได้รับการออกแบบมาเพื่อไม่ให้โซลินอยด์ถูกเก็บไว้! หากคุณเปิดโซลินอยด์ทิ้งไว้โดยไม่ได้ตั้งใจ โซลินอยด์จะละลาย ฉันแก้ไขปัญหานี้ด้วยการบล็อกกิจวัตรประจำวันของบันทึกจนกว่าโซลินอยด์จะปิด แทนที่จะโพลอย่างต่อเนื่อง ฯลฯ รหัสด้านพีซี:โปรแกรมไคลเอนต์เขียนด้วยภาษา C# มีปุ่มสำหรับโน้ตแต่ละตัว รวมถึงปุ่มสำหรับท่วงทำนองที่ตั้งโปรแกรมไว้ล่วงหน้า ข้อมูลบันทึกจะถูกส่งไปยังพอร์ตอนุกรม ซอร์สโค้ดสำหรับทุกสิ่งถูกแนบไว้ ห้องสำหรับการปรับปรุง:

โพลีโฟนิกโน้ต

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

ฆ่าคิว

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

ขั้นตอนที่ 5: การใช้งาน Bells

ปฏิบัติการระฆัง
ปฏิบัติการระฆัง
ปฏิบัติการระฆัง
ปฏิบัติการระฆัง

การใช้งานระฆังนั้นค่อนข้างง่าย เสียบสาย USB และเปิดซอฟต์แวร์ PC คุณสามารถคลิกที่ปุ่มกระดิ่งแต่ละปุ่มเพื่อเล่นเพลง นอกจากนี้ยังมีปุ่มสำหรับเล่นสเกล เพลงที่ตั้งโปรแกรมไว้ล่วงหน้า และกล่องข้อความสำหรับการป้อนข้อความในรูปแบบอิสระ ฉันได้รวมวิดีโอเสียงระฆังที่กำลังเล่นอยู่ด้วย จนถึงตอนนี้ มีเพียงเพลงธรรมดาๆ เท่านั้นที่ถูกตั้งโปรแกรมไว้ในวิดีโอ:https://blip.tv/file/1521415(หากใครรู้วิธีเล่นธีม Futurama ในหนึ่ง C ถึง C อ็อกเทฟ โปรดแจ้งให้เราทราบ….)

แนะนำ: