สารบัญ:

ตัวสลับเสียง: 9 ขั้นตอน
ตัวสลับเสียง: 9 ขั้นตอน

วีดีโอ: ตัวสลับเสียง: 9 ขั้นตอน

วีดีโอ: ตัวสลับเสียง: 9 ขั้นตอน
วีดีโอ: เฉลย 5 เคล็ดลับมายากล ที่ทำให้ทั้งโลกต้องตะลึง (เฉลยมายากล) 2024, กรกฎาคม
Anonim
ตัวสลับเสียง
ตัวสลับเสียง

คุณเคยมีเพลงของคุณดังขึ้นในที่ทำงานและไม่ทราบว่ามีคนพยายามคุยกับคุณหรือไม่ ที่แย่ไปกว่านั้นคือ คุณเคยอยากนอนในที่ทำงานแต่ไม่มีวิธีตื่นที่ดีเลยถ้ามีคน (เช่นเจ้านายของคุณ) กำลังจะเข้ามาในห้องของคุณ ฉันมี. เพื่อแก้ปัญหาเหล่านี้ ฉันได้คิดค้น SoundSwitcher ที่ใช้ Arduino โดยทั่วไปจะใช้ทรานซิสเตอร์ 6 ตัวเพื่อสลับระหว่างแหล่งกำเนิดเสียง (ในกรณีของฉันคือ iPod) และ Wave shield ของ Ladyada เพื่อให้คุณรู้ว่าเกิดอะไรขึ้น จากนั้นคุณสามารถเชื่อมต่อ Arduino กับเซ็นเซอร์ประเภทใดก็ได้ที่คุณต้องการ ตัวอย่างเช่น ของฉันเชื่อมต่อกับเครื่องค้นหาระยะอัลตราโซนิก Parallax Ping ไมโครโฟน ปุ่มกริ่งประตู และคอมพิวเตอร์ (การแจ้งเตือนในอีเมลใหม่) คุณสามารถไปต่อได้โดยการเชื่อมต่อตัวต้านทานภาพถ่ายเพื่อตรวจจับเมื่อโทรศัพท์มือถือของคุณดังขึ้น (หน้าจอสว่างขึ้น) หรือเซ็นเซอร์ Parallax CH4 เพื่อให้คุณได้รับคำเตือนล่วงหน้าเกี่ยวกับการเพิ่มระดับก๊าซมีเทนในห้องเล็กของคุณเนื่องจากคู่หูของคุณมีมากเกินไป กะหล่ำปลีในมื้อกลางวัน อย่างไรก็ตาม พวกคุณส่วนใหญ่อาจไม่มีปัญหานั้น (หวังว่าฉันจะไม่มี) นอกจากสิ่งที่โครงการทำจริง ๆ แล้ว มันยังให้คำแนะนำในการแปลงข้อความเป็นไฟล์ wav และถ่ายโอนไฟล์ไปยังการ์ด SD บน Arduino ผ่าน Serial. หวังว่าสิ่งเหล่านี้จะเป็นประโยชน์กับคนอื่นๆ ในโครงการของพวกเขา หมายเหตุ: ฉันค่อนข้างใหม่กับสิ่งเหล่านี้ ดังนั้นจึงไม่รับประกันว่าฉันกำลังทำสิ่งที่ถูกต้อง นี่เป็นโครงการแรกที่ฉันเคยออกแบบด้วยทรานซิสเตอร์ ดังนั้นฉันจึงอาจไม่มีแคปและไดโอดบางตัว.. หากใครมีคำแนะนำใด ๆ ฉันก็ยินดีที่จะรับฟังและนำมารวมไว้

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

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

1- Arduino1- Wave Shield (Ladyada)6 - 2n3904 ทรานซิสเตอร์6 - ตัวต้านทาน 330 Ohm6 - ตัวต้านทาน 22 Ohm2 - ตัวต้านทาน 10k Ohm (ตัวดึงสำหรับปุ่ม)2 - ปุ่ม2 - ขั้วต่อหูฟังสเตอริโอชาย1 - ขั้วต่อหูฟังสเตอริโอสำหรับเพศหญิง ไม่ว่าคุณจะต้องการเซ็นเซอร์ใด ผมก็ทำ1 - Microphone1 - Parallax Ping Ultrasonic Range Finder1- Photocell1 - คอมพิวเตอร์ใช้งานสคริปต์ Ruby ที่ตรวจสอบอีเมลและเชื่อมต่อกับ Arduino ผ่านซีเรียล

ขั้นตอนที่ 2: ทรานซิสเตอร์

ทรานซิสเตอร์
ทรานซิสเตอร์

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

ขั้นตอนที่ 3: เชื่อมต่อทั้งหมดเข้าด้วยกัน

เชื่อมต่อทั้งหมดเข้าด้วยกัน
เชื่อมต่อทั้งหมดเข้าด้วยกัน

แผนผังค่อนข้างง่าย สิ่งหนึ่งที่ต้องจำไว้คือ Wave Shield ใช้หมุดจำนวนมากบน Arduino ดังนั้นจงอยู่ห่างจากสิ่งเหล่านี้ (ฉันเติมมันด้วยการบัดกรีบนบอร์ดของฉัน) ฉันใช้พิน 8 และ 9 สำหรับทรานซิสเตอร์ (8 เล่น wave shield, 9 เล่นแหล่งกำเนิดเสียงภายนอก) อนาล็อกพิน 0 ถูกใช้สำหรับไมโครโฟน (มันทำงานได้ไม่ดีนัก ฉันกำลังดำเนินการนี้อยู่) อะนาล็อกพิน 1 ใช้สำหรับปุ่ม "ละเว้น" เมื่อกดปุ่มนี้ เซ็นเซอร์ทั้งหมดจะถูกละเว้นตามระยะเวลาที่กำหนดไว้ล่วงหน้า อะนาล็อกพิน 2 คือ "ออด" ยังมีพินฟรีสำหรับสิ่งอื่น ๆ ฉันกำลังวางแผนที่จะเพิ่มตัวต้านทานภาพถ่ายที่ฉันวางไว้กับหน้าจอโทรศัพท์มือถือเพื่อตรวจจับเมื่อมีเสียงกริ่งที่ขา 3 แบบอะนาล็อก ฉันจะเพิ่มที่นี่เมื่อฉันลองใช้งาน

ขั้นตอนที่ 4: เซ็นเซอร์

เซนเซอร์
เซนเซอร์

ตอนนี้ฉันกำลังใช้ "เซ็นเซอร์" ต่อไปนี้ (อาจเป็นอินพุตที่แม่นยำกว่า) เพื่อทริกเกอร์เหตุการณ์:-ปุ่มกดสำหรับกริ่งประตู - ค่อนข้างเรียบง่าย ทำให้มีคนกดปุ่มและจะส่งเสียงผ่านหูฟังของคุณ ให้คุณรู้ว่ามีใครอยู่ใกล้ๆ ปุ่มที่ฉันใช้ปิดวงจรโดยค่าเริ่มต้น และเปิดวงจรเมื่อกดปุ่ม (ฉันเพิ่งมีสิ่งเหล่านี้) อย่าลืมตัวต้านทานแบบดึงขึ้น (โดยทั่วไปแล้วตัวต้านทาน 10k Ohm ที่ไปทางด้านพิน Arduino ของสายเพื่อช่วยให้สัญญาณสูงดีเมื่อวงจรเปิด) Mine เชื่อมต่อกับ Arduino Analog Pin 2 - Parallax Ping Ultrasonic range finder - แจ้งให้เราทราบเมื่อมีคนอยู่ใกล้ ๆ (เช่นมีคนกำลังจะเข้าไปในห้องเล็ก ๆ ของคุณ) ของฉันเชื่อมต่อกับ Arduino Pin 6 (บนสายสีขาวของเซ็นเซอร์) สายสีแดงของเซ็นเซอร์ไปที่ 5 โวลต์ และสายสีดำลงไปที่กราวด์-ไมโครโฟน - มีไว้เพื่อตรวจจับเมื่อมีคนกำลังคุยกับคุณ คุณรู้จักพวกที่ไม่รู้ว่าคุณใส่หูฟังไว้และเริ่มพูด ฉันยังคงทำงานนี้อยู่ ดูเหมือนว่าฉันต้องการปรีแอมป์เพื่อการอ่านที่ดีด้วยไมโครโฟนที่ฉันได้รับจาก sparkfun ขั้นตอนต่อไปที่น่าสนใจคือการบันทึกเสียงไม่กี่วินาทีลงในไฟล์บน wave shield แล้วเล่นเพื่อให้คุณรู้ว่าเป็นสิ่งที่คุณสนใจหรือไม่ก่อนที่คุณจะปิดเพลง -คอมพิวเตอร์ - ตอนนี้ใช้ Ruby สคริปต์เพื่อตรวจสอบอีเมลใหม่และส่งสัญญาณไปยังพอร์ตอนุกรมที่ Arduino จะแจ้งให้ทราบว่าได้รับอีเมลใหม่แล้ว เห็นได้ชัดว่าคุณสามารถทำอะไรได้มากกว่านี้ โดยพื้นฐานแล้วทุกอย่างที่คอมพิวเตอร์สามารถแจ้งเตือนได้ คุณสามารถตั้งค่าให้แจ้งเตือนผ่านหูฟังของคุณได้ คงจะดีถ้าฉันให้คอมพิวเตอร์สร้างไฟล์ wave โดยอัตโนมัติโดยใช้เสียงของ AT&T แล้วส่งไปยัง Arduino ผ่านซีเรียล นั่นเป็นวิธีหนึ่ง - เซ็นเซอร์เสียงเรียกเข้าโทรศัพท์มือถือ - ฉันใช้ตาแมวจาก Radio Shack (The Shack) สำหรับสิ่งนี้ ฉันเชื่อมต่อกับพินอะนาล็อก 4 แล้วถึง 5 โวลต์ คุณต้องทำตัวต้านทาน 10k Ohm จากด้านข้างที่เชื่อมต่อกับพิน 4 บน Arduino กับกราวด์ (มิฉะนั้นสัญญาณจะไม่เปลี่ยนแปลง) สำหรับโทรศัพท์ของฉันหากโฟโตเซลล์ที่ฉันใช้อยู่สูงกว่า 400 ในการอ่านแบบอะนาล็อกบน Arduino จากนั้นหน้าจอจะสว่างขึ้น เซ็นเซอร์ศักยภาพอื่น ๆ - เซ็นเซอร์เสียงเรียกเข้าโทรศัพท์ตั้งโต๊ะ - บางทีไมโครโฟนอาจรับสิ่งนี้ได้ อาจมีหลายวิธีในการทำเช่นนั้น ทั้งนี้ขึ้นอยู่กับโทรศัพท์ ฉันจะต้องคิดเรื่องนี้ให้มากขึ้นเพื่อดูว่าฉันสามารถหาวิธีแก้ปัญหาสำหรับวัตถุประสงค์ทั่วไปได้หรือไม่ -เลเซอร์และตัวต้านทานภาพถ่าย - คุณสามารถชี้ตัวชี้เลเซอร์ข้ามห้องเล็ก ๆ ของคุณที่เปิดไปยังตัวต้านทานภาพถ่าย เมื่อไฟดับเพราะมีคนเดินเข้าไปในห้องเล็ก ๆ ของคุณ คุณสามารถส่งเสียงเตือนได้ -CH4 เครื่องตรวจจับก๊าซ - ตรวจจับการเพิ่มระดับก๊าซมีเทนในห้องเล็กของคุณ ซึ่งจะช่วยทำหน้าที่เป็นระบบเตือนล่วงหน้าเมื่อก๊าซที่ไหลผ่านในบริเวณใกล้เคียง

ขั้นตอนที่ 5: ข้อความบรรทัดคำสั่งเป็นคำพูด

นี่เป็นเครื่องมือเล็กๆ ที่ฉันเขียนอย่างรวดเร็วเพื่อแปลงข้อความเป็นคำพูดอย่างรวดเร็ว มันเขียนด้วย C# ด้วย freeVisual C# 2008 Express Edition คุณอาจต้องใช้. Net 3.5 เพื่อเรียกใช้สิ่งนี้ รวมโค้ดไว้แล้ว แต่ถ้าคุณต้องการ exe เพียงอย่างเดียว คุณสามารถหาได้ใน CommandLineText2Speech/CommandLineText2Speech/bin/Release ในไฟล์ zip เพื่อให้เครื่องมือทำงานได้ คุณเพียงแค่เปิดพรอมต์คำสั่ง ไปที่ไดเร็กทอรีที่คุณใส่ exe แล้วพิมพ์ CommandLineText2Speech.exe มันจะส่งออกสิ่งนี้: การใช้งาน: ในการแสดงรายการเสียงที่ติดตั้ง: CommandLineText2Speech.exe whatvoices

การแปลงข้อความเป็น wav:CommandLineText2Speech.exe [voice] [rate - default 0 (-10 to 10)] [volume - default 80 (0 to 100)] "[text to convert]" [output file]ในคำอื่น ๆ คุณอาจต้องการเรียกใช้ก่อน: CommandLineText2Speech.exe whatvoicesThis จะแสดงรายการเสียงที่คุณติดตั้งไว้ในคอมพิวเตอร์ของคุณ คุณจะต้องใช้ชื่อเสียงเพื่อเรียกใช้เครื่องมือ เสียงที่มาพร้อมกับ Windows นั้นไม่ค่อยดี AT&T มีเสียงที่ค่อนข้างดี ถัดจากการแปลงข้อความเป็นไฟล์ wav ให้ทำดังนี้CommandLineText2Speech.exe "Microsoft Sam" 0 80 "This is a test" test.wavความหมายของมันทั้งหมด:"Microsoft Sam"- เสียง นี่คือเสียงที่มาพร้อมกับ Windows คุณมี เพื่อใส่ในเครื่องหมายคำพูดเนื่องจากมีช่องว่าง0- ความเร็วปกติ (สามารถไปจาก -10 ถึง 10)80- ระดับเสียงปกติ (สามารถไปจาก 0 ถึง 100)"นี่คือการทดสอบ" - ข้อความที่จะเปลี่ยนเป็นไฟล์ wav.wav- ไฟล์ wav จะเรียกว่าอะไร

ขั้นตอนที่ 6:

รหัส Ruby ที่แนบมาทำการตรวจสอบต่อไปนี้เพื่อดูว่ามีอีเมลใหม่หรือไม่ และมีการถ่ายโอนไปยัง Arduino ผ่านอินเทอร์เฟซ USB กับ Serial ที่ติดตั้งใน Arduino หรือไม่ ฉันมีปัญหากับการเชื่อมต่อความเร็วสูงผ่าน Serial (น่าจะเป็นขนาดของบัฟเฟอร์) การตั้งค่าสำหรับไฟล์ทั้งหมดอยู่ที่ด้านบนของไฟล์ สิ่งนี้ใช้โปรแกรม C# ของฉันเพื่อสร้างไฟล์ wav ฉันน่าจะแปลงทั้งหมดนี้เป็นภาษาเดียว ฉันเป็นแฟนตัวยงของ Ruby แต่ดูเหมือนว่ามันจะสร้าง wav จากข้อความได้ไม่ง่ายนัก ดังนั้นฉันจึงเขียนแอป C# เล็กๆ คุณจะต้องใช้ทับทิมด้วย serial gem ฉันได้รวมไว้ด้วย หากต้องการติดตั้ง (หลังจากคุณติดตั้ง Ruby แล้ว) ให้พิมพ์ "gem install win32-serial-0.5.1-x86-mswin32-60.gem" ในพรอมต์คำสั่งของไดเร็กทอรีที่คุณดาวน์โหลด gem ไป นั่นคือทั้งหมดที่คุณต้องการเพื่อให้โปรแกรมนี้ทำงานได้

ขั้นตอนที่ 7: รหัส

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

ขั้นตอนที่ 8: เรียกใช้โปรแกรม

ตกลง ตอนนี้คุณมีชิ้นส่วนทั้งหมดแล้ว เพื่อให้ทำงานได้อย่างถูกต้องคุณต้อง1 ติดตั้ง Wave Shield บน Arduino2 เชื่อมต่อ Arduino กับคอมพิวเตอร์ (หรือใช้ XBee) - ฉันถือว่าคุณติดตั้งเฟิร์มแวร์ไว้แล้ว3 เรียกใช้สคริปต์ Ruby checkEmail.rb4 เพลิดเพลินกับเสียงเพลงของคุณ Arduino จะขัดจังหวะคุณเมื่อจำเป็นต้องอ่านอีเมลของคุณหรือเมื่อสัมผัสได้ถึงบางสิ่งที่อยู่รอบตัวคุณ

ขั้นตอนที่ 9: วิดีโอของผลิตภัณฑ์สำเร็จรูป

นี่คือตัวสลับเสียงในที่ทำงาน

แนะนำ: