Агуулгын хүснэгт:
- Алхам 1: Видео
- Алхам 2: эд анги, материал
- Алхам 3: Цахилгааны утас - SAA1099
- Алхам 4: Цахилгааны утас - TTL осциллятор
- Алхам 5: Утас холбох - Iref ба чипийн интерфэйс
- Алхам 6: Утас холбох - Дууны бүрэлдэхүүн хэсгүүд
- Алхам 7: Утас холбох - Аудио Жак
- Алхам 8: Цахилгааны утас - Breadboard -ийн хүч
- Алхам 9: Утас холбох - Мэдээллийн шугам
- Алхам 10: Нэмэлт LED (ууд)
- Алхам 11: Код
- Алхам 12: Үүнийг туршиж үзээрэй
- Алхам 13: Өөрийн MIDI файлуудыг ашиглах - Хөрвүүлэх програм
- Алхам 14: MIDI файлуудыг хөрвүүлэх
- Алхам 15: Хөрвүүлсэн MIDI файлыг ашиглах
- Алхам 16: Фин
Видео: Ардуинотой чимэг дууны чип - SAA1099: 16 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:03
Энэхүү зааварчилгааны хичээл дээр би Arduino Uno -ийг чимэг дууны синтез чиптэй хэрхэн ашиглаж, midi файлуудыг дөрвөлжин долгионтой сайн тоглуулахыг танд үзүүлэх болно.
Хэрэв та энэ төсөл юу хийж байгааг хурдан харахыг хүсч байвал дээрх видеог үзээрэй. Үгүй бол үргэлжлүүлээрэй!
Алхам 1: Видео
Хэрэв та бүх зааварчилгааг тодорхой, товч видео хэлбэрээр үзэхийг хүсч байвал бид танд хариулах болно!
Үлдсэн хүмүүсийн хувьд та үргэлжлүүлэн, илүү дэлгэрэнгүй мэдээлэл авах, бичгээр заавар авах боломжтой.
Алхам 2: эд анги, материал
Үүний тулд танд дараахь зүйлс хэрэгтэй болно.
(Холбоосууд нь eBay -д зориулагдсан болно)
- An Arduino (Uno, Nano, Leonardo, тэд бүгд ажиллах ёстой)
- Наад зах нь дунд оврын талхны хавтан
- SAA1099 стерео дуу үүсгэгч чип
- Талхны самбарын холбогч утас (Эсвэл би эмэгтэй үсэрч дупонт ашиглах дуртай, хоёр төгсгөлд нь 20 мм-ийн голтой зүү оруулдаг. Илүү бат бөх)
- 8Mhz TTL осциллятор (AliExpress холбоосыг zweigelt -ээс өгсөн болно)
- Стерео (эсвэл моно) Аудио Жак
- 2 x 1K резистор (100 ширхэг)
- 1 x 10K эсэргүүцэл (50 ширхэг)
- 2 x 100pF конденсатор
- (Нэмэлт) Зарим LED, дор хаяж 1 (Ямар ч өнгө, энд нэг долларын 100 төрлийн өнгө байна!)
Оруулсан линкийг ашигласнаар тээвэрлэлтийг оруулаад нийт зардал 23.25 доллар болно. Мэдээжийн хэрэг, ихэнх нь дэлхийн өнцөг булан бүрээс ирдэг тул тээвэрлэлт ихэвчлэн нэг сар орчим болдог. Хэрэв та хурдан тээвэр хийхийг хүсч байвал арай илүү мөнгө төлөх шаардлагатай болно.
Алхам 3: Цахилгааны утас - SAA1099
Хэрэв бүдүүвч нь таны зүйл бол эндээс яваарай! Бидний үлдсэн хэсэг нь алхам алхмаар явж эсвэл видеог үзэж болно.
- SAA1099 -ийг талхны хавтангийн төгсгөлд, чип дээрх ховилыг төгсгөл рүү нь харуулан байрлуулна.
- Одоо, хүч чадал. SAA1099 дээрх VDD (18 -р зүү) нь хүчдэлд шилжиж, дараа нь VSS (9 -р зүү) -г газардуулна.
- Дараа нь бага татахын тулд CS (зүү 2) ба газардуулгын хооронд утас тавина
Би хавсаргасан мэдээллийн хуудсыг үзэхийг зөвлөж байна.
Алхам 4: Цахилгааны утас - TTL осциллятор
- Бид TTL осцилляторыг талхны хажууд талхны тавцан дээр байрлуулах бөгөөд ингэснээр цагийн гаралтын зүү нь SAA1099 (Pin 8) дээрх оролтын цагтай хамгийн ойр байх болно.
- Та цаашаа явж, TTL осциллятор руу хүч, газардуулга холбож болно. (Би видеогоо сүүлд хүртэл хүлээсэн болохоор надад зураг байхгүй байна). Дээрх зураг нь аль тээглүүр болохыг харуулав.
Алхам 5: Утас холбох - Iref ба чипийн интерфэйс
- 10K резисторыг Iref (pin 6) ба 5V хооронд холбоно уу.
- SAA1099 дээрх дижитал зүү 8 -ийг WR (зүү 1) руу холбоно уу.
- 9 дижитал зүүг SAA1099 дээрх A0 (зүү 3) руу холбоно уу.
Алхам 6: Утас холбох - Дууны бүрэлдэхүүн хэсгүүд
- OUTR (pin 4) ба GND хооронд 100pF конденсаторыг холбоно уу
- OUTR (pin 4) ба 5V хооронд 1K эсэргүүцэл холбоно уу
- Бид OUTL -тэй ижил зүйлийг хийх болно (зүү 5)
- OUTL (pin 5) ба GND хооронд 100pF конденсаторыг холбоно уу
- OUTL (pin 5) ба 5V хооронд 1K эсэргүүцэл холбоно уу
Анхаарна уу! Резистор/конденсаторын утаснуудын аль нь ч хүрэхгүй байгаа эсэхийг шалгаарай, эс тэгвээс эд зүйлс ажиллахгүй бөгөөд таны нүүрэн дээр дэлбэрч болзошгүй.
Алхам 7: Утас холбох - Аудио Жак
- Жижиг холбогч утсыг 5В ба талхны самбар дээрх хоосон эгнээний хооронд холбоно уу.
- Аудио үүрээ 5V холбогчийг Аудио үүрэн дээрх "Ханцуйны" зүү рүү холбохын тулд аудио үүрээ байрлуул
- L ба R (эсвэл аудио зүү, хэрэв танд моно үүр байгаа бол) SAA1099 дээрх OUTL (зүү 5) ба OUTR (зүү 4) зүү рүү холбоно уу.
Анхаарна уу! Моно аудио залгуур дээр нэг зүү 5V -д, нэг нь OUTL эсвэл OUTR -д холбогдсон байхад юу болох нь хамаагүй. Энэ нь зүгээр л сонсогдох болно. Хэрэв тийм биш бол та утсаа дахин шалгахыг хүсч магадгүй юм.
Алхам 8: Цахилгааны утас - Breadboard -ийн хүч
- Breadboard цахилгаан автобусны хоёр талыг холбогч утсаар холбоно.
- Arduino дээрх 5V ба GND зүү рүү нэг талыг холбож, утсыг хаана ч хольж хутгаагүй эсэхийг шалгаарай. Хэрэв та тэгсэн бол ид шидийн утаа зугтаж магадгүй юм.
Алхам 9: Утас холбох - Мэдээллийн шугам
Arduino дээрх D0 -ээс D7 -ийг SAA1099 дээрх D0 (зүү 17) -ээс D7 (зүү 10) руу дарааллаар холбоно уу
DuPont эмэгтэй, эмэгтэй холбогч утаснууд, хоёр төгсгөлд нь 15-20 мм голтой, эрэгтэй, эрэгтэй дупон утаснаас хамаагүй илүү сайн ажилладаг болохыг олж мэдэв. Үүнээс гадна та тэдгээрийг эмэгтэй-эмэгтэй, эрэгтэй-эмэгтэй байдлаар ашиглаж болно. Хоёуланг нь eBay дээрээс бага хэмжээгээр өөрчлөхөд хялбархан олдог. Хүсч буй Arduino -ийн шүтэн бишрэгчдэд зориулсан зул сарын баярын сайхан бэлэг!
Алхам 10: Нэмэлт LED (ууд)
Би энд бүх зүйлийг хэрхэн яаж хийх талаар алхам алхамаар ярихгүй, гэхдээ LED нэмэх хэд хэдэн сайн газар бий. Нэгдүгээрт, би Arduino SAA1099 руу тушаал илгээх болгондоо харуулахын тулд 3 мм улаан LED -ийг WR (pin 1) ба GND хооронд холбосон.
Би LED -ийг өмнө нь өгөгдлийн шугамд холбосон бөгөөд энэ нь мөр бүр дээрх бодит хоёртын өгөгдлийг харах боломжийг олгодог. Би энэ тохиргоог "Arduino and SAA1099 - Fireflies" видеон дээрээ, мөн өөр 6 LED болон нэмэлт код ашиглан идэвхтэй байсан суваг бүрийн LED тус бүрийг гэрэлтүүлсэн.
Илүү их LED, илүү хүйтэн харагдаж байна!
Алхам 11: Код
Та хэлхээг байгуулсны дараа холболтыг давхар шалгаарай! Та үнэтэй arduino болон Soundchip -ээ дэлбэлмээргүй байна! (Хэрэв та тэгвэл, энэ бол миний бизнес биш)
Таныг эрүүл ухаантай, бүх зүйлийг шалгасан гэж үзвэл бид үүнийг програмчилж эхлэх боломжтой.
- Номын сан https://github.com/Bobcatmodder/SAATunes дээр байна
- Та SAATunes.zip файлыг авахыг хүсч байгаа тул үүнийг татаж аваад татаж аваарай.
- Одоо Arduino IDE -ийг нээнэ үү.
- "Ноорог", "Номын санг оруулах" хэсэгт ".zip номын сан нэмэх" дээр дарна уу.
- SAATunes -ийн номын санг татаж авсан газраа очно уу. (Энэ нь таны ширээний компьютер, татан авалт, эсвэл эвгүй зүйл оруулах) байсан эсэх нь надад хамаагүй- зүгээр л олоорой)
- Үүнийг сонгоод "Нээх" дээр дарна уу.
- Энэ нь таны номын санд нэмэгдсэнийг танд хэлэх ёстой.
Алхам 12: Үүнийг туршиж үзээрэй
- SAATunes програмын жишээг "Файл", "Жишээ", "SAATunes", "SAATunes-Uno" хэсэгт нээнэ үү.
- Arduino -г компьютерт, ямар нэгэн чанга яригч руу залгаарай.
- Хөтөлбөрийг Arduino дээр байршуулна уу.
Та аккорд, дараа нь алдагдсан пенни дээр Бетховены уур хилэнг сонсох ёстой. Хэрэв Classical бол таных биш бол бүү ай, учир нь бид удахгүй өөрийн хүссэн MIDI файлуудыг хэрхэн ашиглахыг сурах болно.
Хэрэв та юу ч сонсохгүй байвал хэдэн зүйлийг шалгаарай: Нэгдүгээрт, таны чанга яригч асаалттай байна уу? Үүнийг бүхэлд нь дээш нь эргүүлээрэй. Тэгвэл arduino үнэхээр асаалттай байна уу? Програмыг зөв байршуулсан уу? Схем ба өгөгдлийн хүснэгтээр бүх утсыг шалгаад дахин оролдоно уу.
Алхам 13: Өөрийн MIDI файлуудыг ашиглах - Хөрвүүлэх програм
Бетховеноос өөр зүйлийг туршиж үзэхэд бэлэн үү? Маш сайн, чи явлаа.
MIDI файлуудыг C ++ Bytestreams болгон хөрвүүлэхийн тулд бидэнд Len Shustek програм хэрэгтэй болно. Тэр бол миний кодыг үндэслэсэн номын санг бүтээгч бөгөөд миний номын сан түүний хийдэг bytestream форматыг ашигладаг.
- Та програмыг https://github.com/LenShustek/miditones дээрээс олж болно
- Таны хүсч буй програм бол "miditones.exe" юм. Үүнийг үргэлжлүүлээд татаж аваарай.
Алхам 14: MIDI файлуудыг хөрвүүлэх
Анхааруулга! Энд ascii луу байна! Та миний ярьж буй зүйлийг яг таг харах боломжтой видеог үзэхэд илүү хялбар байж магадгүй юм. Хэрэв та орж зүрхлэх юм бол үргэлжлүүлээрэй!
MIDI -аас Bytestream руу хөрвүүлэх програмыг ашиглахын тулд та тушаал хүлээх цонхыг нээх хэрэгтэй болно. Уучлаарай Mac болон Linux хэрэглэгчид танд тойрч гарах гарц хайх хэрэгтэй болж магадгүй юм.
- Эхлэх цэсийг нээгээд "CMD" гэж бичээд enter дарна уу.
- Бид одоо MS-DOS-ийн бяцхан ид шидийг сурах болно. "CD" командыг ашиглан "miditones.exe" файлыг татаж авсан газар руугаа очно уу. Ихэнх тохиолдолд тушаалуудыг "cd татан авалт" хийх болно.
- "Miditones.exe" програмыг "miditones" гэж бичээд ажиллуулна уу. Энэ нь танд хамгийн түгээмэл тушаалуудыг харуулсан тусламжийн жагсаалтыг харуулах ёстой.
Одоо хөрвүүлэхийн тулд бидэнд MIDI файл хэрэгтэй болно. Дотоод сүлжээний аль нэг газраас цохилт, ямар нэгэн онцгой эффект, заавар/хурдаас гадна олох боломжтой. (Хэрэв та эдгээр нь юу болохыг мэдэхгүй бол санаа зоволтгүй, та зүгээр байх болно)
- MIDI файлыг "miditones" програмтай газартаа татаж аваарай.
- Одоо тушаал хүлээх цонхыг ашиглан "miditones -d -v [filename]" гэж бичнэ үү ([файлын нэрийг] MIDI файлынхаа нэрээр солино уу).
- miditones нь MIDI файлтай ижил нэртэй C ++ bytestream бүхий. C файлыг нэг хавтсанд үүсгэх болно.
Алхам 15: Хөрвүүлсэн MIDI файлыг ашиглах
Та MIDI файлыг хөрвүүлсний дараа үүнийг бага байтаар arduino руу оруулъя!
- Та SAATunes-Uno-ийн жишээг аль хэдийн нээсэн гэж үзвэл үргэлжлүүлээд өөр зүйлийг "хадгалах" боломжтой болно, ингэснээр бид үүнийг засах боломжтой болно.
- Хадгалсны дараа баруун дээд буланд байгаа "доош сум" дүрс дээр дарна уу.
- "Шинэ таб" дээр товшоод "[нэр].h" гэж нэрлээрэй ([нэрийг] MIDI дууныхаа нэрээр эсвэл хүссэн зүйлээрээ солино уу)
- Одоо өмнө нь үүсгэсэн miditones. C файлыг нээнэ үү. Тэмдэглэлийн дэвтэр ашиглан үүнийг нээж болно.
- CNTRL/A ашиглан бүх зүйлийг сонгоод хуулна уу.
- Үүнийг arduino засварлагчийн шинэ "[name].h" таб руу оруулна уу.
Энд бүх зүйл сайн байгаа тул хөтөлбөр рүүгээ орцгооё.
- "#Include" "RagePenny.h" "гэсэн бичвэрийг хаана байгааг олоод доорх шинэ мөрөнд хуулж тавина уу.
- "RagePenny.h" -ийг шинэ файлдаа нэр өгсөн зүйл болгон өөрчил.
- Одоо "#include" RagePenny.h "гэж тайлбар бичээрэй, урд нь урагш хоёр ташуу зураас (//) нэмж оруулаарай.
- Програмыг байршуулна уу!
Хэрэв бүх зүйл сайн болсон бол энэ нь өөрийн MIDI файлыг тоглуулах ёстой. Үгүй бол шинэ табын нэр болон "#include" RagePenny.h "" -д оруулсан нэр ижил байгаа эсэхийг дахин шалгана уу. Бусад алхамуудыг шалгаад бүх зүйлийг зөв хийсэн эсэхээ шалгаарай. Зарим MIDI файлууд зүгээр л ажилладаггүй, гэхдээ тэдгээр нь ховор байдаг.
Алхам 16: Фин
Бүх зүйл танд сайн болсон гэж найдаж байна, тэгээд та шинэ амьдрал өгсөн эртний технологийн нэг хэсэг болох MIDI файлуудыг задалж байна!
Гэсэн хэдий ч хэрэв тийм биш бол бүү бууж өг! Сэтгэгдлээ өөрийн замаар явуулаарай, би туслахдаа баяртай байх болно. Мэдээжийн хэрэг, сэтгэгдлээр надад саналаа чөлөөтэй хэлээрэй.
Чиптоны мэнд хүргэе!
Зөвлөмж болгож буй:
Өөрийн чимэг чимэг никси цагийг RTC ашиглан хий!: 7 алхам (зурагтай)
Өөрийн чимэг чимэг цагийг RTC -ээр хий! Энэ төсөлд би чимэг nixie цаг хэрхэн бүтээхийг танд үзүүлэх болно. Энэ нь би танд өндөр хүчдэлийн тогтмол гүйдлийн тэжээл бүхий nixie хоолойг хэрхэн удирдахыг харуулах болно гэсэн үг бөгөөд дараа нь 4 никси хоолойг Arduino, Real Time Clock (RTC) болон кубтэй хослуулах болно гэсэн үг юм
Ардуинотой шидэт саваа танилцуулах: 3 алхам
Arduino -той хийсэн илбэчин саваа: Энэхүү төхөөрөмжийг илтгэх явцад компьютерийг хулгана эсвэл гар ашиглан шууд удирдахгүйгээр компьютерийн хэрэгслүүдэд нэвтрэх боломжийг нэмэгдүүлэх зорилготой юм. Шидэт саваа олон янзаар шударснаар хөтлөгч нь
Ардуинотой гитарын баатар: 4 алхам
Arduino -той гитар баатар: Arduino нь хэрэглэгчид хүссэн бүх зүйлээ бага хэмжээний кодоор тохируулах боломжийг олгодог. Би гитар баатар тоглоомыг тохируулах хурд, эзлэхүүн, олон тоглоомын горимоор хөгжүүлэхээр шийдсэн. Энэ төсөл нь мөн 3 АА батерейгаар цэнэглэгдэх боломжтой тул
Загвар хийхэд тохиромжтой чимэг чимэг загвар: 14 алхам (зурагтай)
Загвар хийхэд тохиромжтой чимэг чимэг загвар: "Breadboard" гэсэн нэр томъёо хаана байдаг талаар та бодож байсан уу? аас ирсэн? Талхны самбар гэж юу болохыг харуулсан жишээ энд байна. Электроникийн эхэн үед эд ангиуд нь том, төвөгтэй байв. Тэдэнд транзистор эсвэл нэгдсэн тойрог байгаагүй
3.5мм 5.1 Дууны дууны унтраалга / задлагч хайрцаг: 5 алхам
3.5mm 5.1 Surround Sound Switch / Splitter Box: Надад шийдвэрлэх шаардлагатай асуудал гарлаа. Би DVI -ийг авдаг Dell 2709w дэлгэц худалдаж авсан бөгөөд 5.1 гаралт бүхий гурван 3.5 мм үүртэй, ногоон, улбар шар, Хар. Би Xbox 360 -аа HDMI -ээр дамжуулан дэлгэцэнд холбосон байсан