Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Электроник
- Алхам 2: LED туузыг холбох
- Алхам 3: Төслийг гар дээрээ тохируулах
- Алхам 4: Arduino код
- Алхам 5: Боломжит сайжруулалтууд…
- Алхам 6: Боллоо
Видео: MIDI2LED - MIDI хяналттай LED зурвасын гэрлийн эффект: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Энэ бол миний анхны зааварчилгаа тул намайг хүлээгээрэй.
Би хөгжим хийх дуртай, зочны өрөөний концерт гэх мэт амьд нөхцөлд тоглодог зүйлтэйгээ гэрлийн эффектүүд байвал надад таалагддаг. Тиймээс би MIDI гар дээрх тэмдэглэл дээр дарах үед LED зурвасыг санамсаргүй өнгөөр гэрэлтүүлж, тэмдэглэлийг хаана цохих болсныг Arduino-д суурилсан хайрцаг бүтээсэн.
Хангамж
- Ардуино Уно
- Arduino хамгаалалтын бүрхүүл
- MIDI үүр
- 1N4148 диод
- 6N138 opto холбогч
- эсэргүүцэл: 2x 220 Ом, 1x 10kOhm, 1x 470Ohm
- WS2812B LED зурвас (60 LED)
- үлдсэн утаснууд
- дулаан багасгадаг хоолой
- Arduino -ийн тохиромжтой бүрхүүл (би хуванцар уулзвар хайрцаг ашигладаг)
Танд бас хэрэгтэй болно
- гагнуурын төмөр ба гагнуур
- MIDI гар ба MIDI кабель
Алхам 1: Электроник
Хэлхээ нь маш энгийн. Энэ нь стандарт MIDI оролт (Arduino -ийн зүүн талд) болон LED зурвас (Arduino -ийн баруун талд) холболтоос бүрдэнэ. Бүх эд ангийг хамгаалалтын самбар дээр байрлуул, маш их зай байна. Ер нь LED зурвасыг тэжээхийн тулд гадны тэжээлийг ашиглахыг зөвлөдөг боловч тоглож байхдаа хэдхэн LED нэгэн зэрэг асдаг болохыг олж мэдсэн. Arduino +5V / GND -ийг цахилгаан гаралт болгон ашиглахад асуудал гардаггүй. (Бүх товчлуурыг нэгэн зэрэг, бүх хурдаар цохихгүй байхыг хичээгээрэй.;-)) Хэрэв та гадны цахилгаан хангамж ашиглахаар шийдсэн бол Arduino +5V ба GND зүү рүү холбоно уу. Зарим хүмүүс эдгээр хоёр шугамын хооронд 100uF конденсатор (схемд харуулаагүй) оруулахыг зөвлөж байна.
Эд ангиудыг хамгаалалтын бүрхүүлд гагнаж, диаграммд үзүүлсэн шиг LED туузыг холбоно уу.
Алхам 2: LED туузыг холбох
LED зурвасын баруун төгсгөл - оролтын төгсгөлийг хэлхээнд холбох нь чухал юм. Миний зурвас нь оролтын хувьд эмэгтэй холбогчтой бөгөөд оролтоосоо чиглэсэн жижиг гурвалжинтай. Гаралт дээр эрэгтэй холбогч байсан (үүнийг өөр зурваст холбох боломжтой), тиймээс би үүнийг таслаад Arduino -аас ирж буй гурван кабель руу гагнав. Гурван кабелийг LED туузанд холбож, харагдахгүй болгохын тулд дулаан агшаагч хоолой ашиглана уу.
Миний ашигласан LED тууз нь ардаа наалдамхай туузтай ирдэг тул MIDI гарны ар талд амархан наалддаг.
Алхам 3: Төслийг гар дээрээ тохируулах
Та LED зурвас болон Arduino кодыг гар дээрээ тохируулах хэрэгтэй болж магадгүй юм. Минийх 76 товчлууртай бөгөөд туузны урт нь гарны өргөнтэй бараг тэнцүү юм. Хэрэв танд жишээ нь 61 түлхүүр, танд богино тууз хэрэгтэй байж магадгүй юм. LED зурвасыг хоёр LED -ийн хооронд огтлох боломжтой. Зөв хэсгийг нь тасалж байгаа эсэхийг шалгаарай, оролтын төгсгөл (эмэгтэй холбогчтой) ба гаралтын төгсгөл (эрэгтэй холбогчтой), та оролтын төгсгөлийг хадгалах ёстой. Кодонд #тодорхойлолтыг өөрчилнө үү. -ийн хувьд
- Төгсгөлийг тасалсны дараа таны зурваст үлдсэн LED тооноос NUMBER_OF_LEDS,
- Таны гар дээрх товчлууруудын тоог NUMBER_OF_KEYS, болон
- MIN_KEY таны хамгийн доод түлхүүрийн MIDI давтамжийн дугаар руу орно. Та үүнийг гарны гарын авлагаас олж болно; эсвэл Linux -д зориулсан KMidiMon, Windows эсвэл Mac -д зориулсан Pocket MIDI гэх мэт MIDI тэмдэглэлийн дугаарыг харуулдаг хэрэгслийг ашиглах; эсвэл төхөөрөмж таны гарын бүх товчлуурт хариу өгөх хүртэл өөр өөр утгыг туршиж үзээрэй
Алхам 4: Arduino код
Arduino код нь дөчин долоон эффектийн MIDI номын сан (v4.3.1), Adafruit -ийн Adafruit NeoPixel номын санг (v1.3.4) ашигладаг. Arduino IDE ашиглан эдгээр номын санг суулгаарай. Дараа нь кодыг эмхэтгэн бамбай холболгүйгээр Arduino руу байршуулна уу (оптик холбогч нь RX зүүтэй холбогдсон бөгөөд энэ нь байршуулахад саад болдог). Arduino -г USB кабелиар тэжээнэ үү (би USB ханын warts ашигладаг).
Хэрэв та кодыг өөрийн үзэмжээр өөрчлөхийг хүсч байвал энэ нь хэрхэн ажилладаг талаар товч танилцуулъя: Давталт бүрт MIDI оролтыг уншдаг. Хэрэв Note On эсвэл Note Off үйл явдал хүлээн авсан бол MyHandleNoteOn эсвэл MyHandleNoteOff функцуудыг дуудна. Тэд хоёулаа түлхүүрийн дугаарын хурдыг хадгалдаг updateVelocityArray функцийг дууддаг. Хэрэв хурд нь урьд өмнө хадгалагдаж байснаас өндөр байвал харгалзах LED -ийн өнгийг "одоогийн өнгө" болгож тохируулна. MIDI үйл явдлуудыг зохицуулсны дараа updateLedArray функцийг дуудна. Энэ нь "одоогийн өнгө" -ийг шинэчилдэг (улаан, ногоон, цэнхэр утгууд нь шугаман хэлбэрээр бие даан өөрчлөгдөж, доод эсвэл дээд үзүүрт хүрэх хүртэл шугаман өөрчлөлтийн хурдыг санамсаргүй тоогоор тохируулдаг), дарагдсан тэмдэглэлийн хурдыг аажмаар бууруулж, өнгийг нь өөрчлөх шаардлагатай LED бүрийн өнгөний утгыг шинэчилдэг (шинэ тэмдэглэлийн цохилт эсвэл хурд буурснаас болж). ShowLedArray функц нь өнгийг "пиксел" гэж нэрлэдэг Adafruit_NeoPixel бүтэц рүү шилжүүлж, жинхэнэ LED нь пикселийн бүтэц дэх өнгийг харуулдаг.
Алхам 5: Боломжит сайжруулалтууд…
Төсөл хэзээ ч дуусдаггүй. Үүнийг сайжруулахын тулд үргэлж хийж болох зүйл байдаг:
- Protoshield нь маш цөөхөн хэсгийг агуулдаг бөгөөд энэ нь үнэхээр хаягдал болно; Arduino Nano, 15х7 нүхтэй ПХБ, зарим эмэгтэй зүү толгойн тусламжтайгаар ижил үр дүнд хүрэх боломжтой.
- MIDI -ийн зарим дохио алдагдах болно. Хэрэв энэ нь NoteOn бол харгалзах LED нь асахгүй; Хэрэв энэ нь NoteOff бол энэ нь унтрахгүй болно (иймээс би LED -үүдийг хязгааргүй байлгахгүйн тулд хурдны бууралтыг нэвтрүүлсэн). Би одоо ч гэсэн учрыг нь олохыг хичээж байна. Магадгүй энэ нь цаг хугацааны асуудал бөгөөд MIDI.read () -ийг илүү олон удаа дуудах хэрэгтэй.
- MIDI -ийн зарим дохиог буруу уншсан, өөрөөр хэлбэл буруу LED гэрэл асдаг. Дээрх цэгүүдтэй холбогдож болно. Бага зэрэг судлах шаардлагатай байна.
- Энэхүү хэлхээ нь хэрэглэгчийн оролцоогүйгээр (гар тоглохоос гадна) тааламжтай харааны эффект өгөх зорилготой юм. Гэсэн хэдий ч өнгийг өөрчлөх хамгийн дээд хурдыг өөрчлөх боломжтой (одоогоор #define'd MAX_COLOR_CHANGE_SPEED = 20) уншигдах потенциометрийг (Arduino -ийн аналог оролтуудын аль нэгийг ашиглан) нэмж болно гэж төсөөлж байсан. Эсвэл NoteOn хоёр үйл явдлын хоорондох дундаж хугацааг хэмжиж, үүнд нийцүүлэн MAX_COLOR_CHANGE_SPEED -ийг өөрчилж болно - удаан дуунуудад өнгө нь илүү удаан өөрчлөгдөх ёстой.
Алхам 6: Боллоо
Arduino -г USB кабелиар тэжээнэ үү (би USB ханын warts ашигладаг). MIDI гараа MIDI үүрэнд холбож, тоглож эхлээрэй. Бага зэрэг хөнгөн хөгжим тоглож байгааг минь ажиглаарай (оновчтой, муу санаатай).
Зөвлөмж болгож буй:
LED зурвасын гэрлийн хянагч: 4 алхам
LED зурвасын гэрлийн хянагч: LED зурвас нь бага хүчдэлийн хэрэглээ, гэрэлтүүлгээрээ дэлхий даяар алдартай байдаг.Заримдаа бид эдгээр LED зурвасын хүчдэлийн хангамж, гэрэлтүүлгийг тохируулах хэрэгтэй болдог, жишээлбэл, унтаж байхдаа унтаж байх үед танд төвөг учруулдаг. тод
LED зурвасын гайхалтай эффект: 4 алхам
LED зурвасын гайхалтай эффект: Сайн байна уу найз минь, бид LED зурвасын сайн эффект авахыг хүсч байна. LED зурвас манай өрөөг тохижуулж, эффект өгөхөд өрөө үнэхээр гайхалтай харагддаг. Та бид хэрхэн яаж хийхийг сурах болно
ESP8266 RGB LED зурвасын WIFI хяналт - NODEMCU нь Wifi -ээр удирддаг Led зурвасын IR алсын удирдлага болгон ашигладаг. - RGB LED STRIP ухаалаг гар утасны хяналт: 4 алхам
ESP8266 RGB LED зурвасын WIFI хяналт | NODEMCU нь Wifi -ээр удирддаг Led зурвасын IR алсын удирдлага болгон ашигладаг. | RGB LED STRIP ухаалаг гар утасны хяналт: Сайн байна уу залуусаа, энэ заавар дээр бид nodemcu эсвэл esp8266 -ийг IR алсын удирдлага болгон RGB LED зурвасыг хэрхэн ашиглах талаар сурах болно, Nodemcu нь ухаалаг гар утсаар wifi -ээр хянагдах болно. Үндсэндээ та ухаалаг гар утсаараа RGB LED STRIP -ийг удирдах боломжтой
Зуухны гэрлийн эффект: 4 алхам
Зуухны гэрлийн эффект: Өвлийн урт, хүйтэн өдрийн дараа байшингийнхаа дулаан орчинд задгай зуухныхаа өмнө суух нь сайхан биш гэж үү? Ихэнх хүмүүст задгай зуух байдаггүй, гэхдээ харц, галын гэрэл ч гэсэн таныг болон таны хүйтэн зүрхийг дулаацуулдаг
Загвар пуужин LED гэрлийн эффект: 9 алхам (зурагтай)
Загвар пуужин LED Glow Effects: Энэ бол Let It Glow тэмцээнд оролцох миний оролцоо юм. Хэрэв танд таалагдсан бол саналаа өгөөрэй.Одоо сургууль, тиймээс финал дууссан тул би энэ зааврыг дуусгаж чадна. Үүнийг дуусгахыг сар орчим хүлээсэн боловч би маш завгүй байсан