สารบัญ:
- ขั้นตอนที่ 1: ข้อความบรรทัดคำสั่งเป็นคำพูดยูทิลิตี้
- ขั้นตอนที่ 2: Ruby Utility เพื่อตรวจสอบอีเมลและอัปโหลด Wav ไปยัง Arduino
- ขั้นตอนที่ 3: รหัส Arduino
- ขั้นตอนที่ 4: เรียกใช้ทั้งหมด
วีดีโอ: อ่านอีเมลด้วย Arduino และ Wave Shield: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:09
เป็นส่วนหนึ่งของโครงการของฉันที่นี่ https://www.instructables.com/id/Sound-Switcher/ (โครงการนั้นอยู่ในการแข่งขันดังนั้นหากคุณชอบสิ่งนี้ก็ลงคะแนนให้!) ที่ใช้ Arduino เพื่อขัดจังหวะแหล่งกำเนิดเสียงภายนอก (เช่น iPod) เพื่อแจ้งให้คุณทราบเกี่ยวกับสิ่งที่เกิดขึ้นรอบตัวคุณ ฉันได้รบกวนอีเมลและอ่านว่าใครคืออีเมลจากใครและหัวเรื่อง (เพื่อให้คุณรู้ว่าคุณต้องการหยุดสิ่งที่คุณทำหรือไม่ และตรวจสอบ) เนื่องจากมี Arduino ที่มี Wave Shield อ่านอีเมลของคุณอาจเป็นประโยชน์กับผู้อื่น ฉันจึงแยกมันเป็นคำสั่งของตัวเองที่นี่ นี้ใช้ซีเรียลในการถ่ายโอนข้อมูล ฉันแค่ใช้อินเทอร์เฟซ USB บน Arduino แต่คุณควรจะสามารถทำสิ่งเดียวกันให้สำเร็จแบบไร้สายด้วย XBees จากสิ่งที่ฉันเข้าใจ ดังนั้นโดยพื้นฐานแล้วเนื้อหาใน will1 ที่สอนได้นี้ ตรวจสอบอีเมลของคุณ2. หากมีอะไรใหม่ มันจะแปลงเป็นไฟล์ wav3 จากนั้นมันจะส่งไปยัง Arduino ผ่าน serial4 จากนั้น Arduino จะเล่นมัน สิ่งที่ต้องทำที่ใหญ่ที่สุดคือการเร่งการถ่ายโอนไฟล์ ความคิดของฉันคือให้คอมพิวเตอร์ส่งมากกว่า 100 ไบต์ จากนั้นรอการตอบรับจาก Arduino ก่อนที่จะส่งเพิ่มเติม นอกจากนี้ยังควรตรวจสอบข้อผิดพลาดด้วยเนื่องจากไฟล์ไบนารีบางส่วนไม่ได้ดีไปกว่าไม่มีเลยในบางกรณี
ขั้นตอนที่ 1: ข้อความบรรทัดคำสั่งเป็นคำพูดยูทิลิตี้
นี่เป็นเครื่องมือเล็กๆ ที่ฉันเขียนอย่างรวดเร็วเพื่อแปลงข้อความเป็นคำพูดอย่างรวดเร็ว มันเขียนด้วย C# ด้วย Visual 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 - Normal Speed (สามารถไปจาก -10 ถึง 10)80 - Normal Volume (สามารถไปจาก 0 ถึง 100)"This is a test" - ข้อความที่จะเปลี่ยนเป็นไฟล์ wav.wav - ไฟล์ wav จะเรียกว่าอะไร
ขั้นตอนที่ 2: Ruby Utility เพื่อตรวจสอบอีเมลและอัปโหลด Wav ไปยัง Arduino
รหัส 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 ไป นั่นคือทั้งหมดที่คุณต้องการเพื่อให้โปรแกรมนี้ทำงานได้
ขั้นตอนที่ 3: รหัส Arduino
ต่อไปนี้คือตัวอย่างการอ่านข้อมูลผ่านซีเรียล การคัดลอกไปยังการ์ด SD แล้วเล่นเวฟ นี่เป็นส่วนหนึ่งของคำแนะนำของฉันที่นี่ https://www.instructables.com/id/Sound-Switcher/ (สังเกตว่าอยู่ในการประกวด Arudino ถ้าคุณชอบที่จะลงคะแนนให้!) ฉันจะเพิ่มตัวอย่างอื่นในวันถัดไปหรือเพื่อที่จะถูกตัดแต่ง ดูฟังก์ชัน check_serial สำหรับเขียนลงในการ์ด SD ฉันกำลังใช้ไลบรารี WaveRP ที่นี่เพื่อทำ
ขั้นตอนที่ 4: เรียกใช้ทั้งหมด
ตกลง ตอนนี้คุณมีชิ้นส่วนทั้งหมดแล้ว เพื่อให้ทำงานได้อย่างถูกต้อง คุณต้อง 1. ติดตั้ง Wave Shield บน Arduino2 เชื่อมต่อ Arduino กับคอมพิวเตอร์ (หรือใช้ XBee) - ฉันถือว่าคุณติดตั้งเฟิร์มแวร์ไว้แล้ว3 เรียกใช้สคริปต์ Ruby checkEmail.rb4 เพลิดเพลินกับ Arduino ในการอ่านอีเมลของคุณ
แนะนำ:
ติดตาม: ศูนย์สื่อขั้นสูงพร้อม Odroid N2 และ Kodi (รองรับ 4k และ HEVC): 3 ขั้นตอน
ติดตาม: Advanced Media Center พร้อม Odroid N2 และ Kodi (รองรับ 4k และ HEVC): บทความนี้เป็นบทความต่อจากบทความก่อนหน้าของฉันที่ประสบความสำเร็จค่อนข้างมากเกี่ยวกับการสร้างศูนย์สื่ออเนกประสงค์ โดยอ้างอิงจาก Raspberry PI ที่ได้รับความนิยมมากในตอนแรก แต่ ในภายหลัง เนื่องจากไม่มีเอาต์พุตที่สอดคล้องกับ HEVC, H.265 และ HDMI 2.2 จึงมีสวิตช์
Blinds Control ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: 5 ขั้นตอน (พร้อมรูปภาพ)
การควบคุมมู่ลี่ด้วย ESP8266, Google Home และ Openhab Integration และ Webcontrol: ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าฉันเพิ่มระบบอัตโนมัติให้กับมู่ลี่ของฉันอย่างไร ฉันต้องการเพิ่มและลบระบบอัตโนมัติได้ ดังนั้นการติดตั้งทั้งหมดจึงเป็นแบบหนีบ ส่วนหลักคือ: สเต็ปเปอร์มอเตอร์ ตัวขับสเต็ปควบคุม bij ESP-01 เกียร์และการติดตั้ง
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: 3 ขั้นตอน
DIY IBeacon และ Beacon Scanner ด้วย Raspberry Pi และ HM13: Story A beacon จะส่งสัญญาณอย่างต่อเนื่องเพื่อให้อุปกรณ์บลูทู ธ อื่น ๆ รู้ว่ามีอยู่ และฉันอยากได้บีคอนบลูทูธเพื่อติดตามกุญแจมาตลอด เพราะฉันลืมเอามันมาเหมือน 10 ครั้งในปีที่แล้ว และฉันก็เกิดขึ้น
Mozilla IoT Gateway พร้อม ESP8266 และ Z-Wave: 7 ขั้นตอน
Mozilla IoT Gateway พร้อม ESP8266 และ Z-Wave: พลังสู่ประชาชน! Mozilla ต้องการทำโปรโตคอล IoT ให้เป็นอิสระขอบเขตของโครงการนี้คือ "ตรวจสอบให้แน่ใจว่าอินเทอร์เน็ตเป็นทรัพยากรสาธารณะทั่วโลก เปิดกว้างและเข้าถึงได้สำหรับทุกคน" Internet of Things (IoT) เป็นยุคใหม่ของอินเทอร์เน็ต และเช่นเดียวกับผู้ฝึกงาน
DIY Wave Tank/flume โดยใช้ Arduino และ V-slot: 11 ขั้นตอน (พร้อมรูปภาพ)
DIY Wave Tank/flume โดยใช้ Arduino และ V-slot: ถังคลื่นคือชุดห้องปฏิบัติการสำหรับการสังเกตพฤติกรรมของคลื่นพื้นผิว แท็งก์คลื่นทั่วไปคือกล่องที่บรรจุของเหลว โดยปกติแล้วจะเป็นน้ำ โดยปล่อยให้พื้นที่เปิดโล่งหรือเติมอากาศอยู่ด้านบน ที่ปลายด้านหนึ่งของถัง ตัวกระตุ้นจะสร้างคลื่น อีกอี