Агуулгын хүснэгт:

MIDI Sonar "Theremin": 10 алхам (зурагтай)
MIDI Sonar "Theremin": 10 алхам (зурагтай)

Видео: MIDI Sonar "Theremin": 10 алхам (зурагтай)

Видео: MIDI Sonar
Видео: Open Theremin with MIDI Musical Instrument Digital Interface 2024, Арваннэгдүгээр
Anonim
MIDI Сонар
MIDI Сонар

Энэ бол хөгжмийн зэмсэг бөгөөд хоёр дууны зайны мэдрэгч ашиглан нотын давтамж, чанарыг хянадаг. Энэ бол үнэхээр теремин биш, гэхдээ "Theremin" гэдэг нь гараа даллахад тоглодог хөгжмийн зэмсгийн ерөнхий нэр томъёо болсон.

Энэ нь MIDI синтезатор, өсгөгч, чанга яригчтай. Хөгжмийн нотуудыг VS1053 MIDI чип үйлдвэрлэдэг бөгөөд 127 дуу хоолойтой (өөрөөр хэлбэл өөр хэрэгслүүд гэх мэт). Энэ нь полифонийн өндөр зэрэгтэй (64 хүртэл) тул ганц нот эсвэл хөвч тоглуулах боломжтой.

Таны баруун гар тоглож буй тэмдэглэлийг хянадаг. "Дискрет" горимд баруун талын зайг "бинк" гэж хуваана. Таны гар хогийн саванд ороход тэр хогийн савны тэмдэглэл эхэлнэ. Таныг хогийн савнаас гарах үед тэмдэглэл зогсох (жишээлбэл, эрхтэн) эсвэл аяндаа үхэх (жишээ нь төгөлдөр хуур) байж магадгүй.

"Тасралтгүй" горимд баруун талын зай нь анхны Theremin шиг тасралтгүй хувьсах давтамжийг тодорхойлдог. Тэмдэглэл таны гар орон зай руу ороход эхэлж, зайнаас гарах үед зогсдог.

Таны зүүн гар тоглож буй тэмдэглэлийн чанарыг хянадаг. Энэ нь дууны хэмжээ, тремоло, вибрато, давшилт, реверб гэх мэтийг хянах боломжтой.

Жижиг LCD дэлгэц нь одоогийн багаж, зүүн гарын үйл ажиллагаа, баруун гарны масштаб (эсвэл "түлхүүр"), вибрато, тремоло гэх мэтийг сонгох боломжийг олгодог цэстэй бөгөөд та өөр "Тохиргоог хадгалах, ачаалах боломжтой. "Тоглолтын үеэр тэдгээрийн хооронд хурдан шилжих.

MIDI "Theremin" багаж нь бүхэлдээ өөрийн чанга яригч, цэнэглэдэг батерейгаар ажилладаг.

Хэрэв та миний бүтээлийг хуулбарлах гэж байгаа бол танд Arduino Nano (1.50 фунт стерлинг), VS1053 модуль (4.50 фунт стерлинг), 1.44 инчийн ST7735 LCD дэлгэц (3.50 фунт стерлинг), хоёр HC-SR04 модуль (тус бүр 1 фунт) хэрэгтэй болно. мөн цөөн хэдэн резистор. Танд бас хүчирхэг чанга яригч, магадгүй литийн үүр, тэжээлийн төхөөрөмж хэрэгтэй болно, гэхдээ үүнийг хэрхэн яаж хийхээр шийдсэнээс шалтгаална. Энэ бүх нэмэлтийг би машины гутал худалдаа, буяны дэлгүүрүүдээс авсан. Ердийн цахим семинарын тоног төхөөрөмж хэрэгтэй болно.

Алхам 1: VS1053 -ийг хянах

VS1053 -ийг хянах
VS1053 -ийг хянах
VS1053 -ийг хянах
VS1053 -ийг хянах

Би зураг дээр үзүүлсэн VS1053 модулийг сонгосон. (Хоёр SOT223 зохицуулагч, хоёр үүрний залгуур, холбогчийн байрлалыг анхаарна уу.) VB1053 модулийг eBay, Alibaba эсвэл дуртай нийлүүлэгчээс хайж олоорой. Тэд Aliexpress -аас эндээс авах боломжтой.

Би үүнийг хэдэн жилийн өмнө худалдаж авсан бөгөөд eBay дээр байхгүй болсон, зөвхөн Alibaba дээр байх болно. ПХБ -ийн улаан хувилбарыг eBay дээр ашиглах боломжтой боллоо. Энэ нь функциональ байдлаар ижил төстэй боловч холболт нь өөр тул та миний схем, схемийг тохируулах хэрэгтэй болно. Би үүнийг туршиж үзээгүй байна. Хэлэлцүүлгээс (доороос) "амьд" MIDI -ийг идэвхжүүлэхийн тулд улаан ПХБ -д эсэргүүцэл нэмэх заавартай танилцах боломжтой. Эсвэл үүнийг идэвхжүүлэхийн тулд тохиргооны явцад нэмэлт команд илгээж болно.

VS1053 бол нарийн чип боловч нэлээд төвөгтэй юм. Би зөвхөн MIDI хэсгийг нь ашиглаж байна. VS1053 -ийг цуваа интерфэйсээр удирдах боломжтой боловч Arduino Nano -тэй ажиллахад илүү тохиромжтой тул би SPI автобусыг ашиглаж байна. SPI автобусаар дамжуулж буй аливаа байтыг MIDI команд гэж үзнэ.

Та вэб дээрээс MIDI командуудын жагсаалтыг олох болно. VS1053 нь заримд нь хариулдаг боловч бүгдэд нь хариулдаггүй. Miditheremin0.exe програм нь миний мэддэг програмуудыг харуулдаг.

Та VS1053 мэдээллийн хуудсыг вэбээс татаж авах боломжтой. Энэ бол асар том баримт бичиг бөгөөд үүнийг хийхэд хэцүү байна. "8.9 Дэмжигдсэн MIDI форматууд" хэсэг нь MIDI -ийн тухай бараг бүгдийг хэлдэг. "10.10 Бодит цагийн MIDI" хэсэгт MIDI-ийг идэвхжүүлэхийн тулд GPIO0 ба GPIO1-ийг ашиглах тухай ярьдаг боловч надад тусгай самбар идэвхжүүлэх шаардлагагүй болно. Та мөн MIDI мессежүүдийн жагсаалтыг татаж авах боломжтой (бүгдийг нь VS1053 дэмждэггүй).

VS1053 модулийг үзүүлсэн шиг Arduino Nano руу холбож, INO файлыг Arduino руу байршуулна уу. Би гагнуургүй талхны хавтан ашигласан. Надад одоогоор энэ зураг байхгүй байна, гэхдээ та доорх алхамаас бусад бүрэлдэхүүн хэсэгтэй талхны самбарыг харж болно.

INO ноорог нь цуваа шугамын дагуу PC -ээс байт хүлээн авч, байтыг VS1053 руу илгээдэг. Энэ бол VS1053 -ийг турших боломжийг олгодог маш энгийн програм юм. Гаралтын үүрний залгуурыг чихэвч эсвэл компьютерийн чанга яригчтай холбоно уу.

Windows Miditheremin0.exe програм (github -аас Step1.zip -ийг татаж авах) нь VS1053 руу тушаал илгээдэг. Тэмдэглэл тоглуулахын тулд "90 note vel" товчийг дарна уу. Эсвэл та өөрийн Windows програмыг бичиж болно. Эсвэл вэб дээр байгаа олон терминал програмуудын аль нэгийг ашиглана уу.

VS1053 модуль нь дараах голтой байна.

  • SPI автобус нь ердийн MISO, MOSI, SCLK -тэй
  • хэрэв XRST бага байвал чипийг дахин тохируулна
  • XDCS нь SPI горимд юу ч хийдэггүй тул үүнийг XCS -тэй холбоно уу
  • XCS бол Chip Select юм
  • DREQ нь чип шинэ командыг авахад бэлэн болсныг хэлдэг.

Таныг байт илгээж байх үед XCS -ийг хамгийн бага байлгах ёстой; дараа нь өндөр. Ингэснээр та байт бүрийн эхний битийг синхрончилсон гэдэгт итгэлтэй байна. DREQ -ийг унших нь чип нь шинэ командыг хүлээн авахад бэлэн байгааг хэлдэг.

Arduino байт явуулсны дараа цагийг сольж, VS1053 -т хариуд нь байтыг буцааж илгээхийг зөвшөөрөхийн тулд дамми байт илгээх ёстой. SPItransfer () функц нь хэрхэн хийхийг харуулдаг.

EBay дээр байгаа улаан модуль нь SD картны үүртэй тул хэд хэдэн нэмэлт зүүтэй болно. Тэднийг үл тоомсорлоорой.

Одоо та VS1053 -ийг ажиллуулж чадна гэдэгтээ итгэлтэй байна, бид үүнийг илүү хөгжмийн зэмсэг болгон хувиргах болно.

Алхам 2: Sonars ашиглах

Sonars ашиглах
Sonars ашиглах
Sonars ашиглах
Sonars ашиглах

HC-SR04 модулийг Arduino Nano-д үзүүлсэн шиг холбож, INO файлыг Arduino руу байршуулна уу.

Схемд HC -SR04 модулийн салгах конденсатор болох DC3 нь HC -SR04 модульд ойрхон холбогдсон байх ёстойг анхаарна уу. Тэд DC3 -ийг нийлүүлэхэд тусалдаг дамжуулахдаа маш их гүйдэл авдаг.

Төслийн энэ үе шатанд Windows PC нь VS1053 руу тушаал илгээдэг боловч VS1053 нь HC-SR04 дууны мэдрэгчээр хянагддаг (github дээрээс Step2.zip татаж авах).

Шинэ тушаалууд бүгд 0xFF -ээс эхэлдэг бөгөөд Arduino -ийн ноорогоор тайлбарлагддаг (VS1053 руу шууд илгээхээс илүүтэйгээр). "FF-command" бус байтуудыг VS1053 руу илгээдэг.

Багаж хэрэгслийг өөрчлөх, масштабыг өөрчлөх, вибрато, тремоло нэмэх гэх мэт тушаалууд байдаг. Хөтөлбөрийг тусдаа тэмдэглэл (төгөлдөр хуур гэх мэт) байдаг "салангид" горимд эсвэл ганц нот байдаг "тасралтгүй" горимд ажиллуулж болно. дээшээ доошоо бөхийлгөсөн (тэрэм шиг).

Энэ нь эцсийн багажийн хийх бүх зүйлийг маш сайн хийдэг боловч үүнийг компьютер удирддаг.

Зөв HC-SR04 sonar мэдрэгч нь тоглож буй тэмдэглэлийн давтамжийг сонгоно. "Дискрет" горимд баруун талын зайг "бинк" гэж хуваана. Таны гар хогийн саванд ороход тэр хогийн савны тэмдэглэл эхэлнэ. Та хогийн савнаас гарах үед тэмдэглэл зогсох (жишээлбэл, эрхтэн) эсвэл аяндаа үхэх (жишээлбэл төгөлдөр хуур) байж магадгүй. Таны гар хогийн саванд ороход хогийн сав бага зэрэг өргөжиж, ирмэг дээр нь цочрол үүсэхгүй.

GetSonar () функц нь анхны цуурай дуустал зарцуулсан хугацааг буцаана. Энэ нь HC-SR04 заримдаа мэдээлдэг маш хурдан цуурайг (үргэлжлэх хугацаа <10) үл тоомсорлодог. Хэрэв maxDuration -д цуурай ирээгүй бол maxDuration -ийг буцаана. Үргэлжлэх хугацааг тодорхой нэгжээр хэмждэггүй - энэ бол зүгээр л тоо юм.

Дискрет горимд үеийг таслан зогсоохын тулд үргэлжлэх хугацааг эхлээд шүүнэ (цуурай ирээгүй үед). MaxDuration -ийн 10 дээжийг хүлээн авсны дараа л гар байгаа гэж үзнэ. Дараа нь үргэлжлэх хугацааг дунд шүүлтүүр ашиглан шүүнэ. Дундаж шүүлтүүр нь "импульсийн" дуу чимээг сайн арилгадаг (өөрөөр хэлбэл үе үе нэмэгдэх). Шүүгдсэн хугацааг хогийн сав сонгоход ашигладаг.

Тасралтгүй горимд үе үе орхигдсон хүүхдүүдийг арилгахын тулд хугацааг дахин шүүнэ. Дараа нь экспоненциал шүүлтүүр ашиглан тэгшлэнэ. Шүүгдсэн хугацааг "давирхай нугалах" ашиглан тэмдэглэлийн давтамжийг тохируулахад ашигладаг.

Алхам 3: Дэлгэц нэмэх

Дэлгэц нэмж байна
Дэлгэц нэмж байна
Дэлгэц нэмж байна
Дэлгэц нэмж байна
Дэлгэц нэмж байна
Дэлгэц нэмж байна

Энэхүү дэлгэц нь ST7735 хянагчтай, 128x128 пиксел бүхий 1.44 инчийн өнгөт TFT LCD дэлгэц юм. EBay дээр маш олон дэлгэц байдаг, жишээ нь та багажаа том мэдрэгчтэй дэлгэцээр хөгжүүлэхийг илүүд үзэх болно. Би ST7735-ийг ашиглаагүй. хянагч, үүнийг туршиж үзэхийг хүссэн.

Би энэ ханган нийлүүлэгчдээс авсан. Үүнтэй ижил модулийг eBay дээр маш их зардаг - зурагтай ижил төстэй загварыг л авах боломжтой.

LCD нь дараах голтой байна.

  • GND газар
  • VCC 3.3V
  • SCL SPI автобус SCLK
  • SDA SPI автобус MOSI Arduino
  • RES -ийг дахин тохируулах
  • DC өгөгдөл/тушаал
  • CS чип сонгох
  • BL арын гэрэл

Модуль нь 3.3V дээр ажилладаг тул 5V Arduino -той шууд холбож болохгүй. Би хүчдэлийг бууруулахын тулд 1k резистор ашигласан. Энэ нь тийм ч сайн практик биш (ерөнхийдөө потенциал хуваагч эсвэл хүчдэл бууруулагч чип ашиглах ёстой) гэхдээ энэ хэлхээнд маш сайн ажилладаг. Би залхуу байсан.

Дэлгэц нь Arduino -ийн өгсөн 3.3V хүчдэлээр тэжээгддэг. Arduino зохицуулагч хангалттай жаргалтай байгаа бололтой.

Adafruit нь ST7735 номын санг маш эелдэгээр нийтэлдэг бөгөөд бусад хэд хэдэн номын санг Github болон бусад газраас авах боломжтой. Би хэдийг нь туршиж үзээд аль нь ч таалагдаагүй. Зарим нь зүгээр л ажиллаагүй, бүгд асар том байсан. Та Arduino -ийн ноорог зурж, зарим текстийг зурж, 75% дүүрсэн тохиолдолд санах ойг олох болно. Тиймээс би өөрийнхөө номын санг бичсэн.

SimpleST7735 номын санг татаж авах боломжтой (github дээрээс Step3.zip татаж авах).

Энэ нь бүх номын сантай маш төстэй зурах командуудын стандарт багцтай.

Татаж авах боломжтой "хурдан" номын сангийн зарим нь цаг хугацааны тусгай гогцоо ашигладаг бөгөөд бусад, магадгүй удаан төхөөрөмжүүдийг нэг автобусанд ашиглахад сэтгэл дундуур байдаг. SimpleST7735 нь угсрагч гэхээсээ илүү C хэл дээр бичигдсэн тул тийм ч хурдан биш боловч илүү зөөврийн бөгөөд SPI автобусыг бусад төхөөрөмжтэй эелдэг байдлаар хуваалцдаг. Windows програмыг татаж авах боломжтой бөгөөд энэ нь танд фонт, дүрс хийх боломжийг олгодог.

Та ST7735 мэдээллийн хуудсыг вэб дээрээс татаж авах боломжтой. Та энэнтэй ярилц

  • CS -ийг бага болгох
  • DC -ийг бага байлгах
  • командын байт илгээх
  • DC -ийг өндөр болгох
  • тэг ба түүнээс дээш өгөгдлийн байт илгээх
  • CS -ийг өндөр болгох

Та үүнийг хэрхэн хийхийг номын сангийн spiSend_TFT_CW () функц дээрээс харж болно. Өгөгдлийн байт нь пикселийн бүтэн эгнээ эсвэл хяналтын бүртгэлийн тохиргоо байж болно.

Номын сан дахь ST7735Begin () функц нь миний сонгосон командыг эхлүүлэх командыг харуулдаг. Хэрэв та өөр ST7735 дэлгэцийг сонгосон бол (жишээ нь илүү олон пикселтэй) эсвэл өөр чиглэлийг хүсч байвал тушаалуудыг өөрчлөхийг хүсч магадгүй юм. Миний код танд хэрэгтэй бол хэрхэн яаж өөрчлөхийг харахад хялбар гэж найдаж байна.

Схемд "SW1" хяналтын товчлуур ба хөлийн дөрөө SW2 "-ийг харуулав. Хяналтын товчлуур нь өөр өөр" Тохиргоо "-ыг сонгоно (дараагийн алхамыг үзнэ үү) эсвэл Цэсийн горимыг сонгоно. Хөлийн дөрөө нь заавал биш бөгөөд зөвхөн өөр өөр тохиргоог сонгодог - би тэгээгүй. Би өөрөө хөлийн дөрөө суурилуулсан. Товчлуурыг хурдан солих эсвэл багажийг солихыг хүсвэл гүйцэтгэлийн явцад тохиргоо хийх нь ашигтай байдаг.

Алхам 4: Цэсийн систем

Цэсийн систем
Цэсийн систем
Цэсийн систем
Цэсийн систем

Энэхүү Miditheremin3.ino Arduino ноорог нь MIDI Theremin -д цэсийн системийг нэмж, эцсийн иж бүрэн хэрэгслийг хянадаг.

MIDI Theremin нь ихэвчлэн "Play" горимд ажилладаг. Таны баруун гар аль тэмдэглэлийг, таны зүүн гар тэмдэглэлийн чанарыг хянадаг болохыг сонгоно. LCD нь төгөлдөр хуурын гарыг одоогийн тэмдэглэлийг онцлон харуулдаг.

Хэрэв та хяналтын товчлуурыг нэг секундын турш дарвал програм "Цэс" горимд орно. Цэс горимд, хэрэв та хяналтын товчлуурыг нэг секундын турш дарвал програм "Play" горим руу буцна.

Цэс нь үндсэн зүйлүүд болон дэд зүйлүүдтэй модны бүтэцтэй. Одоогийн цэсийн зүйлийг тодруулсан тул та зүүн талын дууны тусламжтайгаар сонголтоо дээш/доош хөдөлгөж болно. Гол зүйлийн дэд цэсийг үндсэн зүйлийг сонгосон үед л өргөжүүлдэг.

Дэд цэсийг сонгосны дараа товчлуур дээр дарахад тухайн зүйлийн үнэ цэнэ тодрох болно. Зүүн гар нь одоо утгыг өсгөж эсвэл бууруулж байна. Дах цэсийг сонгох руу буцахын тулд товчлуурыг дахин дарна уу.

Дискрет горимд цэсийн мод байна

  • Хэрэгсэл

    • 0: Их төгөлдөр хуур
    • Гар солих: хэвийн
  • Баруун гар

    Горим: салангид

  • Зүүн гар

    • Горим: Vibrato
    • Хамгийн их гүн: 10
  • Хуваарь

    • Хэмжээ: гол гептатоник
    • Октав: 2
    • Хамгийн бага тэмдэглэл: 60 хэм
  • Хөвч

    • Аккорд: Гол гурвал
    • Урвуу: 0
    • Полифони: 1
  • Тремоло

    • Хэмжээ: 20
    • Хугацаа: 10
  • Вибрато

    • Хэмжээ: 20
    • Хугацаа: 10

Энэхүү багаж нь "Гранд төгөлдөр хуур", "Сүмийн эрхтэн", "Хийл" гэх мэт байж болно. VS1053 -т 127 хэрэгсэл байдаг бөгөөд тэдгээрийн ихэнх нь ижил төстэй сонсогдож, олонх нь "буудсан" шиг тэнэг юм. Гараа солих дэд цэс нь зүүн ба баруун гарын функцийг солих боломжийг танд олгодог - магадгүй та үүнийг ингэж илүүд үздэг, эсвэл чанга яригчийг үзэгчидтэй уулзуулахыг хүсч магадгүй юм.

Баруун гар нь "Дискрет" эсвэл "Тасралтгүй" байж болно. "Үргэлжлүүлэх" цэсийг доороос үзнэ үү.

Зүүн гар нь "Volume", "Tremolo", "Vibrato", "PitchBendUp", "PitchBendDown", "Reverb", "Polyphony" эсвэл "ChordSize" -г удирдах боломжтой.

"Эзлэхүүн" гэдэг нь тодорхой байна. "Тремоло" бол эзлэхүүний хурдан өөрчлөлт юм; зүүн гар нь өөрчлөлтийн хэмжээг хянадаг; хугацааг өөр цэсээр тохируулдаг. "Vibrato" бол давирхайн хурдан өөрчлөлт юм; зүүн гар нь өөрчлөлтийн хэмжээг хянадаг; хугацааг өөр цэсээр тохируулдаг. "PitchBendUp" ба "PitchBendDown" нь тоглож буй нотын талбарыг өөрчилдөг; зүүн гар нь гулзайлтын хэмжээг хянадаг. "Reverb" нь VS1053 дээр тийм ч гайхалтай биш юм; зүүн гар нь дууны хэмжээг хянадаг. "Полифони" нь Polyphony цэсээр тогтоосон дээд хэмжээнд хүртэл хэдэн нот нэг дор тоглохыг хянадаг (доороос үзнэ үү). "ChordSize" гэдэг нь хичнээн аккорд (доороос үзнэ үү) тоглохыг зүүн гараараа хянадаг гэсэн үг юм.

Хөгжимд "масштаб" эсвэл "түлхүүр" гэдэг нь таны ашиглаж буй тэмдэглэлийн дэд хэсэг юм. Жишээлбэл, хэрэв та өөрийгөө C Major -ийн гепатоник хэмжигдэхүүнээр хязгаарлавал төгөлдөр хуурын цагаан нотоор л тоглох байсан. Хэрэв та C# Major Pentatonic -ийг сонгосон бол та зүгээр л хар нотуудыг ашиглах болно (жишээ нь Шотландын ардын аялгуунд).

Scale цэс нь баруун гарын орон зайны аль тэмдэгтийг харгалзаж, хэдэн октавыг эзлэхийг сонгоно. Хэрэв та E Major -ийн 1 октавыг сонговол баруун гар талын орон зайг хамгийн доод талдаа E, хамгийн өндөр давтамж дээр нэг октавтай 8 хогийн саванд хуваана.

Scale цэс нь танд ер бусын "барууны бус хөгжим" масштабыг сонгох боломжийг олгодог боловч бүх тэмдэглэл нь бүр хатуу гартай байдаг гэж үздэг-MIDI ингэж ажилладаг тул та тэмдэглэлийн давтамжийг хялбархан тодорхойлж чадахгүй. Тиймээс, хэрэв та Араб хэлний дөрөвний нэг өнгө аясыг хүсч байвал та асуудалтай тулгарах болно.

Октавын дэд цэс нь хүссэн масштабаас хэдэн октавыг сонгох боломжийг танд олгоно. Хамгийн бага тэмдэглэлд масштаб хаанаас эхэлснийг зааж өгсөн болно.

Ер нь нот тоглуулахад зөвхөн тэр тэмдэглэл л дуудагддаг. Chord цэс нь хэд хэдэн тэмдэглэлийг нэг дор тоглуулах боломжийг олгодог. Гол гурвалын хөвч гэдэг нь "сонгосон тэмдэглэл дээр нэмэх нь нотыг дөрвөн хагас тонноор дээш, долоон хагас тонноор дээш тоглох" гэсэн утгатай.

Inversion дэд цэс нь хөвчний урвуу байдлыг өгдөг. Энэ нь хөвчний зарим нотуудыг доорх нэг октав руу шилжүүлдэг гэсэн үг юм. Эхний урвуу нь бүх "нэмэлт" нотуудыг октаваар, хоёр дахь инверци нь нэмэлт нотнуудаас нэг цөөхөн доош буулгах гэх мэт.

Polyphony дэд цэс нь нэг дор хичнээн олон нот тоглож байгааг хэлдэг; хэрэв полифони 1 бол нэг тэмдэглэл эхлэхэд өмнөх тэмдэглэл зогсох болно; хэрэв полифони илүү том бол хэд хэдэн тэмдэглэл давхцаж болно - үүнийг сүмийн эрхтэнээр туршиж үзээрэй.

Tremolo цэс нь ямар ч тремологийн гүн, тремоло мөчлөгийн хугацааг тодорхойлдог. "100" гэсэн хугацаа нь секундэд нэг мөчлөгийг хэлнэ. Хэрэв зүүн гар нь тремолыг хянадаг бол Хэмжээ дэд цэс нуугддаг.

Vibrato цэс нь ямар ч чичиргээний хэмжээ, вибратогийн мөчлөгийн хугацааг тодорхойлдог. Хэрэв зүүн гар нь вибраторыг хянадаг бол Хэмжээ дэд цэс нуугддаг.

Хөтөлбөр нь 5 хүртэлх "Тохиргоо" -ыг хадгалах, ачаалах боломжийг танд олгоно. Тохиргоо нь цэснээс тохируулж болох бүх утгыг хадгалдаг. Цэс горимоос гарах үед одоогийн тохиргоо хадгалагдана. Тохиргоог EEPROM дээр хадгалдаг.

Тоглуулах горимд товчлуурыг дарснаар дараагийн тохиргоо руу орно. Хэрэв та товчлуурыг нэг секундын турш дарвал цэс гарч ирнэ. Хөлийн дөрөө дарах нь дараагийн тохиргоонд шилжих болно; Хөлийн дөрөө цэсийг хэзээ ч сонгодоггүй.

Тасралтгүй горимд цэс мод байна

  • Хэрэгсэл

    • 0: Их төгөлдөр хуур
    • Гар солих: хэвийн
  • Баруун гар

    Горим: тасралтгүй

  • Хамрах хүрээ

    • Хагас өнгөний тоо: 12
    • Дунд тэмдэглэл: 60 хэм
  • Зүүн гар

    • Горим: Тремоло
    • Хамгийн их гүн: 10
  • Тремоло

    • Хэмжээ: 20
    • Хугацаа: 10
  • Вибрато

    • Хэмжээ: 20
    • Хугацаа 10

Range цэс нь баруун гар талд ямар давтамжийг зааж өгөхийг сонгодог: хамрагдсан хагас дууны тоо ба дунд тэмдэглэл.

Зүүн гар нь зөвхөн "Volume", "Tremolo", "Vibrato" -г удирдах боломжтой.

Алхам 5: Үүнийг хамтдаа гагнах

Үүнийг хамтдаа гагнах
Үүнийг хамтдаа гагнах
Үүнийг хамтдаа гагнах
Үүнийг хамтдаа гагнах
Үүнийг хамтдаа гагнах
Үүнийг хамтдаа гагнах

Би хэлхээний самбар дээр хэлхээ босгосон. Би ердөө 4 резистортой ганцхан удаа ПХБ хийх нь утгагүй юм, гэхдээ зарим хүмүүс туузан дээр дургүй байдаг.

Миний судал хавтангийн зохион байгуулалтыг дээр харуулав. Дөрвөн самбар - Arduino, VS1053, дэлгэц ба туузан хавтан нь сэндвич үүсгэдэг. Байршилд Arduino -ийн тойм шар, VS1053 цэнхэр, дэлгэц нь ногоон, зурвас улбар шар өнгөтэй байна.

Цэнхэр өнгийн шугам бол туузан хавтангийн зэс тууз юм. Шаардлагатай газарт завсарлага хийх хэрэгтэй. Улаан шугамууд нь туузан хавтангийн бүрэлдэхүүн хэсэг эсвэл өөр тийш явж буй утаснуудын холбоос юм.

Би VS1053 самбар дээр Arduino-ийн дээгүүр байрладаг тул нэмэлт урт тээглүүр ашигладаг байсан. Дэлгэцийн алслагдсан булангууд болон VS1053 самбарууд нь тэдгээрийг тогтворжуулахад тусалдаг. Модулийн бэхэлгээний нүхийг бүрсэн тул та гагнах боломжтой. Танай төхөөрөмж газардуулагдаагүй байгаа эсэхийг шалгаарай - миний модулийн бэхэлгээний нүх холбогдоогүй байна.

Хэрэв танд өөр VS1053 модуль эсвэл өөр дэлгэц байгаа бол Arduino тээглүүрийг өөрчилж болно.

  • D2 -ээс D10, A0 -аас A5 -ийг хүссэн дарааллаар ашиглах боломжтой; INO ноорог эхлэхийн ойролцоо зүү дугаарыг шинэчилнэ үү
  • D11, D12, D13 нь SPI-д зориулагдсан бөгөөд дахин хуваарилах боломжгүй
  • D0, D1 нь цуврал I/O -д зориулагдсан болно
  • A6, A7 -ийг дижитал тээглүүр болгон ашиглах боломжгүй

HC-SR04 модулиуд нь хоорондоо 90 градусын зайтай, нэг ширхэг туузан хавтангаар холбогддог. Товчлуур нь тэдний хооронд байдаг. Та өөрийн дуртай загвартай болох нь эргэлзээгүй.

Хэрэв та хөл дөрөөтэй байхаар шийдсэн бол түүнийг үүрний залгуураар холбоно уу.

Алхам 6: PSU нэмэх

PSU нэмж байна
PSU нэмж байна
PSU нэмж байна
PSU нэмж байна
PSU нэмж байна
PSU нэмж байна

Би Arduino, VS1053, дэлгэцийн нийт гүйдлийг 79mA гэж хэмжсэн. Мэдээллийн хүснэгтээс үзэхэд Arduino нь 20mA, дэлгэц нь 25mA, VS1053 нь 11mA, HC -SR04 нь "ажиллах" үед тус бүр 15mA байна - тиймээс 80mA нь зөв юм шиг санагддаг.

Дэлгэц нь 25 мА багтаамжтай бөгөөд Arduino -ийн 3V3 гаралттай бөгөөд 50 мА өгдөг. Тиймээс хэлхээ нь Arduino -ийн 3V3 зохицуулагчийг дарамтлах ёсгүй.

Бид Arduino -ийн Vin зүүгээр хэлхээг тэжээж чадах уу? Би үүний хариуг вэбээс хаанаас ч олж чадахгүй байна. Энэ нь Arduino -ийн баримт бичигт ороогүй болно. Самбар дээрх 5V-ийн зохицуулагч нь (Vin-5)*80 мВт-ыг сарниулна. Түүний хамгийн их алдагдал хэд вэ? Үнэхээр хэн ч мэдэхгүй юм шиг байна. Мэдээллийн хүснэгтийн дагуу хамгийн бага зэс дэвсгэр бүхий SOT-223 багц дахь NCP1117 зохицуулагч нь 650 мВт-ыг тарааж чаддаг. Тиймээс 80 мА гүйдлийн хувьд

  • Вин Пауэр
  • 8V 240 мВт
  • 9 320
  • 10 400
  • 11 480
  • 12 560
  • 13 640
  • 14 720

Аюулгүй байхын тулд бид Вин дээр 9V -ээс хэтрэхгүй байх ёстой гэж бодож байна.

Гадаад 5V PSU нь илүү аюулгүй байх болно, гэхдээ би Arduino зохицуулагчийг ашигласан бөгөөд энэ нь зүгээр юм.

Цахилгаан хэлхээг асаахын тулд би LI-ион цэнэглэгч болон өсгөгч PSU-ийг хослуулсан модулийг сонгосон. Тэдгээрийг eBay дээр эсвэл "Li Charger Boost" хайж олох боломжтой.

Цэнэглэгч нь тогтмол гүйдэл, тогтмол хүчдэлийн алгоритмтай TC4056 чипийг ашигладаг. Та USB тэжээлийн оролтыг салгахад 2uA -аас бага зайны цэнэггүй зогсолтын горимд орно. TC4056 нь температур мэдрэх оролттой боловч модулийн самбар дээр байдаггүй (зүү нь газардсан).

Өргөлтийн хэлхээ нь 50-300мА гаралтын гүйдэл бүхий ердийн батерейны хүчдэлийн хязгаараас 87-91% -ийн үр ашигтай байдаг. (Би өөрөө хэмжиж үзээгүй.) Энэ үнэхээр сайн.

Гэсэн хэдий ч ачааллыг арилгах үед түүний "зогсолт" гүйдэл нь 0.3 мА байдаг бөгөөд энэ нь муу юм. 300 мА хүчин чадалтай эсийг 6 долоо хоногийн дотор зайлуулна. Магадгүй одоо хүртэл ус зайлуулах байсан бол түүний хүчдэл гэмтэх хэмжээнд хүртэл буурах байсан.

Батерейг өсгөгч PSU -тай холбосон ганц зам бий. Та замыг хялбархан хайчилж болно (зураг харна уу). Дээд талын том резистор дээр утсыг гагнана уу.

Одоогийн зурсан зураг нь миний туршсан самбартай 0.7uA байна. Тиймээс эс 50 жил үргэлжлэх болно, мэдээжийн хэрэг биш, Ли-ионы эсийн өөрөө гадагшлах хэмжээ сард 3% орчим байдаг. 300mAH эсийн сарын 3% нь 13uA гүйдэл юм. 300uA -тай хүчдэлийн хэлхээний хүчийг харьцуулж үзээрэй. Өргөлтийн хэлхээг унтраах нь зүйтэй гэж би бодож байна.

Та үүр цэнэглэж байх үед ачааллыг асааж болохгүй. Ачааллын улмаас үүссэн гүйдэл нь цэнэглэх алгоритмыг төөрөгдүүлэх болно.

Тиймээс танд "асаалттай" эсвэл "цэнэглэх" байрлалд байгаа 2 туйлтай шилжүүлэгч (жишээлбэл, слайд шилжүүлэгч) хэрэгтэй болно.

Та суулгагдсан USB залгуурыг үл тоомсорлож, унтраалга болон өөрийн USB залгуурт тусдаа утсыг гагнах боломжтой.

Эсвэл та угсарсан залгуураа хадгалж, залгуур болон чип хоорондын холболтыг тасалж болно. Дээрх диаграммд хаанаас огтлохыг зааж өгсөн болно.

PSU -ийн 5V гаралтыг Arduino -ийн 5V зүүтэй холбоно уу. Хүмүүс "Үүнийг бүү хий - та Ардуиногийн хамгаалалтын диодыг тойрч байна" гэж хэлдэг. Гэхдээ Нано диодын USB тал руу холбогдсон зүүгүй байна. Зөвхөн 5V зүү рүү холбоно уу. Юу тохиолдож болох вэ? Та 3 фунт стерлингийн үнэтэй нано алдах болно.

PSU хэлхээ нь чанга яригчийн өсгөгчийг тэжээх ёстой.

Алхам 7: Илтгэгч нэмэх

Илтгэгчийг нэмж байна
Илтгэгчийг нэмж байна

Би MIDI Theremin -ийг зөөврийн болгохыг хүссэн. Энэ нь өөрийн чанга яригч, өсгөгчтэй байх ёстой.

Та өөрөө өсгөгч бүтээх эсвэл өсгөгч модулийг худалдаж аваад дараа нь чанга яригч худалдаж аваад хайрцагт хийж болно. Гэхдээ ямар учиртай юм бэ? Миний техно-дундын дунд надад буяны дэлгүүрүүдээс худалдаж авсан хагас арваад хүчирхэг чанга яригч, машин гутал тус бүрийг 1 фунт стерлингээс хямд үнээр худалдаж авсан.

Цайвар цэнхэр чанга яригч нь 5В хүчдэлд ердөө 30 мА ашигладаг боловч басс хариу өгөх чадвар муутай байдаг. Хар радио бол сайхан хэлбэр юм - HC -SR04 модулийг буланд, дэлгэцийг дээд гадаргуу дээр суулгаж өгөхийг би төсөөлж байна. Саарал "хавтгай самбар" нь хамгийн тохиромжтой USB залгуураар тэжээгддэг.

Бага зэрэг хайсны дараа та аль хэдийн сайхан хайрцагтай хүчирхэг чанга яригчийг олох хэрэгтэй. Тэд таны цахилгаан хангамжийн хүчдэл дээр ажиллах эсэхийг шалгаарай. Хэрэв энэ нь дөрвөн АА эсээр тэжээгддэг бол 5V дээр ажиллах болно.

Гэхдээ би техно-мидденийг ухаж үзээд "бүх зүйлийг 0.50 фунт стерлингээр зардаг" лангуунаас авсан маш сайхан залгах станц олов. Энэ нь цэнэглэгч, IR алсын удирдлагаа алдсан боловч сайн ажилладаг.

Хэрэв та өөрийн хүчирхэг чанга яригч бүтээхээр шийдсэн бол энд сайн заавар байна. Эсвэл PAM8403 эсвэл өсгөгчийн зааварчилгааг хайж олоорой.

Алхам 8: Залгах станц

Залгах станц
Залгах станц
Залгах станц
Залгах станц
Залгах станц
Залгах станц
Залгах станц
Залгах станц

Энэ бол маш сайн Logitech зөөврийн залгах станц юм. Та ижил зүйлийг авах магадлал багатай боловч барилгын зарчим ижил байх болно.

Залгах станц нь өөрийн цэнэглэдэг ли-ион эс болон PSU-ийг нэмэгдүүлдэг. (Хэрэв таных биш бол дээр дурдсан PSU -г барьж, дараагийн хэдэн догол мөрийг алгасаарай.)

Хэрэв таны өсгөгч Li-ion үүртэй бол PSU-ийг нэмэгдүүлэх боломжтой. (Ли-ионы нэг эсийн хүчдэл тийм ч бага биш тул нэмэгдүүлэх шаардлагатай.)

Нэгдүгээрт, өсгөгчийн тэжээлийн холболтыг олоорой. PSU нь том тэгшлэх конденсатортой болно - хог хаягдал ПХБ -ийн зургийг үзнэ үү. Доод талын гагнуурын дэвсгэр дээрх хүчдэлийг хэмжинэ. Сөрөг дэвсгэр нь хэлхээний "газрын" дэвсгэр байх ёстой. Хэрэв pcb үерээр дүүрсэн бол үүнийг нунтаглана. Эсвэл газар нь самбар дээрх олон газарт очдог зузаан зам байж болно.

Өсгөгчийн гаралтын үе шатанд том конденсаторууд байж магадгүй - энэ бол үүнийг хийх хуучин арга юм. Ажиллаж байх үед тэдгээрийн хүчдэлийг хэмжинэ. Энэ нь хөгжмөөс хамаарч өөр өөр байх бөгөөд цахилгаан хангамжийн конденсаторын хүчдэлийн тал хувь нь байж магадгүй юм. Эдгээр нь буруу конденсатор юм - та PSU -д байгаа төхөөрөмжүүдийг хүсч байна.

Удирдах зөвлөл эерэг ба сөрөг аль аль нь байх магадлал багатай (том стерео цахилгаан өсгөгч байдаг, гэхдээ би ийм хөнгөн жинтэй байхыг хэзээ ч харж байгаагүй). Үнэхээр газар, эерэг хүчийг сонгосон эсэхээ шалгаарай.

Миний ашиглаж байгаа Logitech залгах станц нь дижитал хэлхээ, аналог өсгөгчтэй. Хэрэв таных ийм бол 5V эсвэл 3.3V -ийн тэгшлэх конденсатортой байх ба магадгүй өсгөгчийн хувьд 9V байх болно. Бүх том конденсаторуудын хүчдэлийг хэмжиж хамгийн том хүчдэлийг сонгоно уу.

Таны сонгосон тэжээлийн холболтын хүчдэл асаах/унтраах унтраагчаас хамаарч байгаа эсэхийг шалгаарай. (Шилжүүлэгчийг унтраахад конденсатор хоосороход хүчдэл буурахад хэсэг хугацаа шаардагдана.)

Цахилгааны эх үүсвэр болгон сонгосон бүх зүйлд утас гагнах. Logitech залгах станц нь ойролцоогоор 9V хүчдэл гаргадаг бөгөөд энэ нь Arduino -ийн Vin зүүтэй сайн холбогддог.

Таны хүчирхэг чанга яригч эсвэл залгах станц нь аудио оролтонд зориулж 3.5 мм үүртэй байх ёстой. Гагнуурын холболтын нэг нь газардсан байх болно - энэ нь хавтангийн ирмэг дээр хамгийн ойр байх болно. Ом хэмжигчийг ашиглан энэ нь таны бодож байгаа зүйлтэй холбогддог эсэхийг шалгаарай. Зарим аудио оролтын тусламжтайгаар үүрний "бамбай" нь газардуулгатай шууд холбогддоггүй. Хөвч байна. Тиймээс, хэрэв үүрний аль нэг нь зүүгүй бол одоогоор санаа зовох хэрэггүй. (VS1053 модуль дээрх үүрний "бамбай" бас хөвж байна.)

Тоолуур ашиглан үүрний "газардуулсан" зүү нь тэжээлийн тэжээлийн газардуулгатай ижил хүчдэлтэй эсэхийг шалгаарай.

Logitech залгах станц хачин байсан. Хэрэв би Logitech үүрэн залгуурын "газардуулгыг" VS1053 хавтангийн "газардуулгатай" холбосон бол (аудио кабель ашиглан энэ нь сайн ажилласан боловч миний Теремин системийн гүйдэл 80 мА -аас 200 мА хүртэл нэмэгдсэн. Тиймээс би үүнийг хийсэн. Би энэ хоёр "үндэслэлийг" холбосонгүй. Энэ нь сайн ажилладаг, гэхдээ юу болсныг би мэдэхгүй байна.

Алхам 9: Хэргийг гаргах

Кейс хийх
Кейс хийх
Кейс хийх
Кейс хийх
Кейс хийх
Кейс хийх
Кейс хийх
Кейс хийх

Та ямар хэрэг хийх нь танд өгөх ёстой материал, түүнтэй ажиллахад юу таалагдах, хүчирхэг чанга яригчаас хамаарна. Хийж буй бүх зүйл нь дуу авиаг бие биенээсээ холдуулж, 45 ° хүртэл дээш харуулах ёстой. Дараа нь дэлгэцийн дэлгэц, товчлуур байх болно.

Хэрэв та миний бусад Instuctables -ийг харсан бол би цагаан тугалганы хайруулын тавгийг маш их сонирхдог гэдгийг мэдэх болно. Үүнийг нугалж, зөөлөн гагнаж, будаж болно. Гэрэл зургууд нь миний юмсыг хэрхэн яаж зохицуулсныг харуулдаг.

Дээд талын гурвалжин нь цагаан тугалган хавтанг нугалж, гагнах, дүүргэх, тэгшлэх, будах хэлбэрээр хийдэг. PCB-ийг гурвалжинд халуун цавуугаар наасан бөгөөд модны жижиг хэлтэрхийнүүд нь тусгаарлагчийн үүргийг гүйцэтгэдэг.

"Урд самбар" нь 1 мм полистирол хуудас юм. Илүү полистирол хавтангаар хийгдсэн бөгөөд өөрөө түншдэг эрэг нь туузны хавтанг бэхжүүлдэг. Модон тулгуурыг залгах станцын урд талын хөндийд халуун цавуугаар наасан бөгөөд компьютеруудыг урт өөрөө түншээд эрэг шургаар шургуулдаг.

Би 3D-ийг ямар нэгэн байдлаар хэвлэж болох байсан гэж бодож байна, гэхдээ би явж байхдаа зүйлийг тохируулах хуучин сургуулийн аргыг илүүд үздэг. Юм хийх нь "инженерчлэл" гэхээсээ илүү нээлтийн аялал юм.

Алхам 10: Ирээдүйн хөгжил

Ирээдүйн хөгжил
Ирээдүйн хөгжил

Та багажийг цаашид хэрхэн хөгжүүлэх вэ? Та хэрэглэгчийн интерфэйсийг өөрчилж болно. Та товчлуурыг IR зайны мэдрэгчээр сольж болох тул инструментэд огт хүрэхгүй байх болно. Эсвэл цэсийг хянахын тулд товчлуур, зүүн гар гэхээсээ илүү мэдрэгчтэй дэлгэц ашиглаж болно.

Scale цэс нь танд "барууны бус хөгжим" масштабыг сонгох боломжийг олгодог боловч бүх тэмдэглэл нь жигд даруухан гараас хийгдсэн гэж үздэг-MIDI ийм байдлаар ажилладаг Арабын улирлын өнгөт хуваарь нь жигд бус хэмжигдэхүүнтэй байдаггүй. Бусад масштабууд нь бүр уян хатан гартай ямар ч байдлаар холбоогүй юм. Ийм тэмдэглэл гаргахын тулд pitch-bend ашиглаж болно. Тэмдэглэл бүрийн давтамжийг тодорхойлохын тулд танд цэс хэрэгтэй болно. Давхар гулзайлт нь сувгийн бүх тэмдэглэлд хамааралтай байж магадгүй гэж бодож байна. Би одоогоор зөвхөн нэг суваг ашигладаг - суваг 0. Тиймээс хэрэв энэ нь олон хэлтэй эсвэл хөвчтэй бол та тэмдэглэл бүрийг өөр сувгаар тоглуулах хэрэгтэй болно.

Энэхүү хэрэгсэл нь бөмбөрийн синтезатор болж магадгүй юм. Зүүн гар нь уянгалаг Том -ийн давтамжийг тодорхойлж чаддаг бол баруун сонарыг пиезо мэдрэгчээр сольж, бөмбөрийн дууг сонсдог.

Хоёр гар нь хоёр өөр хэрэгслийг удирдах боломжтой байв.

Зүүн гар нь багаж сонгох боломжтой.

Энэ төслийн дундуур би Zeppelin Design Labs -ийн Altura MkII Theremin MIDI хянагчийг олж мэдсэн. Энэ нь нарийн багаж шиг харагдаж байна.

Тэд үзэх ёстой хэд хэдэн видеог агуулдаг:

(Би Альтурагаас "бинк" гэдэг үгийг хулгайлсан бөгөөд таныг дотор нь байхын тулд хогийн сав томордог гэсэн санаа.)

Миний MIDI Theremin нь Altura -аас цөөн хэдэн зүйлээр ялгаатай. Уурхай нь MIDI синтез, өсгөгч гэх мэт өөрийн дуу чимээг гаргадаг. Алтура гадаад синтез рүү мессеж илгээдэг. Та тэдний хийх аргыг илүүд үзэж магадгүй юм. Миний хувьд 7 сегменттэй дэлгэцээс илүү TFT дэлгэцтэй - энэ нь илүү дээр юм, гэхдээ том дэлгэц нь сайжруулалт болно гэж та бодож магадгүй. Минийх параметрүүдийг тохируулахдаа цэсийг ашигладаг бол тэднийх товчлуурыг ашигладаг. Оролт төхөөрөмж (sonars) болон синтезийн хувьд маш их хяналт шаардлагатай байдаг тул цэс шаардлагатай байдаг; Алтурад цөөн тооны хяналт хэрэгтэй. Магадгүй амьд тоглолтын үеэр хаалганы бариул илүү сайн байдаг. Магадгүй миний товчлуур байх ёстой. Тохиргоог сонгох товчлуур нь сайн байж магадгүй юм.

Altura нь "Articulation" хяналттай бөгөөд тэмдэглэлийг хэр хурдан тоглохыг тохируулдаг. Би үүнийг програм хангамждаа оруулаагүй болно - магадгүй энэ нь тэнд байх ёстой. Altura нь Arpeggiator (алхам дараалал) төхөөрөмжтэй. Сайхан санаа байна; Миний хувьд ижилхэн биш хөвчнууд байдаг.

Ингээд л боллоо. MIDI-Theremin-ийг барьж ашиглах нь танд таалагдана гэж найдаж байна. Хэрэв та миний тайлбараас ямар нэгэн алдаа олж эсвэл сайжруулах талаар бодож байвал надад мэдэгдээрэй.

Зөвлөмж болгож буй: