สารบัญ:
- ขั้นตอนที่ 1: วิดีโอ
- ขั้นตอนที่ 2: ชิ้นส่วนและวัสดุ
- ขั้นตอนที่ 3: การเดินสายไฟ - SAA1099
- ขั้นตอนที่ 4: การเดินสายไฟ - TTL Oscillator
- ขั้นตอนที่ 5: การเดินสายไฟ - Iref และ Chip Interface
- ขั้นตอนที่ 6: การเดินสายไฟ - ส่วนประกอบเสียง
- ขั้นตอนที่ 7: การเดินสายไฟ - แจ็คเสียง
- ขั้นตอนที่ 8: การเดินสายไฟ - พลังสู่เขียงหั่นขนม
- ขั้นตอนที่ 9: การเดินสายไฟ - สายข้อมูล
- ขั้นตอนที่ 10: ไฟ LED เสริม
- ขั้นตอนที่ 11: รหัส
- ขั้นตอนที่ 12: ทดสอบเลย
- ขั้นตอนที่ 13: การใช้ไฟล์ MIDI ของคุณเอง - โปรแกรมการแปลง
- ขั้นตอนที่ 14: การแปลงไฟล์ MIDI
- ขั้นตอนที่ 15: การใช้ไฟล์ MIDI ที่แปลงแล้วของคุณ
- ขั้นตอนที่ 16: ฟิน
วีดีโอ: ชิปเสียงย้อนยุคพร้อม Arduino - SAA1099: 16 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:05
ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นถึงวิธีใช้ Arduino Uno กับชิปสังเคราะห์เสียงแบบโบราณ เพื่อเล่นไฟล์ midi ในแบบคลื่นสี่เหลี่ยม!
หากคุณต้องการภาพรวมคร่าวๆ ของสิ่งที่โครงการนี้ทำ ให้ดูวิดีโอด้านบน มิฉะนั้น ดำเนินการต่อ!
ขั้นตอนที่ 1: วิดีโอ
หากคุณต้องการคำแนะนำทั้งหมดของคุณในวิดีโอที่กระชับและชัดเจน เรามีคำตอบให้คุณ!
สำหรับพวกเราที่เหลือ คุณสามารถดำเนินการต่อเพื่อดูรายละเอียดเพิ่มเติมเล็กน้อย และคำแนะนำเป็นลายลักษณ์อักษร
ขั้นตอนที่ 2: ชิ้นส่วนและวัสดุ
สำหรับสิ่งนี้ คุณจะต้องมีสิ่งเหล่านี้:
(ลิงค์สำหรับสินค้าอีเบย์)
- Arduino (Uno, Nano, Leonardo ใช้งานได้ทั้งหมด)
- อย่างน้อยก็เขียงหั่นขนมขนาดกลาง
- ชิปกำเนิดเสียงสเตอริโอ SAA1099
- สายจัมเปอร์เขียงหั่นขนม (อีกวิธีหนึ่ง ฉันชอบใช้จัมเปอร์ดูปองต์ตัวเมียกับจัมเปอร์ตัวเมีย โดยเสียบหมุดส่วนหัว 20 มม. ที่ปลายทั้งสองด้าน - แข็งแรงกว่ามาก)
- 8Mhz TTL Oscillator (ลิงก์ AliExpress ที่จัดเตรียมโดย zweigelt)
- แจ็คเสียงสเตอริโอ (หรือโมโน)
- ตัวต้านทาน 2 x 1K (ล็อต 100)
- ตัวต้านทาน 1 x 10K (ล็อต 50)
- ตัวเก็บประจุ 2 x 100pF
- (ไม่บังคับ) ไฟ LED บางดวง อย่างน้อย 1 ดวง (สีใดก็ได้ ที่นี่ 1 ดอลลาร์ คละสี 100 สี!)
การใช้ลิงก์ที่ให้มา ค่าใช้จ่ายทั้งหมดคือ 23.25 ดอลลาร์ รวมค่าจัดส่ง แน่นอนว่าส่วนใหญ่มาจากครึ่งทางทั่วโลก ดังนั้นการจัดส่งมักจะใช้เวลาประมาณหนึ่งเดือน หากต้องการให้จัดส่งเร็วขึ้น คุณอาจต้องจ่ายเพิ่มเล็กน้อย
ขั้นตอนที่ 3: การเดินสายไฟ - SAA1099
ถ้าคุณชอบแผนผัง จัดให้เลย! พวกเราที่เหลือสามารถทำตามขั้นตอนหรือดูวิดีโอได้
- วาง SAA1099 ที่ส่วนท้ายของเขียงหั่นขนม โดยให้รอยบากบนชิปหันไปทางปลาย
- เอาล่ะ พลัง VDD (พิน 18) บน SAA1099 จะจ่ายไฟ จากนั้นตรึง VSS (พิน 9) ลงกราวด์
- ถัดไป วางลวดระหว่าง CS (พิน 2) กับกราวด์เพื่อให้ดึงให้ต่ำ
ฉันขอแนะนำให้ดูแผ่นข้อมูลซึ่งฉันได้แนบมาด้วย
ขั้นตอนที่ 4: การเดินสายไฟ - TTL Oscillator
- เราจะวาง TTL Oscillator ไว้บนเขียงหั่นขนมถัดจากเขียงหั่นขนม เพื่อให้พินเอาต์พุตนาฬิกาอยู่ใกล้กับอินพุตนาฬิกาบน SAA1099 (พิน 8) มากที่สุด
- คุณสามารถเชื่อมต่อพลังงานและกราวด์กับออสซิลเลเตอร์ TTL ได้ (ฉันรอจนถึงภายหลังในวิดีโอของฉัน ดังนั้นฉันจึงไม่มีรูปภาพ) ภาพด้านบนแสดงให้เห็นว่าหมุดตัวไหน
ขั้นตอนที่ 5: การเดินสายไฟ - Iref และ Chip Interface
- เชื่อมต่อตัวต้านทาน 10K ระหว่าง Iref (พิน 6) และ 5V
- เชื่อมต่อพินดิจิตอล 8 กับ WR (พิน 1) บน SAA1099
- เชื่อมต่อพินดิจิตอล 9 กับ A0 (พิน 3) บน SAA1099
ขั้นตอนที่ 6: การเดินสายไฟ - ส่วนประกอบเสียง
- เชื่อมต่อตัวเก็บประจุ 100pF ระหว่าง OUTR (พิน 4) และ GND
- เชื่อมต่อตัวต้านทาน 1K ระหว่าง OUTR (พิน 4) และ 5V
- เราจะทำสิ่งเดียวกันกับ OUTL (พิน 5)
- เชื่อมต่อตัวเก็บประจุ 100pF ระหว่าง OUTL (พิน 5) และ GND
- เชื่อมต่อตัวต้านทาน 1K ระหว่าง OUTL (พิน 5) และ 5V
บันทึก! ตรวจสอบให้แน่ใจว่าไม่มีสายไฟจากตัวต้านทาน/ตัวเก็บประจุสัมผัสกัน มิฉะนั้น สิ่งของต่างๆ จะไม่ทำงาน และ (อาจเป็นไปได้) อาจระเบิดที่ใบหน้าของคุณได้
ขั้นตอนที่ 7: การเดินสายไฟ - แจ็คเสียง
- ต่อสายจัมเปอร์ขนาดเล็กระหว่าง 5V กับแถวว่างบนเขียงหั่นขนม
- วางแจ็คเสียงของคุณ เพื่อให้จัมเปอร์จาก 5V เชื่อมต่อกับพิน "แขนเสื้อ" บน Audio Jack
- เชื่อมต่อ L และ R (หรือพินเสียง หากคุณมีแจ็คโมโน) กับพิน OUTL (พิน 5) และ OUTR (พิน 4) บน SAA1099 ตามลำดับ
บันทึก! สำหรับแจ็คเสียงโมโน ไม่สำคัญว่าจะเกิดอะไรขึ้น ตราบใดที่หนึ่งพินเชื่อมต่อกับ 5V และอีกพินหนึ่งไปยัง OUTL หรือ OUTR มันจะฟังดูดี หากไม่เป็นเช่นนั้น คุณอาจต้องตรวจสอบสายไฟอีกครั้ง
ขั้นตอนที่ 8: การเดินสายไฟ - พลังสู่เขียงหั่นขนม
- เชื่อมต่อพาวเวอร์บัส Breadboard ทั้งสองด้านเข้าด้วยกัน โดยใช้สายจัมเปอร์
- เชื่อมต่อด้านหนึ่งเข้ากับพิน 5V และ GND บน Arduino ตรวจสอบให้แน่ใจว่าคุณไม่ได้ผสมสายไฟไว้ที่ใด หากคุณทำเช่นนั้น ควันเวทย์มนตร์อาจหลบหนีได้
ขั้นตอนที่ 9: การเดินสายไฟ - สายข้อมูล
เชื่อมต่อ D0 ถึง D7 บน Arduino กับ D0 (พิน 10) ผ่าน D7 (พิน 17) บน SAA1099 ตามลำดับ
ฉันพบว่าสายจัมเปอร์หญิง - หญิงของดูปองท์ที่มีหมุดส่วนหัว 15-20 มม. ที่ปลายทั้งสองข้างทำงานได้ดีกว่าสายดูปองต์ชาย - ชายมาก นอกจากนี้คุณยังสามารถใช้เป็นหญิง-หญิงหรือชาย-หญิง ทั้งสองอย่างนี้พบได้ง่ายบนอีเบย์ในปริมาณมากสำหรับการเปลี่ยนแปลงเพียงเล็กน้อย ของขวัญคริสต์มาสที่ดีสำหรับขี้ยา Arduino ที่ต้องการ!
ขั้นตอนที่ 10: ไฟ LED เสริม
ฉันจะไม่อธิบายทีละขั้นตอนเกี่ยวกับวิธีการสร้างทุกอย่างที่นี่ แต่มีที่ที่ดีหลายแห่งในการเพิ่ม LED ก่อนอื่น ฉันเชื่อมต่อ LED สีแดงขนาด 3 มม. ระหว่าง WR (พิน 1) และ GND เพื่อแสดงทุกครั้งที่ Arduino ส่งคำสั่งไปยัง SAA1099
ฉันเคยเชื่อมต่อ LED กับสายข้อมูลมาก่อน ซึ่งช่วยให้คุณเห็นข้อมูลไบนารีจริงในแต่ละบรรทัด ฉันใช้การตั้งค่านี้ในวิดีโอ "Arduino และ SAA1099 - Fireflies" รวมถึงไฟ LED อีก 6 ดวงและโค้ดพิเศษบางส่วนเพื่อให้ LED แต่ละช่องสว่างขึ้นสำหรับแต่ละช่องสัญญาณที่ทำงานอยู่
ยิ่ง LEDs ยิ่งดูเท่!
ขั้นตอนที่ 11: รหัส
เมื่อคุณสร้างวงจรแล้ว ให้ตรวจสอบการเชื่อมต่ออีกครั้ง! คุณไม่ต้องการที่จะระเบิด Arduino และ Soundchip ราคาแพงของคุณ! (ถ้าคุณทำก็เถอะ นั่นไม่ใช่เรื่องของฉัน)
สมมติว่าคุณมีสติและตรวจทุกอย่างแล้ว เราสามารถเริ่มเขียนโปรแกรมได้
- ห้องสมุดอยู่ที่
- คุณจะต้องการไฟล์ SAATunes.zip ดังนั้นให้ดาวน์โหลดเลย
- ตอนนี้เปิด Arduino IDE
- ภายใต้ "ร่าง" "รวมไลบรารี" คลิก "เพิ่ม.zip ไลบรารี"
- นำทางไปยังทุกที่ที่คุณดาวน์โหลดไลบรารี SAATunes (ฉันไม่สนหรอกว่าจะเป็นโฟลเดอร์เดสก์ท็อป ดาวน์โหลด หรือ (ใส่อะไรที่น่าอาย) - แค่หาเจอ)
- เลือกและคลิก "เปิด"
- มันควรจะบอกคุณว่ามันถูกเพิ่มลงในห้องสมุดของคุณแล้ว
ขั้นตอนที่ 12: ทดสอบเลย
- เปิดตัวอย่างโปรแกรม SAATunes ภายใต้ "ไฟล์", "ตัวอย่าง", "SAATunes", "SAATunes-Uno"
- เสียบ Arduino ของคุณเข้ากับคอมพิวเตอร์และต่อกับลำโพงบางประเภท
- อัปโหลดโปรแกรมไปยัง Arduino
คุณควรได้ยินเสียงคอร์ด ตามด้วยความโกรธของเบโธเฟนเหนือเพนนีที่หายไป หาก Classical ไม่ใช่ของคุณ ก็ไม่ต้องกลัว เพราะอีกไม่นานเราจะเรียนรู้วิธีการใช้ไฟล์ MIDI ที่เราเลือกเองกับมัน
หากคุณไม่ได้ยินอะไรเลย ให้ตรวจสอบบางสิ่ง: อันดับแรก ลำโพงของคุณเปิดอยู่หรือไม่ หมุนขึ้นจนสุด แล้ว Arduino เปิดอยู่จริงหรือ? โปรแกรมอัพโหลดถูกต้องหรือไม่? ตรวจสอบการเดินสายทั้งหมดด้วยแผนผังและแผ่นข้อมูล แล้วลองอีกครั้ง
ขั้นตอนที่ 13: การใช้ไฟล์ MIDI ของคุณเอง - โปรแกรมการแปลง
พร้อมที่จะลองอย่างอื่นที่ไม่ใช่ Beethoven แล้วหรือยัง? ดีมาก เอาไปเลย
ในการแปลงไฟล์ MIDI เป็น C++ Bytestreams เราจำเป็นต้องมีโปรแกรมของ Len Shustek เขาเป็นผู้สร้างห้องสมุดที่ฉันใช้รหัสของฉัน และห้องสมุดของฉันใช้รูปแบบไบต์สตรีมแบบเดียวกับที่เขาใช้
- คุณสามารถค้นหาโปรแกรมได้ที่
- โปรแกรมที่คุณต้องการคือ "miditones.exe" ไปข้างหน้าและดาวน์โหลดสิ่งนั้น
ขั้นตอนที่ 14: การแปลงไฟล์ MIDI
คำเตือน! ที่นี่มีมังกร ascii! คุณอาจพบว่าการดูวิดีโอนั้นง่ายกว่า ซึ่งคุณจะเห็นว่าฉันกำลังพูดถึงอะไร ถ้าท่านกล้าเข้าไปก็ไปต่อ!
ในการใช้โปรแกรมแปลง MIDI เป็น Bytestream คุณจะต้องเปิดหน้าต่างพรอมต์คำสั่ง ขออภัยผู้ใช้ Mac และ Linux คุณอาจต้องหาวิธีแก้ไขปัญหาชั่วคราว
- เปิดเมนูเริ่ม แล้วพิมพ์ "CMD" จากนั้นกด Enter
- ตอนนี้เราจะมาเรียนรู้เวทย์มนตร์ MS-DOS กัน ใช้คำสั่ง "CD" นำทางไปยังทุกที่ที่คุณดาวน์โหลดไฟล์ "miditones.exe" ไป ในกรณีส่วนใหญ่ คำสั่งจะเป็น "การดาวน์โหลดซีดี"
- เรียกใช้โปรแกรม "miditones.exe" โดยพิมพ์ "miditones" ควรแสดงรายการช่วยเหลือที่แสดงคำสั่งทั่วไป
ตอนนี้ เราต้องการไฟล์ MIDI เพื่อแปลง หาที่ใดที่หนึ่งในเว็บอินเตอร์ โดยเฉพาะอย่างยิ่งโดยไม่ต้องกระทบหรือเทคนิคพิเศษใด ๆ นอกเหนือจาก insturments/velocity (ถ้าไม่รู้ว่ามันคืออะไร ไม่ต้องกังวล ไม่เป็นไร)
- ดาวน์โหลดไฟล์ MIDI ของคุณไปยังที่เดียวกับที่คุณมีโปรแกรม "มิดโทน"
- ตอนนี้ ใช้หน้าต่างพรอมต์คำสั่ง พิมพ์ "miditones -d -v [ชื่อไฟล์]" (แทนที่ [ชื่อไฟล์] ด้วยชื่อไฟล์ MIDI ของคุณ)
- miditones จะสร้างไฟล์. C ด้วย C++ bytestream ในโฟลเดอร์เดียวกัน โดยใช้ชื่อเดียวกับไฟล์ MIDI
ขั้นตอนที่ 15: การใช้ไฟล์ MIDI ที่แปลงแล้วของคุณ
เมื่อคุณแปลงไฟล์ MIDI แล้ว ให้ป้อน Arduino ทีละน้อย!
- สมมติว่าคุณเปิดตัวอย่าง SAATunes-Uno แล้ว ให้ดำเนินการต่อและ "บันทึกเป็น" อย่างอื่น เพื่อให้เราสามารถแก้ไขได้
- เมื่อคุณบันทึกแล้ว ให้คลิกไอคอน "ลูกศรลง" เล็กๆ ที่มุมขวาบน
- คลิก "แท็บใหม่" และตั้งชื่อเป็น "[name].h" (แทนที่ [name] ด้วยชื่อเพลง MIDI ของคุณ หรืออะไรก็ได้ที่คุณต้องการ)
- ตอนนี้เปิดไฟล์. C ที่สร้าง miditones ไว้ก่อนหน้านี้ คุณสามารถใช้แผ่นจดบันทึกเพื่อเปิด
- ใช้ CNTRL/A เพื่อเลือกทุกอย่าง แล้วคัดลอก
- วางลงในแท็บ "[name].h" ใหม่ของคุณในโปรแกรมแก้ไข Arduino
ทุกอย่างเรียบร้อยดีแล้ว กลับมาที่โปรแกรมกันดีกว่า
- ค้นหาตำแหน่งที่ระบุว่า "#include "RagePenny.h" และคัดลอก/วางลงในบรรทัดใหม่ด้านล่าง
- เปลี่ยน "RagePenny.h" เป็นชื่อไฟล์ใหม่ของคุณ
- ตอนนี้ แสดงความคิดเห็นใน "#include "RagePenny.h" โดยเพิ่มเครื่องหมายทับ (//) สองอันข้างหน้า
- ลงโปรแกรม!
ถ้าทุกอย่างเป็นไปด้วยดี ก็ควรจะเล่นไฟล์ MIDI ของคุณเอง หากไม่เป็นเช่นนั้น ให้ตรวจสอบอีกครั้งเพื่อให้แน่ใจว่าชื่อของแท็บใหม่และชื่อที่คุณเปลี่ยนใน "#include "RagePenny.h" เหมือนกัน ตรวจสอบขั้นตอนอื่นๆ และตรวจสอบให้แน่ใจว่าคุณทำทุกอย่างถูกต้อง ไฟล์ MIDI บางไฟล์ใช้งานไม่ได้ แต่ไฟล์เหล่านี้หายาก
ขั้นตอนที่ 16: ฟิน
หวังว่าทุกอย่างจะผ่านไปด้วยดีกับคุณ และคุณกำลังติดขัดกับไฟล์ MIDI เกี่ยวกับเทคโนโลยีโบราณที่ให้ชีวิตใหม่!
แต่ถ้าไม่ใช่ อย่ายอมแพ้! ส่งความคิดเห็นในแบบของฉัน และฉันยินดีที่จะช่วยเหลือ แน่นอนโปรดให้คำแนะนำในความคิดเห็น
ชิปทูนส์แห่งความสุข!
แนะนำ:
อะแดปเตอร์ Arduino Nano เป็น Arduino Uno: 6 ขั้นตอน (พร้อมรูปภาพ)
อะแดปเตอร์ Arduino Nano เป็น Arduino Uno: Arduino Nano เป็นสมาชิกที่ดี ขนาดเล็ก และราคาถูกของตระกูล Arduino มันขึ้นอยู่กับชิป Atmega328 สิ่งที่ทำให้มีประสิทธิภาพเท่ากับ Arduino Uno พี่ชายที่ใหญ่ที่สุดของเขา แต่สามารถรับเงินน้อยกว่า ในอีเบย์ตอนนี้เวอร์ชั่นภาษาจีนสามารถข
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
Arduino ที่ถูกที่สุด -- Arduino ที่เล็กที่สุด -- Arduino Pro Mini -- การเขียนโปรแกรม -- Arduino Neno: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino ที่ถูกที่สุด || Arduino ที่เล็กที่สุด || Arduino Pro Mini || การเขียนโปรแกรม || Arduino Neno:…………………………… โปรดสมัครสมาชิกช่อง YouTube ของฉันสำหรับวิดีโอเพิ่มเติม……. โปรเจ็กต์นี้เกี่ยวกับวิธีเชื่อมต่อ Arduino ที่เล็กที่สุดและถูกที่สุดเท่าที่เคยมีมา Arduino ที่เล็กที่สุดและถูกที่สุดคือ arduino pro mini คล้ายกับ Arduino
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-