สารบัญ:
- ขั้นตอนที่ 1: โมดูลการรู้จำเสียงของ Elechouse V3
- ขั้นตอนที่ 2: เชื่อมต่อโมดูลกับ Arduino
- ขั้นตอนที่ 3: การตั้งค่ารหัส
- ขั้นตอนที่ 4: ผลลัพธ์
วีดีโอ: ความรู้เบื้องต้นเกี่ยวกับการจดจำเสียงด้วย Elechouse V3 และ Arduino: 4 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
สวัสดี…
เทคโนโลยีการจดจำเสียงเกิดขึ้นในช่วงไม่กี่ปีที่ผ่านมา เรายังจำความตื่นเต้นอันยิ่งใหญ่ที่เรามีในขณะที่พูดคุยกับ iPhone ที่เปิดใช้งาน Siri เครื่องแรกได้ ตั้งแต่นั้นมา อุปกรณ์สั่งงานด้วยเสียงได้เติบโตขึ้นถึงระดับที่เหนือความคาดหมายของเราในเวลาอันสั้น ด้วยการแนะนำระบบการจดจำเสียงขั้นสูงจำนวนมาก ผู้ช่วยด้านเสียงอื่นๆ เช่น Google Assistant และ Amazon Alexa ก็เข้ามา ความสำเร็จอย่างรวดเร็วของ Echo ของ Amazon เพียงอย่างเดียวพิสูจน์ให้เห็นว่าเรากำลังค่อยๆ ตกลงกับการพูดคุยกับเครื่อง
เริ่มจากพื้นฐานกันก่อน ในคำแนะนำนี้ ฉันจะแนะนำคุณเกี่ยวกับโมดูลการรู้จำเสียงของ Elechouse V3 และวิธีเปิด/ปิด LED โดยใช้คำสั่งเสียง มีหลายวิธีในการใช้การจดจำเสียงในโปรเจ็กต์ของคุณ ตั้งแต่โทรศัพท์ Android ไปจนถึง Alexa หรือ Raspberry pi หรือเทคโนโลยีอื่นๆ แต่ฉันได้รับข้อความหลายข้อความจากเพื่อนหลายคนที่ถามฉันถึงวิธีใช้โมดูลเฉพาะนี้กับ Arduino ดังนั้นฉันจึงเขียนคำแนะนำนี้เป็นบทช่วยสอนพื้นฐานสำหรับโมดูล Elechouse V3 ฉันต้องการทำให้คำแนะนำนี้ง่ายที่สุดสำหรับผู้เริ่มต้น ดังนั้นเราจะไม่พูดถึงคุณสมบัติและฟังก์ชันทั้งหมดของโมดูล แต่ในตอนท้าย ฉันแน่ใจว่าคุณจะได้รับแนวคิดเจ๋ง ๆ สำหรับโครงการต่อไปของคุณ.
ขั้นตอนที่ 1: โมดูลการรู้จำเสียงของ Elechouse V3
Elechouse V3 เป็นหนึ่งในโมดูลการจดจำเสียงที่กะทัดรัดและควบคุมง่ายที่สุดในตลาด
มีสองวิธีในการใช้โมดูลนี้ โดยใช้พอร์ตอนุกรมหรือผ่านพิน GPIO ในตัว บอร์ด V3 สามารถจัดเก็บคำสั่งเสียงได้มากถึง 80 คำสั่งแต่ละรายการด้วยระยะเวลา 1,500 มิลลิวินาที อันนี้จะไม่แปลงคำสั่งของคุณเป็นข้อความ แต่จะเปรียบเทียบกับชุดเสียงที่บันทึกไว้แล้ว ในทางเทคนิคแล้ว จะไม่มีอุปสรรคด้านภาษาในการใช้ผลิตภัณฑ์นี้ คุณสามารถบันทึกคำสั่งของคุณในภาษาใดก็ได้ หรือเสียงใดๆ ก็ตามที่สามารถบันทึกและใช้เป็นคำสั่งได้ ดังนั้นคุณต้องฝึกฝนก่อนที่จะปล่อยให้มันรับรู้คำสั่งเสียงใดๆ
หากคุณกำลังใช้โมดูลที่มีพิน GPIO โมดูลจะส่งเอาต์พุตเพียง 7 คำสั่งจาก 80 คำสั่ง สำหรับวิธีนี้ คุณต้องเลือกและโหลด 7 คำสั่งในเครื่องจำแนก จากนั้นตัวจำแนกคำสั่งจะส่งเอาต์พุตไปยังส่วนที่เกี่ยวข้อง GPIO จะปักหมุดหากคำสั่งเสียงเหล่านี้ได้รับการยอมรับ เนื่องจากเราใช้สิ่งนี้กับ Arduino เราจึงไม่จำเป็นต้องกังวลเกี่ยวกับคุณสมบัติที่จำกัด
อุปกรณ์ทำงานที่ช่วงแรงดันไฟขาเข้า 4.5 - 5 โวลต์ และจะดึงกระแสไฟน้อยกว่า 40 mA โมดูลนี้สามารถทำงานด้วยความแม่นยำในการจดจำ 99% หากใช้งานภายใต้สภาวะที่เหมาะสม การเลือกไมโครโฟนและเสียงรบกวนในสิ่งแวดล้อมมีบทบาทสำคัญในการส่งผลต่อประสิทธิภาพของโมดูล ทางที่ดีควรเลือกไมโครโฟนที่มีความไวสูงและพยายามลดเสียงรบกวนในพื้นหลังไปพร้อมกับออกคำสั่งเพื่อให้โมดูลทำงานได้อย่างเต็มประสิทธิภาพ
ขั้นตอนที่ 2: เชื่อมต่อโมดูลกับ Arduino
ทีนี้มาพูดถึงการเชื่อมต่อที่จะทำกัน
ฮาร์ดแวร์ที่จำเป็น:
โมดูลจดจำเสียง Elechouse V3
Arduino UNO R3. (ฉันใช้ Arduino Pro Mini ที่นี่ ไม่สำคัญหรอก ทั้งสองฟังก์ชันเกือบจะเหมือนกัน)
ไมโครโฟนพร้อมปลั๊กขนาด 3.5 มม. (หรือจะบัดกรีโดยตรงบนกระดานก็ได้ พวกเขาให้หมุดแล้ว)
แอลอีดี
ตัวต้านทาน 470 โอห์มสำหรับ LED
สายไฟตามต้องการ
สาย USB สำหรับเขียนโปรแกรม Arduino
การเชื่อมต่อโมดูลกับ Arduino
GND - กราวด์
VCC - 5 V
RXD - พินดิจิตอล 3 ของ Arduino (นี่คือพินที่ผู้ใช้กำหนด รหัสตัวอย่างมีพิน 3 เป็น Tx)
TXD - พินดิจิทัล 2 ของ Arduino (นี่คือพินที่ผู้ใช้กำหนดด้วย)
LED เชื่อมต่อกับพินดิจิตอล 13 ของ Arduino ตามที่กำหนดไว้ในโค้ดตัวอย่าง เชื่อมต่อตัวต้านทาน 470 โอห์มแบบอนุกรมกับ LED
เสียบไมโครโฟนเข้ากับแจ็ค 3.5 มม. ในบอร์ด ประสานกับหมุดไมโครโฟนในโมดูลหากไม่มีปลั๊กขนาด 3.5 มม.
นั่นคือทั้งหมดที่เกี่ยวกับการเชื่อมต่อ ทีนี้มาดูโค้ดกัน
ขั้นตอนที่ 3: การตั้งค่ารหัส
รหัสและไลบรารีทั้งหมดที่กล่าวถึงในที่นี้เป็นโอเพ่นซอร์สและเครดิตสำหรับการพัฒนาจะมอบให้กับผู้แต่งที่เกี่ยวข้อง
คุณควรดาวน์โหลดและติดตั้งไลบรารี Arduino "voicerecognitionv3.h" ก่อนจึงจะสามารถใช้โมดูลกับ Arduino ได้
ดาวน์โหลดห้องสมุดได้จากที่นี่
รหัสทั้งหมดที่เราต้องการมีอยู่ในไฟล์ zip ของไลบรารีเป็นโปรแกรมตัวอย่าง
การฝึกอบรมโมดูล V3
ตามที่ได้กล่าวไว้ข้างต้น เราต้องฝึกโมดูลก่อนจึงจะสามารถใช้โมดูลนี้ในการจดจำเสียงได้ ทำตามขั้นตอนเหล่านี้เพื่อฝึกโมดูล
ต่อวงจรเข้ากับคอมพิวเตอร์
เปิดตัว Arduino IDE
ตรวจสอบว่าคุณได้เลือกบอร์ด Arduino ที่ถูกต้องหรือไม่ (เครื่องมือ -> บอร์ด)
ตรวจสอบว่าได้เลือกพอร์ต COM ที่ถูกต้องหรือไม่ (เครื่องมือ -> พอร์ต)
ตอนนี้เปิดโปรแกรมตัวอย่างสำหรับการฝึกอบรมโมดูล
ไปที่ไฟล์ -> ตัวอย่าง -> VoiceRecognitionV3 -> vr_sample_train
อัปโหลดรหัสไปยัง Arduino และรอจนกว่าจะอัปโหลดรหัส (Ctrl + U)
เปิดการตรวจสอบซีเรียล (Ctrl + Shift +M)
ตรวจสอบให้แน่ใจว่าตั้งค่าอัตราบอดเป็น 115200 และเลือกตัวเลือก "ขึ้นบรรทัดใหม่"
หากทุกอย่างเรียบร้อย เมนูจะปรากฏขึ้นบนจอภาพแบบอนุกรมตามที่แสดงในภาพ
มีคำสั่งหลายคำสั่งที่คุณสามารถพิมพ์ลงในมอนิเตอร์แบบอนุกรมเพื่อตั้งโปรแกรมโมดูล ในที่นี้เราจะใช้คำสั่ง "train" เพื่อฝึกโมดูล
V3 สามารถจัดเก็บคำสั่งเสียงได้ 80 คำสั่ง โดยแต่ละคำสั่งมีระยะเวลา 1,500 มิลลิวินาที แต่ละคำสั่งจะถูกเก็บไว้ในที่อยู่เริ่มต้นจาก 0 ถึง 79
เมื่อใช้คำสั่ง "train" เราจะจัดเก็บคำสั่งเสียงไว้ในที่อยู่ที่ระบุ ดังนั้นคุณควรระบุที่อยู่ในคำสั่ง
ไวยากรณ์ของคำสั่งจะเป็นดังนี้: ที่อยู่ของรถไฟ ตัวอย่างเช่น: รถไฟ 0, รถไฟ 20, รถไฟ 79
- เราจะต้องใช้คำสั่งเสียงสองคำสั่งเพื่อควบคุม LED คำสั่งหนึ่งให้เปิดและอีกคำสั่งหนึ่งให้ปิด
- ป้อนคำสั่งในจอภาพอนุกรมตามด้วยที่อยู่ที่คุณต้องการจัดเก็บ เช่น รถไฟ 20.
หลังจากที่คุณป้อนคำสั่งแล้ว ให้รอจนกว่าข้อความจะปรากฏบนจอภาพแบบอนุกรมที่ระบุว่า "พูดเลย" ตอนนี้พูดคำสั่งของคุณเพื่อเปิดไฟ LED ในไมโครโฟนให้ชัดเจนและดังพอ
หากคำสั่งชัดเจนเพียงพอ จะมีข้อความอื่นปรากฏขึ้นเพื่อขอให้คุณพูดอีกครั้ง พูดอีกครั้งเพื่อลงทะเบียนคำสั่ง
รหัสจะขอให้คุณทำซ้ำคำสั่งหากมีเสียงรบกวนเกิดขึ้นระหว่างการบันทึกหรือหากเสียงไม่ชัดเจนเพียงพอ คุณภาพของไมโครโฟนของคุณมีบทบาทสำคัญที่นี่ คุณอาจล้มเหลวในการลงทะเบียนคำสั่งหากไมโครโฟนของคุณไม่ดีพอ ฝึกบอร์ดในสภาพแวดล้อมที่ปราศจากเสียงรบกวน
เมื่อคุณป้อนเสียงลงในโมดูลสำเร็จแล้ว ให้ทำซ้ำขั้นตอนเดิมเพื่อป้อนคำสั่งเสียงเพื่อปิด LED อย่าลืมเก็บคำสั่งไว้ในที่อยู่อื่น เช่น รถไฟ 30
หากคุณโหลดคำสั่งทั้งสองสำเร็จ คุณก็พร้อมที่จะอัปโหลดโค้ดสำหรับควบคุม LED แล้ว
การควบคุม LED โดยใช้คำสั่งเสียง
เปิดโปรแกรมตัวอย่างสำหรับควบคุม LED
ไปที่ไฟล์ -> ตัวอย่าง -> VoiceRecognitionV3 -> vr_sample_control_led
ในโปรแกรมนี้ สองเร็กคอร์ดถูกกำหนดเป็น "onrecord" (สำหรับเปิดไฟ LED) และ "offrecord" (สำหรับการปิดไฟ LED)
เปลี่ยนค่าของ "onrecord" เป็นที่อยู่ของคำสั่งเสียงที่คุณฝึกให้เปิดไฟ LED
- เปลี่ยนค่าของ "offrecord" เป็นที่อยู่ของคำสั่งเสียงที่คุณฝึกให้ปิดไฟ LED
- ตอนนี้อัปโหลดรหัสไปยัง Arduino (Ctrl+U)
นั่นคือทั้งหมดที่มันเป็น ตอนนี้คุณพร้อมที่จะควบคุม LED ด้วยคำสั่งเสียงแล้ว
ขั้นตอนที่ 4: ผลลัพธ์
ในการทดสอบวงจร ให้พูดคำสั่งเหมือนกับที่คุณฝึกให้เปิด/ปิด LED โปรดจำไว้ว่า คุณภาพของไมโครโฟนและเสียงรบกวนรอบ ๆ สภาพแวดล้อมของคุณจะส่งผลต่อเอาต์พุตจริงๆ ลองทดสอบในสภาพแวดล้อมที่ปราศจากเสียงรบกวนหรือเปลี่ยนไมโครโฟนหากคุณไม่ได้รับการตอบสนองที่เหมาะสมสำหรับคำสั่งเสียงของคุณ เปิดจอภาพแบบอนุกรมเพื่อตรวจสอบว่าอุปกรณ์ตอบสนองต่อคำสั่งเสียงของคุณหรือไม่ หากระบบรู้จักคำสั่ง เครื่องมอนิเตอร์แบบอนุกรมจะแสดงข้อความพร้อมที่อยู่ของคำสั่งที่รู้จัก
ยินดีด้วย! คุณได้เรียนรู้การควบคุม LED โดยใช้คำสั่งเสียง ตอนนี้คุณสามารถแปลงอุปกรณ์ดังกล่าวเป็นอุปกรณ์ควบคุมด้วยเสียง เชื่อมต่อโมดูลรีเลย์กับ Arduino เพื่อควบคุมอุปกรณ์ไฟฟ้ากระแสสลับ เช่น หลอดไฟหรือพัดลม
มีความเป็นไปได้มากมายที่จะใช้สิ่งนี้ในชีวิตประจำวันของเรา แบ่งปันความคิดของคุณในส่วนความคิดเห็นด้านล่าง
ฉันหวังว่าคำแนะนำนี้จะทำให้คุณมีแนวคิดพื้นฐานเกี่ยวกับการใช้โมดูลการรู้จำเสียงของ Elechouse V3 กับ Arduino หากคุณมีคำถามใดๆ สามารถถามได้ที่นี่ หรือส่งอีเมลมาที่ [email protected] ฉันจะพยายามอย่างดีที่สุดเพื่อช่วยคุณ
แนะนำ:
ติดตาม: ศูนย์สื่อขั้นสูงพร้อม 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 ครั้งในปีที่แล้ว และฉันก็เกิดขึ้น
RuuviTag และ PiZero W และ Blinkt! เทอร์โมมิเตอร์แบบ Bluetooth Beacon: 3 ขั้นตอน (พร้อมรูปภาพ)
RuuviTag และ PiZero W และ Blinkt! เครื่องวัดอุณหภูมิที่ใช้ Bluetooth Beacon: คำแนะนำนี้อธิบายวิธีการอ่านข้อมูลอุณหภูมิและความชื้นจาก RuuviTag โดยใช้ Bluetooth กับ Raspberry Pi Zero W และเพื่อแสดงค่าเป็นเลขฐานสองบน Pimoroni กะพริบตา! pHAT.หรือเรียกสั้นๆ ว่า จะสร้างสถานะอย่างไร
วิธีการสร้าง Quadcoptor (NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS 3DR Radio และ FlySky TH9X): 25 ขั้นตอน (พร้อมรูปภาพ)
วิธีการสร้าง Quadcoptor (NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS 3DR Radio และ FlySky TH9X): นี่คือบทแนะนำเกี่ยวกับวิธีการสร้าง Quadcopter โดยใช้มอเตอร์ NTM 28-30S 800kV 300W และ Arducopter APM 2.6 & 6H GPS & วิทยุ 3DR ฉันพยายามอธิบายแต่ละขั้นตอนด้วยรูปภาพจำนวนหนึ่ง หากคุณมีคำถามหรือความคิดเห็นใด ๆ โปรดตอบกลับ