สารบัญ:
- ขั้นตอนที่ 1: การปรับแต่ง Ukelele มาตรฐาน
- ขั้นตอนที่ 2: การสร้างแบบจำลองทางทฤษฎีทางดิจิทัลล้วนๆ
- ขั้นตอนที่ 3: ถัดไป วงจรแอนะล็อก
- ขั้นตอนที่ 4: การอ่านสัญญาณแอนะล็อกด้วย DAQ Assistant
- ขั้นตอนที่ 5: บทสรุป
![Ukelele Tuner โดยใช้ LabView และ NI USB-6008: 5 ขั้นตอน Ukelele Tuner โดยใช้ LabView และ NI USB-6008: 5 ขั้นตอน](https://i.howwhatproduce.com/images/005/image-12824-30-j.webp)
วีดีโอ: Ukelele Tuner โดยใช้ LabView และ NI USB-6008: 5 ขั้นตอน
![วีดีโอ: Ukelele Tuner โดยใช้ LabView และ NI USB-6008: 5 ขั้นตอน วีดีโอ: Ukelele Tuner โดยใช้ LabView และ NI USB-6008: 5 ขั้นตอน](https://i.ytimg.com/vi/wx32SDy7rt8/hqdefault.jpg)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
![Ukelele Tuner โดยใช้ LabView และ NI USB-6008 Ukelele Tuner โดยใช้ LabView และ NI USB-6008](https://i.howwhatproduce.com/images/005/image-12824-31-j.webp)
![Ukelele Tuner โดยใช้ LabView และ NI USB-6008 Ukelele Tuner โดยใช้ LabView และ NI USB-6008](https://i.howwhatproduce.com/images/005/image-12824-32-j.webp)
ในฐานะที่เป็นโปรเจ็กต์การเรียนรู้ที่อิงตามปัญหาสำหรับหลักสูตร LabVIEW & Instrumentation ของฉันที่ Humber College (เทคโนโลยีวิศวกรรมอิเล็กทรอนิกส์) ฉันได้สร้างจูนเนอร์ของอูคูเลเล่ที่จะรับอินพุตแบบอะนาล็อก (เสียงสตริงของอูคูเลเล่) ค้นหาความถี่พื้นฐาน ตัดสินใจว่าโน้ตใดกำลังพยายาม เพื่อปรับแต่ง และบอกผู้ใช้ว่าจำเป็นต้องปรับสายอักขระขึ้นหรือลงหรือไม่ อุปกรณ์ที่ฉันใช้ในการแปลอินพุตแบบอะนาล็อกเป็นอินพุตดิจิทัลคือ National Instruments USB-6008 DAQ (อุปกรณ์เก็บข้อมูล) และอินเทอร์เฟซผู้ใช้ถูกนำไปใช้กับ LabVIEW
ขั้นตอนที่ 1: การปรับแต่ง Ukelele มาตรฐาน
![การปรับจูนอูคูเลเล่มาตรฐาน การปรับจูนอูคูเลเล่มาตรฐาน](https://i.howwhatproduce.com/images/005/image-12824-33-j.webp)
![การปรับจูนอูคูเลเล่มาตรฐาน การปรับจูนอูคูเลเล่มาตรฐาน](https://i.howwhatproduce.com/images/005/image-12824-34-j.webp)
ขั้นตอนแรกคือการค้นหาความถี่พื้นฐานของโน้ตดนตรี และโดยปกติแล้วจะปรับสายของอูคูเลเล่ในช่วงใด ฉันใช้แผนภูมิสองแผนภูมินี้ และตัดสินใจว่าฉันจะกำหนดช่วงโทนเสียงระหว่าง 262 Hz (C) และ 494Hz (สูง B) หากน้อยกว่า 252 Hz จะถือว่าต่ำเกินไปสำหรับโปรแกรมที่จะถอดรหัสว่าโน้ตใดพยายามจะเล่น และสิ่งใดที่มากกว่า 500 Hz จะถือว่าสูงเกินไป อย่างไรก็ตาม โปรแกรมยังคงบอกผู้ใช้ว่าพวกเขาอยู่ห่างจากโน้ตที่ถอดรหัสได้ใกล้เคียงที่สุดกี่ Hz และควรปรับสตริงขึ้น (โน้ตต่ำเกินไป) หรือลง (โน้ตสูงเกินไป) เพื่อให้ไปถึงโน้ตที่มีอยู่
นอกจากนี้ ฉันยังสร้างช่วงสำหรับโน้ตแต่ละตัว ไม่ใช่แค่ความถี่เดียว เพื่อให้โปรแกรมค้นหาโน้ตที่กำลังเล่นได้ง่ายขึ้น ตัวอย่างเช่น โปรแกรมจะบอกผู้ใช้ว่ากำลังเล่น C หากโน้ตมีความถี่พื้นฐานระหว่าง 252 Hz (ครึ่งทางถึง B) และ 269Hz (ครึ่งทางถึง C#) แต่เพื่อตัดสินใจว่าจำเป็นต้องปรับแต่งหรือไม่ หรือต่ำกว่านั้นก็ยังคงเปรียบเทียบโน้ตที่กำลังเล่นกับความถี่พื้นฐานของ C ซึ่งก็คือ 262Hz
ขั้นตอนที่ 2: การสร้างแบบจำลองทางทฤษฎีทางดิจิทัลล้วนๆ
![การสร้างแบบจำลองทฤษฎีดิจิทัลล้วนๆ การสร้างแบบจำลองทฤษฎีดิจิทัลล้วนๆ](https://i.howwhatproduce.com/images/005/image-12824-35-j.webp)
![การสร้างแบบจำลองทฤษฎีดิจิทัลล้วนๆ การสร้างแบบจำลองทฤษฎีดิจิทัลล้วนๆ](https://i.howwhatproduce.com/images/005/image-12824-36-j.webp)
ก่อนดำดิ่งสู่ด้านแอนะล็อกของโปรเจ็กต์ ฉันต้องการดูว่าฉันสามารถสร้างโปรแกรม LabVIEW ที่อย่างน้อยจะทำการประมวลผลหลักของตัวอย่างเสียงได้หรือไม่ เช่น การอ่านตัวอย่างเสียง.wav การค้นหาความถี่พื้นฐาน และการสร้าง การเปรียบเทียบที่จำเป็นกับแผนภูมิความถี่เพื่อค้นหาว่าควรปรับเสียงขึ้นหรือลง
ฉันใช้ SoundFileSimpleRead. VI ที่มีอยู่ใน LabVIEW เพื่ออ่านไฟล์.wav จากเส้นทางที่ฉันกำหนด ใส่สัญญาณลงในอาร์เรย์ที่จัดทำดัชนี และป้อนสัญญาณนั้นลงใน HarmonicDistortionAnalyzer. VI เพื่อค้นหาความถี่พื้นฐาน ฉันยังรับสัญญาณจาก SoundFileSimpleRead. VI และเชื่อมต่อเข้ากับตัวบ่งชี้แผนภูมิรูปคลื่นโดยตรง เพื่อให้ผู้ใช้เห็นรูปคลื่นของไฟล์ที่แผงด้านหน้า
ฉันสร้างโครงสร้างเคส 2 แบบ: โครงสร้างหนึ่งเพื่อวิเคราะห์ว่ากำลังเล่นโน้ตอะไร และอีกโครงสร้างหนึ่งเพื่อพิจารณาว่าจำเป็นต้องเปลี่ยนสตริงขึ้นหรือลง สำหรับกรณีแรก ฉันสร้างช่วงสำหรับโน้ตแต่ละตัว และหากสัญญาณความถี่พื้นฐานจาก HarmonicDistortionAnalyzer. VI อยู่ในช่วงนั้น มันจะบอกผู้ใช้ว่ากำลังเล่นโน้ตอะไรอยู่ เมื่อกำหนดโน้ตแล้ว ค่าโน้ตที่เล่นจะถูกลบด้วยความถี่พื้นฐานที่แท้จริงของโน้ต จากนั้นผลลัพธ์จะถูกย้ายไปยังกรณีที่สองซึ่งกำหนดสิ่งต่อไปนี้: หากผลลัพธ์มีค่ามากกว่าศูนย์ จะต้องปรับสตริงลง หากผลลัพธ์เป็นเท็จ (ไม่เกินศูนย์) กรณีจะตรวจสอบว่าค่าเท่ากับศูนย์หรือไม่ และหากเป็นจริง โปรแกรมจะแจ้งให้ผู้ใช้ทราบว่าโน้ตอยู่ในการปรับแต่ง ถ้าค่าไม่เท่ากับศูนย์ แสดงว่าต้องน้อยกว่าศูนย์และต้องปรับสตริง ฉันใช้ค่าสัมบูรณ์ของผลลัพธ์เพื่อแสดงให้ผู้ใช้เห็นว่าห่างจากโน้ตจริงกี่ Hz
ฉันตัดสินใจว่าตัวบ่งชี้มิเตอร์จะดีที่สุดในการแสดงให้ผู้ใช้เห็นสิ่งที่ต้องดำเนินการเพื่อให้โน้ตตรงกัน
ขั้นตอนที่ 3: ถัดไป วงจรแอนะล็อก
![ต่อไป วงจรแอนะล็อก ต่อไป วงจรแอนะล็อก](https://i.howwhatproduce.com/images/005/image-12824-37-j.webp)
![ต่อไป วงจรแอนะล็อก ต่อไป วงจรแอนะล็อก](https://i.howwhatproduce.com/images/005/image-12824-38-j.webp)
![ต่อไป วงจรแอนะล็อก ต่อไป วงจรแอนะล็อก](https://i.howwhatproduce.com/images/005/image-12824-39-j.webp)
ไมโครโฟนที่ฉันใช้ในโครงการนี้คือไมโครโฟนอิเล็กเตรตคอนเดนเซอร์ CMA-6542PF แผ่นข้อมูลสำหรับไมโครโฟนนี้อยู่ด้านล่าง ต่างจากไมโครโฟนคอนเดนเซอร์ส่วนใหญ่ประเภทนี้ ฉันไม่ต้องกังวลเรื่องขั้ว แผ่นข้อมูลแสดงให้เห็นว่าแรงดันไฟฟ้าในการทำงานของไมโครโฟนนี้คือ 4.5 - 10V แต่แนะนำให้ใช้ 4.5 V และกระแสไฟที่ใช้คือ 0.5mA สูงสุด ดังนั้นจึงเป็นสิ่งที่ต้องระวังเมื่อออกแบบวงจรปรีแอมป์สำหรับไมโครโฟน ความถี่ในการทำงานคือ 20Hz ถึง 20kHz ซึ่งเหมาะสำหรับเสียง
ฉันใช้การออกแบบวงจรปรีแอมป์อย่างง่ายบนเขียงหั่นขนมและปรับแรงดันไฟฟ้าอินพุต ตรวจสอบให้แน่ใจว่ามีไมค์ไม่เกิน 0.5mA ตัวเก็บประจุใช้เพื่อกรองสัญญาณรบกวน DC ที่อาจควบคู่ไปกับสัญญาณไฟฟ้า (เอาต์พุต) และตัวเก็บประจุมีขั้ว ดังนั้นต้องแน่ใจว่าได้เชื่อมต่อปลายขั้วบวกกับพินเอาต์พุตของไมโครโฟน
หลังจากวงจรเสร็จสมบูรณ์ ฉันเชื่อมต่อเอาท์พุตของวงจรกับพินอินพุตแบบอะนาล็อกแรก (AI0, พิน 2) ของ USB-6008 และเชื่อมต่อกราวด์ของเขียงหั่นขนมกับพินกราวด์แอนะล็อก (GND, พิน 1) ฉันเชื่อมต่อ USB-6008 กับพีซีด้วย USB และถึงเวลาต้องปรับเปลี่ยนโปรแกรม LabVIEW เพื่อรับสัญญาณอะนาล็อกจริง
ขั้นตอนที่ 4: การอ่านสัญญาณแอนะล็อกด้วย DAQ Assistant
![การอ่านสัญญาณแอนะล็อกด้วย DAQ Assistant การอ่านสัญญาณแอนะล็อกด้วย DAQ Assistant](https://i.howwhatproduce.com/images/005/image-12824-40-j.webp)
![การอ่านสัญญาณแอนะล็อกด้วย DAQ Assistant การอ่านสัญญาณแอนะล็อกด้วย DAQ Assistant](https://i.howwhatproduce.com/images/005/image-12824-41-j.webp)
แทนที่จะใช้ SoundFileSimpleRead. VI และ HarmonicDistortionAnalyzer. VI ฉันใช้ DAQ Assistant. VI และ ToneMeasurements. VI เพื่อจัดการกับอินพุตแบบอะนาล็อก การตั้งค่า DAQ Assistant ค่อนข้างตรงไปตรงมา และ VI จะนำคุณผ่านขั้นตอนต่างๆ ToneMeasurements. VI มีเอาต์พุตมากมายให้เลือก (แอมพลิจูด ความถี่ เฟส) ดังนั้นฉันจึงใช้เอาต์พุตความถี่ซึ่งให้ความถี่พื้นฐานของโทนอินพุต (จาก DAQ Assistant. VI) เอาต์พุตของ ToneMeasurements. VI ต้องถูกแปลงและใส่ลงในอาร์เรย์ก่อนที่จะใช้ในโครงสร้างเคสได้ แต่โปรแกรม/ตัวบ่งชี้ LabVIEW ที่เหลือยังคงเหมือนเดิม
ขั้นตอนที่ 5: บทสรุป
![บทสรุป บทสรุป](https://i.howwhatproduce.com/images/005/image-12824-42-j.webp)
โครงการประสบความสำเร็จ แต่มีข้อบกพร่องมากมาย ตอนที่ฉันใช้งานเครื่องรับสัญญาณในห้องเรียนที่มีเสียงดัง โปรแกรมจะระบุได้ยากว่าเสียงอะไรและน้ำเสียงที่เล่นคืออะไร เป็นไปได้ว่าวงจรปรีแอมป์นั้นธรรมดามาก และไมโครโฟนก็มีราคาถูกมาก เมื่อมันเงียบ โปรแกรมทำงานด้วยความน่าเชื่อถือที่ดีเพื่อตรวจสอบโน้ตที่พยายามจะเล่น เนื่องจากข้อจำกัดด้านเวลา ฉันไม่ได้ทำการเปลี่ยนแปลงใดๆ เพิ่มเติม แต่ถ้าฉันทำโปรเจ็กต์นี้ซ้ำ ฉันจะซื้อไมโครโฟนที่ดีกว่านี้และใช้เวลามากขึ้นในวงจรปรีแอมป์
แนะนำ:
Arduino Keyboard Joystick Extender Box และ Sound Controller Thing โดยใช้ Deej: 8 ขั้นตอน
![Arduino Keyboard Joystick Extender Box และ Sound Controller Thing โดยใช้ Deej: 8 ขั้นตอน Arduino Keyboard Joystick Extender Box และ Sound Controller Thing โดยใช้ Deej: 8 ขั้นตอน](https://i.howwhatproduce.com/images/001/image-1353-j.webp)
Arduino Keyboard Joystick Extender Box และ Sound Controller Thing โดยใช้ Deej: ทำไมฉันจึงต้องการเพิ่มจอยสติ๊กขนาดเล็กลงในแป้นพิมพ์เพื่อควบคุมองค์ประกอบอินเทอร์เฟซหรืองานขนาดเล็กอื่นๆ ในเกมและเครื่องจำลอง (MS Flight Sim, Elite: Dangerous, Star Wars: ฝูงบิน ฯลฯ) สำหรับ Elite: Dangerous ฉันเคย
วิธีการสร้างเครื่องเล่น MP3 ด้วย LCD โดยใช้ Arduino และ DFPlayer Mini MP3 Player Module: 6 ขั้นตอน
![วิธีการสร้างเครื่องเล่น MP3 ด้วย LCD โดยใช้ Arduino และ DFPlayer Mini MP3 Player Module: 6 ขั้นตอน วิธีการสร้างเครื่องเล่น MP3 ด้วย LCD โดยใช้ Arduino และ DFPlayer Mini MP3 Player Module: 6 ขั้นตอน](https://i.howwhatproduce.com/images/001/image-1519-j.webp)
วิธีการสร้างเครื่องเล่น MP3 ด้วย LCD โดยใช้ Arduino และ DFPlayer Mini MP3 Player Module: วันนี้เราจะสร้างเครื่องเล่น MP3 พร้อม LCD โดยใช้ Arduino และ DFPlayer mini MP3 Player Module โครงการสามารถอ่านไฟล์ MP3 ในการ์ด SD และสามารถหยุดชั่วคราว และเล่นเหมือนเครื่องเมื่อ 10 ปีที่แล้ว และยังมีเพลงก่อนหน้าและเพลงถัดไปที่สนุก
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C - เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C โดยใช้ Arduino IDE: 5 ขั้นตอน
![Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C - เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C โดยใช้ Arduino IDE: 5 ขั้นตอน Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C - เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C โดยใช้ Arduino IDE: 5 ขั้นตอน](https://i.howwhatproduce.com/images/001/image-2825-28-j.webp)
Neopixel Ws2812 Rainbow LED เรืองแสงพร้อม M5stick-C | เรียกใช้ Rainbow บน Neopixel Ws2812 โดยใช้ M5stack M5stick C การใช้ Arduino IDE: สวัสดีทุกคนในคำแนะนำนี้ เราจะเรียนรู้วิธีใช้ neopixel ws2812 LED หรือแถบนำหรือเมทริกซ์นำหรือวงแหวน LED พร้อมบอร์ดพัฒนา m5stack m5stick-C พร้อม Arduino IDE และเราจะทำ ลายรุ้งกับมัน
การควบคุมวิทยุ RF 433MHZ โดยใช้ HT12D HT12E - การสร้างรีโมทคอนโทรล Rf โดยใช้ HT12E & HT12D ด้วย 433mhz: 5 ขั้นตอน
![การควบคุมวิทยุ RF 433MHZ โดยใช้ HT12D HT12E - การสร้างรีโมทคอนโทรล Rf โดยใช้ HT12E & HT12D ด้วย 433mhz: 5 ขั้นตอน การควบคุมวิทยุ RF 433MHZ โดยใช้ HT12D HT12E - การสร้างรีโมทคอนโทรล Rf โดยใช้ HT12E & HT12D ด้วย 433mhz: 5 ขั้นตอน](https://i.howwhatproduce.com/images/001/image-2937-16-j.webp)
การควบคุมวิทยุ RF 433MHZ โดยใช้ HT12D HT12E | การสร้างการควบคุมระยะไกล Rf โดยใช้ HT12E & HT12D ด้วย 433mhz: ในคำแนะนำนี้ฉันจะแสดงวิธีสร้างรีโมทคอนโทรล RADIO โดยใช้โมดูลตัวรับส่งสัญญาณ 433mhz พร้อมการเข้ารหัส HT12E & IC ถอดรหัส HT12D ในคำแนะนำนี้ คุณจะสามารถส่งและรับข้อมูลโดยใช้ส่วนประกอบราคาถูกมาก เช่น HT
DIY ECG โดยใช้ Analog Discovery 2 และ LabVIEW: 8 ขั้นตอน
![DIY ECG โดยใช้ Analog Discovery 2 และ LabVIEW: 8 ขั้นตอน DIY ECG โดยใช้ Analog Discovery 2 และ LabVIEW: 8 ขั้นตอน](https://i.howwhatproduce.com/images/001/image-1964-87-j.webp)
DIY ECG โดยใช้ Analog Discovery 2 และ LabVIEW: ในคำแนะนำนี้ ฉันจะแสดงวิธีทำคลื่นไฟฟ้าหัวใจแบบโฮมเมด (ECG) เป้าหมายของเครื่องนี้คือการขยาย วัด และบันทึกศักย์ไฟฟ้าตามธรรมชาติที่สร้างขึ้นโดยหัวใจ ECG สามารถเปิดเผยข้อมูลมากมายเกี่ยวกับ