Агуулгын хүснэгт:
- Хангамж
- Алхам 1: 5V Midi төхөөрөмжийг жолоодохын тулд USB Mini Host Shield -ийг бэлтгэх
- Алхам 2: USB Mini Shield -ийг Arduino Nano -тойгоо холбоно уу
- Алхам 3: Чипс байгаа хүн байна уу? 4MHz Osc -тэй SN76489 -ийг нэмж байна. болон 595 ээлжийн бүртгэл
- Алхам 4: Зүгээр л код нэмээрэй - Номын санг нэмж, кодыг эмхэтгэж, байршуулна уу
- Алхам 5: Өсгөгч ба чанга яригчийг холбож, USB Midi гараа холбоод тест хийнэ үү
- Алхам 6: 5V хүчдэлийн зохицуулагч, 12V холбогч, асаах/унтраах унтраалга, цахилгаан LED ашиглан хэлхээг бөглөнө үү
- Алхам 7: Хайрцагт хийж, будаж, шинэ синтусаа сайхан өнгөрүүлээрэй
Видео: Arduino Nano ашиглан SN76489 USB MIDI Synth бүтээцгээе: 7 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
80-аад оны үеийн хуучин чип ая дээр үндэслэн өөрийн синтезаторыг бүтээхийг хүсч байсан уу? Эдгээр хуучин Sega Master System болон Megadrive видео тоглоомууд шиг санагддаг энгийн полифон аялгууг тоглоорой?
Надад eBay болон midi хост интерфэйсээс хэд хэдэн SN76489 чип захиалж, зураг авалт хийлээ. Энэ бол миний хувьд цэцэрлэгт хүрээлэнгээр зугаалах явдал биш байсан ч надад хором мөч бүр таалагдсан.
Эхлээд би SN76489 -тэй шууд холбогдож, түүнтэй дуу чимээ гаргахыг сурсан. Үүнд зарим ойлгомжгүй элементүүд байсан боловч The Oddbloke Geek Blog болон бусад хэдэн жишээг ашиглан бичил схемийн тодорхойлолтын баримт бичгийн хамт энгийн arduino номын санг бий болгож чадсан юм.
Дараа нь би USB мини бамбайтай midi гартай хэрхэн харьцах талаар сурах ёстой байв. Зарим баримт бичиг байгаа бөгөөд тодорхой номын сантай сайн номын сан байдаг тул энэ нь тийм ч хэцүү биш байв.
Би чипийг хэрхэн хянах, USB midi гараа хэрхэн интерфэйслэхээ ойлгосны дараа хийх ёстой зүйл бол энэ бүгдийг ороосон код бичиж, чипийг удирдах гарыг ашиглах явдал юм.
Замдаа би 0x2f хэмжээтэй midi тэмдэглэл гаргах гэж оролдсоноосоо бага давтамжтай дуу сонсогдож байгаа нь тийм ч зөв биш болохыг олж мэдээд 0x28 -аас 0x2f хооронд ямар ч midi тэмдэглэлд дуу чимээ үүсгэгч рүү дуу чимээ илгээхийг зөвшөөрөхийн тулд үүнийг ашиглахаар шийдлээ. мөн midi 0x28 -аас доогуур байвал дорно дахины араб гараар тэмдэглэл тоглохыг зөвшөөрнө үү.
Эргээд харахад маш хөгжилтэй, бүтээхэд маш сонирхолтой байсан.
Над шиг хөгжилтэй, сонирхолтой санагдсан гэж найдаж байна, хэрэв та өөрөө үүнийг хийвэл түүний зургийг хуваалцахад таатай байх болно гэж найдаж байна.
Хэрэв танд энэ төсөл таалагдсан бол оролцож буй уралдаанд ялахын тулд доор саналаа өгөөрэй
Хангамж
Би энэ төсөлд зориулж худалдаж авах боломжтой материалын холбоосыг нэмж оруулсан боловч хуучин электроникаас хусах боломжтой олон зүйлийг олж авах боломжтой.
Эдгээр холбоосууд нь түншлэлийн линкүүд тул та тэдгээрийг дарсны дараа худалдаж авбал би багахан хэсгийг (аз биш) авах бөгөөд та энэ төсөлд тохирсон бүтээгдэхүүнийг авах болно. Эдгээрийг ашиглахад ямар нэгэн хураамж, нэмэлт зардал шаардагддаггүй, гэхдээ та тэдгээрийг маш амархан сольж болох ижил төстэй зүйлийг олж болно.
ebay.us/svA4z4 | 1 x гүйцэтгэлийн самбар
ebay.us/ZyEFNp | 1 x arduino нано
ebay.us/t1zy0v | 1 x USB мини бамбай
ebay.to/2QrHl1C | 1 x SN76489 дууны чип
ebay.us/aaaj8p | 1 x ээлжийн бүртгэл 595
ebay.us/DSvTHO | 1 x 4MHz давтамжтай болор осциллятор
ebay.us/XQeM0Q | 1 x 5V хүчдэлийн зохицуулагч 7805
ebay.us/6R6Fpf | Хүчдэл зохицуулагчийн 1 ширхэг дулаан шингээгч
ebay.us/xkLbn4 | 3 x 10uF конденсатор
ebay.us/pnm2BH | утаснууд
ebay.us/PMbUfY | 1 x улаан LED
ebay.us/zokHtc | LED гүйдлийн урсгалыг хязгаарлах 1 х 220 ом эсэргүүцэл
ebay.us/qjbesJ | 12 в цахилгаан хангамжийн 1 x цахилгаан холбогч
ebay.us/cS0wwv | 1 x асаах/унтраах унтраалга
тохиромжтой хайрцаг (би олон жилийн турш агуулахад амарч байсан хуучин шүүгээнээс уурхай барьсан)
Алхам 1: 5V Midi төхөөрөмжийг жолоодохын тулд USB Mini Host Shield -ийг бэлтгэх
USB мини хост бамбай нь 3.3V дээр ажилладаг бөгөөд миний ашигладаг USB midi товчлууруудад 5В хүч шаардагддаг тул USB гаралтын Vcc руу явдаг 3.3V шугамыг таслах замаар бамбайны гаралтын хүчдэлийг тохируулах шаардлагатай байдаг тул бид дараа нь холбож болно. 5V хүртэл.
Үүнийг хэрхэн хийх талаар маш олон заавар байдаг бөгөөд энэ нь маш энгийн болсон.
2k2 резистор ба Vcc шугамын хоорондох шугамыг хайчилж аваарай (хавсаргасан зургийг үзнэ үү). Би энэ шугамыг зурахдаа шургуулагч ашиглаж, тасралтгүй хэмжигчтэй ажилладаг эсэхийг шалгасан.
Алхам 2: USB Mini Shield -ийг Arduino Nano -тойгоо холбоно уу
Аз болоход үүнийг хэрхэн хийх талаар маш их мэдээлэл байгаа тул "Arduino Nano болон mini USB хост бамбай" -г хайж олох замаар би энэ сэдвийг олж авлаа
Энэ нь USB mini v2.0 бамбайг хэрхэн холбох талаар тайлбарласан бөгөөд үүнийг дагаж дууссаны дараа шууд USB midi -ийн зарим жишээг туршиж үзэв.
Утас:
Arduino Host бамбай
10--------------5
11--------------6
12--------------7
13--------------8
2----------------2
5V -------------- 1
3.3V ------------ 9
GND ----------- 3
RST ------------ 4
Энэ сэдвээр тэд 3.3V хүчдэлийг тасалж, USB 5V -ийг VBUS -ээс авах боломжтой гэж дурдсан болно.
Энэхүү тайлбар болон хавсаргасан зургууд нь энэ утаснаас ирсэн болно.
BTW, энэ самбар дээрх хэвлэмэл хуудсан дээр алдаа гарсан тул энэ нь бага зэрэг ойлгомжгүй байсан боловч миний энэ талаархи сэтгэгдлийг (тиркелко), хаанаас олж мэдсэнийг та харж байна.
Алхам 3: Чипс байгаа хүн байна уу? 4MHz Osc -тэй SN76489 -ийг нэмж байна. болон 595 ээлжийн бүртгэл
Одоо энэ гайхалтай дууг гаргах чипийг нэмэх цаг болжээ.
Би энэ чипээр arduino -той харьцах номын сан боловсруулсан бөгөөд зөвхөн миний зааврыг дагах ёстой байсан.
Номын сан нь GPLv3 (миний анхны нээлттэй эх хувилбар) дор github -д гардаг.
github.com/tyrkelko/sn76489
76489 ба 595 -ийн холболт нь номын сангийн readme.txt файлаас авсан хавсаргасан зураг дээрх шиг байсан.
76489 -ийн Бичихийг идэвхжүүлэх (NotWE) нь нано 3 -р зүүтэй холбогдсон бөгөөд кодыг өөрчилж болно.
#тодорхойлох PIN_NWWE 3
595 нь нано руу дараах байдлаар холбогдсон бөгөөд зүү дугаарыг засварлах замаар тохируулж болно.
#PIN_SER -ийг тодорхойлох 7
#PIN_LATCH тодорхойлох
#PIN_CLK тодорхойлох 5
Миний ашигладаг осциллятор бол 4 хөлтэй 4MHz болор осциллятор байсан.
Үүнийг кодонд дараах байдлаар тохируулсан бөгөөд та түүний утгыг 500 кГц -ээс 4 МГц -ийн хоорондох аливаа осцилляторын давтамжид тохируулж болно.
#давтамжийг тодорхойлох 4000000.0
Миний ашиглаж байсан осцилляторыг дараах байдлаар холбосон.
зүү 1 - холбогдоогүй
зүү 7 - газар
зүү 8 - 76489 зүү 14 -тэй холбогдсон
Алхам 4: Зүгээр л код нэмээрэй - Номын санг нэмж, кодыг эмхэтгэж, байршуулна уу
Энэхүү төсөлд ашигласан номын санг Arduino IDE -д дараах байдлаар нэмэх шаардлагатай.
Arduino IDE -ийг нээнэ үү
Дараахь номын санг IDE -ийн номын сангийн фолдерт татаж аваарай (эдгээрийг IDE "Хэрэгслүүд" цэсний "Номын санг удирдах …" цэснээс удахгүй харах болно гэж найдаж байна):
github.com/felis/USB_Host_Shield_2.0
github.com/tyrkelko/sn76489
Дараах github төслийн кодыг ашиглана уу.
github.com/tyrkelko/usb_midi_tone
Usb_midi_tone.ino татаж аваад хөрвүүлээд Arduino нано дээрээ байршуулаарай.
Алхам 5: Өсгөгч ба чанга яригчийг холбож, USB Midi гараа холбоод тест хийнэ үү
Одоо бүх зүйл ажиллаж байгааг шалгах цаг болжээ.
Үүнийг хийхийн тулд бидэнд хэрэгтэй:
1. Өсгөгч ба чанга яригч
2. USB midi гар
SN76489 зүү 7, аудио гаралтыг өсгөгчийн аудио оролттой холбоно уу.
Өсгөгчийг асаагаад дараа нь arduino наног асаана уу. Та одоо хэдхэн секундын турш асаах туршилтын дууг сонсох ёстой.
USB midi гарыг холбоод тест хийнэ үү.
Хэрэв бүх зүйл зөв хийгдсэн бол та 3 тонныг нэгэн зэрэг тоглож, 8 төрлийн дуу чимээ, тэр ч байтугай 24 EDO-Scale-ийн дөрөвний нэгийг тоглуулах боломжтой байх ёстой.
Хэрэв энэ нь ажиллахгүй бол юу буруу болохыг олж мэдэхийн тулд алхам алхмаар явна уу.
Хэрэв танд энэ нь тодорхой бус зааварчилгааны үр дүн гэж бодож байвал надад тэмдэглэл үлдээгээрэй, ингэснээр би үүнийг засахын тулд зааврыг шинэчилж байна.
Алхам 6: 5V хүчдэлийн зохицуулагч, 12V холбогч, асаах/унтраах унтраалга, цахилгаан LED ашиглан хэлхээг бөглөнө үү
Энэ алхамд та хэлхээг зөв ажиллаж байгаа эсэхийг шалгасны дараа боох боломжтой байх ёстой.
1. LM7805 болон хоёр 10uF конденсатор, 0.1uF бүхий тэжээлийн зохицуулагчийг нэмнэ. Энэ талаар маш олон гарын авлага байгаа тул та үүнийг хэрэгжүүлэхийн тулд дараах зааварчилгааг ашиглаж болно-https://www.instructables.com/id/7805-Regulator-5V…
2. 12V хүчдэлийн холбогчийг асаах/унтраах товчлуураар дамжуулж буй Vcc -ийг нэмнэ үү
3. Хязгаарлагдмал гүйдэлтэй резистор бүхий LED -ийг нэмж асаах үед зааж өгнө.
Алхам 7: Хайрцагт хийж, будаж, шинэ синтусаа сайхан өнгөрүүлээрэй
Цахилгаан хэлхээг туршиж үзээд таны хүссэнээр ажиллавал сайхан хашаа барихаас өөр хийх ажил үлдэхгүй, гайхалтай өнгөөр будаж, хөгжим тоглуулаарай.
Энэхүү зааварчилгааг унших нь танд таалагдсан гэж найдаж байна, энэ нь танд өөрийн синтез бүтээх эсвэл ажиллаж байгаа өөр төслөө хэрэгжүүлэхэд урам зориг өгсөн гэж найдаж байна.
Асуух зүйлээ доор бичээрэй, хэрэв та энэ заавар дээр үндэслэн үүнтэй төстэй зүйл бүтээсэн бол "Би үүнийг хийлээ!" Хэсэгт хийсэн зүйлээ хуваалцвал маш сайн байх болно. хэсэг эсвэл санал хүсэлтийн хэсэгт.
Зөвлөмж болгож буй:
Uno ашиглан ESP8266 WeMos D1 R1 Wifi процессор ашиглан ESP32-камер ашиглан зураг авах, илгээх: 7 алхам
ESP8266 WeMos D1 R1 Wifi процессор ашиглан Uno ашиглан ESP32-Cam ашиглан зураг авах, илгээх: Uno ашиглан ESP8266 WeMos D1 R1 WiFI процессор ашиглан ESP32-Cam (OV2640) ашиглан зураг авч имэйлд илгээж, Google Драйвт хадгалаад илгээнэ үү. Twilio ашиглан Whatsapp. Шаардлага: Uno -той ESP8266 WeMos D1 R1 WiFI процессор (https: // protosupplies
HT12D HT12E ашиглан RF 433MHZ радио хяналт - HT12E & HT12D ашиглан 433mhz ашиглан Rf алсын удирдлага хийх: 5 алхам
HT12D HT12E ашиглан RF 433MHZ радио хяналт | HT12E & HT12D -ийг 433mhz ашиглан Rf алсын удирдлага хийх: Энэхүү зааварчилгаанд би HT12E кодчилол бүхий 433mhz дамжуулагч хүлээн авах модулийг ашиглан RADIO алсын удирдлага хийхийг танд үзүүлэх болно. HT12D декодер IC. Энэхүү зааварчилгаанд та өгөгдлийг маш хямд найрлагатай ашиглан илгээх, хүлээн авах боломжтой болно: HT
Бүтээцгээе (Аналог синтез): 5 алхам
Бүтээцгээе (Аналог синтез): Энэ цувралд би аналог болон дижитал бүрэлдэхүүн хэсгүүдийг ашиглан үндсэн модульчлагдсан аналог синтезаторыг хэрхэн бүтээхийг танд үзүүлэх болно. 1mZX4LyiJwXZLJ3R56SDxloMnk8z07IYJ
2.4Ghz NRF24L01 модулийг ашиглан Arduino ашиглан утасгүй алсын удирдлага - Nrf24l01 4 суваг / Quadcopter -ийн 6 суваг дамжуулагч хүлээн авагч - Rc нисдэг тэрэг - Arduino ашиглан Rc онгоц: 5 алхам (зурагтай)
2.4Ghz NRF24L01 модулийг ашиглан Arduino ашиглан утасгүй удирдлага | Nrf24l01 4 суваг / Quadcopter -ийн 6 суваг дамжуулагч хүлээн авагч | Rc нисдэг тэрэг | Arduino ашиглан Rc онгоц: Rc машин ажиллуулах | Квадрокоптер | Дрон | RC онгоц | RC завь, бидэнд үргэлж хүлээн авагч, дамжуулагч хэрэгтэй байдаг, RC QUADCOPTER -ийн хувьд бидэнд 6 суваг дамжуулагч, хүлээн авагч хэрэгтэй гэж бодъё, энэ төрлийн TX ба RX нь хэтэрхий үнэтэй тул бид үүнийг өөрөө хийх болно
Blynk програм ашиглан USB ашиглан ухаалаг гар утсыг ашиглан Arduino -г удирдах: 7 алхам (зурагтай)
Blynk програм ашиглан USB ашиглан ухаалаг гар утсыг ашиглан Arduino -ийг удирдах Arduino эсвэл c-ээ алсаас удирдах хамгийн энгийн шийдэл