โมดูลการจดจำเสียง
สวัสดีเพื่อนรัก ในที่สุด ฉันได้บันทึกบทเรียนเกี่ยวกับการทำงานกับโมดูลเสียง ฉันเห็นว่าคุณชอบผลิตภัณฑ์โฮมเมดของฉันที่มีการควบคุมด้วยเสียง และหลายคนเริ่มสงสัยว่าเมื่อใดจะมีการเปิดตัวบทเรียนเชิงปฏิบัติเกี่ยวกับการทำงานกับโมดูลควบคุมเสียง
เกี่ยวกับข้อดีของโมดูลการจดจำนี้:
- โมดูลเป็นแบบอัตโนมัติและสามารถทำงานได้โดยไม่ต้องใช้ตัวควบคุมควบคุมภายนอก ซึ่งเป็นสิ่งสำคัญมากสำหรับนักวิทยุสมัครเล่นที่ไม่คุ้นเคยกับการเขียนโปรแกรม
- นอกเหนือจากรุ่นอื่นๆ แล้ว โมดูลนี้ยังเปรียบเทียบได้ดีกับฟังก์ชันการทำงาน ราคา และความสะดวกในการจัดการและการเชื่อมต่อ
- มีความสามารถในการจดจำสูง
- ไม่ต้องใช้สมาร์ทโฟน
ไปกันเลย! วิดีโอนี้จะมุ่งเป้าไปที่ผู้เริ่มต้นเป็นหลัก ซึ่งเป็นผู้ที่ไม่คุ้นเคยกับการเขียนโปรแกรมและอินเทอร์เฟซ โดยทั่วไปสำหรับนักวิทยุสมัครเล่นทั่วไป ในวิดีโอ ฉันจะแสดงทุกอย่างตั้งแต่ "A" ถึง "Z": เราจะเริ่มต้นด้วยการติดตั้งโปรแกรมและการเชื่อมต่อและจบลงด้วยผลลัพธ์ที่เป็นรูปธรรมของการทำงานอัตโนมัติของโมดูล
เรามาเริ่มต้นด้วยความรู้ทางทฤษฎีเพื่อทำความเข้าใจว่าปาฏิหาริย์แห่งวิศวกรรมนี้ทำงานอย่างไร ก่อนอื่น คุณจำเป็นต้องทราบคุณลักษณะบางประการของโมดูลการจดจำเสียงนี้:
ปริมาณการใช้กระแสไฟ: ไม่เกิน 40 mA กระแสไฟไม่สำคัญ ดังนั้นควรคำนึงถึงด้วย แรงดันไฟฟ้าคือ 5 V เราจะจ่ายไฟให้กับโมดูลพอร์ต USB ของคอมพิวเตอร์ในระหว่างการตั้งโปรแกรมจากนั้นในระหว่างการใช้งานคุณจะต้องตัดสินใจว่าจะจ่ายไฟจากที่ไหน ความแม่นยำในการรู้จำคำสั่งเสียงคือ 99% ภายใต้สภาวะที่เหมาะสม โมดูลการจดจำเสียงเวอร์ชัน V3.1 สามารถจดจำคำสั่งเสียงได้ 80 คำสั่ง! ซึ่งในความคิดของฉันก็เพียงพอแล้วสำหรับวัตถุประสงค์ใด ๆ แต่อีกครั้งนี่คือ "แต่" แต่โมดูลสามารถจดจำคำสั่งได้เจ็ดคำสั่งต่อหน่วยเวลาเท่านั้น และคำสั่งใดขึ้นอยู่กับคุณที่จะเลือก
นั่นคือคุณสามารถเขียนคำสั่งทั้งหมด 80 คำสั่งลงในฐานข้อมูลได้ แต่เลือกเพียงเจ็ดคำสั่งสำหรับการจดจำซึ่งเป็นเจ็ดในแปดสิบ เช่นเดียวกับคอมพิวเตอร์: คุณสามารถเขียนคำสั่งได้ 80 คำสั่งบนฮาร์ดไดรฟ์ แต่ใช้งานได้กับ 7 คำสั่งใน RAM เท่านั้น ถ้ามันยากสำหรับคุณที่จะเข้าใจตอนนี้ และในภายหลังในทางปฏิบัติ ฉันคิดว่ามันจะชัดเจนสำหรับคุณว่าเรากำลังพูดถึงอะไร ความยาวของคำสั่งเสียงคือค่าสูงสุด 1.5 วินาที (1500ms) บอร์ดโมดูลสามารถควบคุมได้ผ่านอินเทอร์เฟซ UART แต่สามารถดึงข้อมูลได้จาก UART หรือจากพอร์ต GPIO ที่อยู่บนบอร์ด ตามความเป็นจริงนี่คือสิ่งที่เราจะทำ: เราจะลบสัญญาณออกจากพอร์ตเอาต์พุต
เรามาดูส่วนที่ใช้งานได้จริงกันดีกว่า
เราต้องการอะไรในการทำงาน?
- โมดูลการจดจำเสียงนั้นเป็นเวอร์ชัน V3 (V3.1) เวอร์ชันไม่สำคัญนัก - หลักการทำงานเหมือนกันสำหรับทุกคน โมดูลมาพร้อมกับไมโครโฟน
- คู่มือโมดูล ได้แก่ เอกสารวันที่
- โปรแกรมเทอร์มินัล
- ตัวแปลงอินเทอร์เฟซ USB-UART
ลิงก์สำหรับซื้อและดาวน์โหลดซอฟต์แวร์ทั้งหมดอยู่ใต้วิดีโอท้ายบทความ
นั่นคือทั้งหมดที่ ดังที่กาการินกล่าวว่า “ไปกันเถอะ”
ดาวน์โหลดคู่มือและเทอร์มินัล เราติดตั้งเทอร์มินัลเราเชื่อมต่อโมดูลกับตัวแปลงอินเทอร์เฟซ
ระมัดระวังให้มากเมื่อเชื่อมต่อ ไม่เป็นไร ถ้าคุณสับสนระหว่าง TXD และ RXD ก็ไม่มีอะไรเลวร้ายเกิดขึ้น แต่ถ้าคุณสับสนระหว่างกำลังบวกกับสายสามัญมันจะเป็นหายนะ! อย่างที่เกิดขึ้นกับฉันโมดูลและพอร์ตคอมพิวเตอร์ก็ไฟไหม้ทันที! ระวังให้มากและอย่าทำผิดซ้ำอีก อย่าวุ่นวาย อย่ารีบ ตรวจสอบวงจรหลายๆ ครั้งก่อนเปิดเครื่อง และหลังจากนั้นให้เชื่อมต่อกับ USB เท่านั้น
หลังจากเชื่อมต่อกับ USB ระบบของคุณจะเริ่มค้นหาไดรเวอร์สำหรับตัวแปลง ในกรณี 90% ระบบจะค้นหาไดรเวอร์และติดตั้งไดรเวอร์นั้นเอง แต่ถ้าไม่เกิดขึ้นด้วยเหตุผลบางประการ คุณจะต้องค้นหาไดรเวอร์ บนเครือข่ายด้วยตัวเองและติดตั้ง ในการดำเนินการนี้ให้เขียนว่า "ดาวน์โหลดไดรเวอร์ CP2102" หรืออะไรทำนองนั้นในแถบค้นหาซึ่งเป็นโมดูลทั่วไปมีตัวเลือกไดรเวอร์มากมาย
ถัดไป หลังจากติดตั้งอุปกรณ์สำเร็จแล้ว ให้ไปที่ตัวจัดการอุปกรณ์และดูที่พอร์ตต่างๆ เราสนใจในจำนวนตัวแปลงของเราที่กำหนด เมื่อเราพบหมายเลขพอร์ต เราก็เปิดเทอร์มินัล ไปที่การตั้งค่าและตั้งค่าตามภาพของฉัน
เราเขียนคำสั่งในหน้าต่างเทอร์มินัล - “ AA 02 00 0A” (จากแผ่นข้อมูล | AA | 02 | 00 | 0A |) ทุกทีมใช้อักษรตัวพิมพ์ใหญ่และอักษรละตินเสมอ
ในช่องส่ง คุณควรได้รับคำตอบเช่น: “AA 08 00 STA BR IOM IOPW AL GRP 0A” (หรือจากแผ่นข้อมูล | AA | 08 | 00 | STA | BR | IOM | IOPW | AL | GRP | 0A |) . ถ้าคำตอบมา ทุกอย่างก็ดี เสร็จไปครึ่งหนึ่งแล้ว ถ้าไม่เช่นนั้น เราจะเล่นกับการตั้งค่าการตั้งค่าความเร็วการถ่ายโอนในเทอร์มินัล อาจเป็นไปได้ว่าโมดูลได้รับการกำหนดค่าด้วยความเร็วที่แตกต่างกัน
ฉันจะไม่เน้นว่าการตอบสนองของโมดูลนี้หมายถึงอะไร คุณสามารถดูได้ด้วยตัวเองในคำแนะนำและคำสั่งเป็นการร้องขอการตั้งค่าที่ติดตั้ง
ตอนนี้คุณต้องเชื่อมต่อโหลดเข้ากับโมดูล ฉันจะใช้เป็นภาระ ไฟ LED มีตัวต้านทาน ในอนาคตเมื่อใช้สิ่งเหล่านี้ ไฟ LED จะถูกแทนที่ด้วยรีเลย์ควบคุมโหลดพร้อมสวิตช์ทรานซิสเตอร์ฉันคิดว่านี่เป็นสิ่งที่เข้าใจได้
ให้ฉันอธิบายคำสั่งเอง”เอเอ 02 00 0เอ" เป็นแพ็กเก็ตที่ประกอบด้วย 4 ไบต์ โดยไบต์เป็นอักขระที่จับคู่กันเป็นเลขฐานสิบหก - AA,02,00,0A. ในทุกคำสั่งแพ็กเก็ตจะเริ่มต้นด้วยไบต์ เอเอ และปิดท้ายด้วยไบต์ 0ก (ศูนย์และ ก) เป็นข้อกำหนดเบื้องต้น การตอบสนองของโมดูลจะเริ่มต้นและสิ้นสุดด้วยอักขระเหล่านี้
«เอเอ 02 00 0เอ" - ไบต์ที่สองของคำสั่งนี้หมายถึงจำนวนไบต์ระหว่างไบต์เริ่มต้นและไบต์สุดท้าย กล่าวโดยย่อคือ ยกเว้น เอเอ และ 0เอ และเรานับและเขียนทุกสิ่งระหว่างพวกเขาลงในไบต์ที่สอง ดังที่เราเห็นในตัวอย่างนี้ อะไรคือสิ่งที่อยู่ระหว่าง เอเอ และ 0เอ ราคาสองไบต์ - 02 00ดังนั้น – 02 นั่นคือจำนวนนับเอง ตัวอย่างอื่น, "เอเอ 03 20 01 0เอ“นั่นคือระหว่าง. เอเอ และ 0เอ ราคาสามไบต์ - «03 20 01" ดังนั้น ไบต์ที่สองจึงเป็น 03 ฉันคิดว่าคุณคงจะเข้าใจ
ทีม "12" - การตั้งค่าพอร์ตโมดูล
บนบอร์ดโมดูลมีพอร์ตที่เราจะลบสัญญาณก่อนดำเนินการนี้เราจำเป็นต้องกำหนดค่าพอร์ตเหล่านี้ คุณสามารถกำหนดค่าพอร์ตด้วยคำสั่ง
"เอเอ 03 12 01 0เอ" - ไบต์ที่สามคือคำสั่ง และไบต์ที่สี่คือค่าคำสั่ง ไบต์ที่สี่สามารถรับค่าต่อไปนี้และตั้งค่าตัวเลือกต่อไปนี้: หาก "00" เป็นโหมดพัลส์นั่นคือเมื่อรับรู้คำสั่งเสียงพัลส์สั้น ๆ จะถูกส่งไปยังพอร์ตที่เราต้องการ หาก "01" เป็นโหมดผกผัน นั่นคือเมื่อรู้จักคำสั่งเสียง พอร์ตที่เราต้องการจะเปลี่ยนสถานะเป็นตรงกันข้าม หากเป็น 0 ก็จะกลายเป็น 1 และในทางกลับกันหาก "02" เป็นโหมดที่พอร์ตไปที่ศูนย์ หาก "03" เป็นโหมดที่พอร์ตไปที่หนึ่ง
ทีม "20" - การตั้งค่าพอร์ตโมดูล
"เอเอ 03 20 01 0เอ" - ไบต์ที่สามคือหมายเลขคำสั่งที่เราจะเขียน ตัวอย่างการเขียนสองคำสั่ง 1 และ 2: "เอเอ 04 20 01 02 0เอ" ตัวอย่างการเขียนสองคำสั่ง 1, 2, 3: "เอเอ 05 20 01 02 03 0เอ"
ทีม "30" - กำลังโหลดบันทึกลงใน "ตัวจดจำ" ของโมดูล
"เอเอ 03 30 01 0เอ" - ไบต์ที่สามเป็นคำสั่งสำหรับโหลดลงในหน่วยความจำของตัวจดจำบันทึก 01 หากคุณต้องการเขียนสองคำสั่ง - "เอเอ 04 30 01 02 0เอ"หากคุณต้องการจดคำสั่งทั้งเจ็ดคำสั่ง - "เอเอ 09 30 01 02 03 04 05 06 07 0เอ"
ทีม "15" - การโหลดคำสั่งเสียงอัตโนมัติลงในตัวจดจำเมื่อเปิดเครื่อง - การทำงานแบบออฟไลน์โดยไม่ต้องใช้ตัวควบคุมภายนอก
"เอเอ 03 15 07 01 02 03 0เอ" - ไบต์ที่สามคือคำสั่ง ไบต์ที่สี่คือป้ายกำกับคำสั่ง นั่นคือชนิดของตัวระบุ และเท่ากับ 01 สำหรับการโหลดหนึ่งคำสั่ง 03 สำหรับการโหลดสองคำสั่ง 07 สำหรับการโหลดสามคำสั่ง และอื่นๆ ดูตารางแผ่นข้อมูล ถ้าอย่างนั้นก็มีหมายเลขคำสั่งที่ต้องโหลด
ทั้งหมดนี้: เราตรวจสอบการเชื่อมต่อกับโมดูล กำหนดค่าพอร์ต คำสั่งที่บันทึกไว้ และกำหนดค่าการโหลดคำสั่งเสียงอัตโนมัติ
อ่านเกี่ยวกับคำสั่งอื่นๆ ในแผ่นข้อมูล ฉันเพิ่งอธิบายวิธีการทำงานโดยประมาณกับโมดูล
ลิงค์ซื้อ:
โมดูล -
ตัวแปลง -
ตัวแปลงพร้อมสายไฟ -
ลิงค์ดาวน์โหลด:
กำหนดวันที่ –
เทอร์มินัล -