рд▓реЗрдЦ рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИ - рдЬреЛ рдХреБрдЫ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЙрд╕реЗ рд╕реБрд▓рдн рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рд▓реЛрдЧ рдмрд╕ рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рдзрд┐ рд╕реЗ рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░, рд╢рд╛рдпрдж, рдЕрдкрдиреА рдХрд▓рд╛ рдкреНрд░рддрд┐рд╖реНрдард╛рдиреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдпрд╛ рдЧрддрд┐рд╢реАрд▓ рдкреНрд░рдХрд╛рд╢ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЬрд╛рдирдирд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред
рд╕рд╛рдордЧреНрд░реА рдХреА рддрд╛рд▓рд┐рдХрд╛
- рджреГрд╢реНрдп рдореЙрдбрд▓
- рдШрдЯрдХреЛрдВ
- рдПрд▓рдИрдбреА рд░реЛрд╢рдиреА
- рдПрд▓рдИрдбреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА
- рдорд┐рдбреА рдПрдореБрд▓реЗрдЯрд░ рдФрд░ рд╕реАрдХреНрд╡реЗрдВрд╕рд░
- Arduino рд╕рдВрдЪрд╛рд░ - рдорд┐рдбреА рдирд┐рдпрдВрддреНрд░рдХ
- рдорд┐рдбреА рдирд┐рдпрдВрддреНрд░рдХ
- рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмреЛрд░реНрдб
- рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░
- рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рднрд╛рдЧ
- рд░рд┐рдмрди рдПрдиреАрдореЗрд╢рди рдЙрджрд╛рд╣рд░рдг
- рдирд┐рд╖реНрдХрд░реНрд╖
- рдбреЗрдореЛ рд╡реАрдбрд┐рдпреЛ
- рдлрд╝рд╛рдЗрд▓реЗрдВ
рдорд┐рдбреА рд▓рд╣рд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ:
- 4 рдШрд░ рдХрд╛ рдмрдирд╛ рдПрд▓рдИрдбреА рд░реЛрд╢рдиреА,
- рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рдВрдмрд╛рдИ (50 рдФрд░ 30 рд╕реЗрдореА) рдХреЗ 4 3-рдкрд┐рди рдХрдиреЗрдХреНрдЯрд░ <-> рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░,
- рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ (рдЙрджрд╛ред рдЖрд░реНрдбрд┐рдиреЛ),
- рдмреНрд░реЗрдбрдмреЛрд░реНрдб (рдХрд╛рдлреА рдЫреЛрдЯрд╛)
- рдХрд┐рд╕реА рднреА MIDI рдирд┐рдпрдВрддреНрд░рдХ
- рдПрдореБрд▓реЗрдЯрд░ (рдЕрд░реНрдерд╛рддреН - рдПрдмреНрд▓реЗрдЯрди рд▓рд╛рдЗрд╡ + рд▓реВрдк 1)
Model 1. рджреГрд╢реНрдп рдореЙрдбрд▓
рдПрдХ рдХреБрдВрдЬреА рджрдмрд╛рдиреЗ рд╕реЗ рдкрде рдПрд▓ рдИ рдбреА рдкреНрд░рдХрд╛рд╢ рдЕрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
рдорд┐рдбреА рдирд┐рдпрдВрддреНрд░рдХ тЖТ рдПрдмрд▓рдЯрди рд▓рд╛рдЗрд╡ (ASIO рдХреЗ рд╕рд╛рде) тЖТ рд▓реВрдкрдмреА 1 тЖТ рд╣реЗрдпрд░рд▓реЗрд╕ рдорд┐рдбреА <-> рд╕реАрд░рд┐рдпрд▓ рдмреНрд░рд┐рдЬ тЖТ рдЕрд░реБрдбрд┐рдиреЛ тЖТ рдПрд▓рдИрдбреА рдЯреЙрд░реНрдЪ
рдПрдХ MIDI рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдХрдВрдкреНрдпреВрдЯрд░ рдХреАрдмреЛрд░реНрдб рдХреЛ рд╕реАрдХреНрд╡реЗрдВрд╕рд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
┬з 2. рдЕрд╡рдпрд╡
┬з 2.1ред рдПрд▓рдИрдбреА рд░реЛрд╢рдиреА
рдЯреЙрд░реНрдЪ 5050 рдПрд▓рдИрдбреА рдкрдЯреНрдЯреА рдХреЗ рд╕рд╛рде рдПрдХ WS2811 рдЪрд┐рдк , 5 рдбрд╛рдпреЛрдб рдкреНрд░рддрд┐ рдЯреЙрд░реНрдЪ рд╕реЗ рдмрдирд╛ рд╣реИред WS2811 рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдПрд▓рдИрдбреА рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреИрдкреЗрд╕рд┐рдЯрд░ рдХреЗ рд╕рд╛рде рдЯреЗрдк рдХрд╛рд░рдЦрд╛рдиреЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реЛрд▓реНрдбрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 3 рдкрд┐рди рдбреАрдЖрдИрдПрди , 5 рд╡реА , рдЬреАрдПрдирдбреА рд╣реИ ред рдЗрд╕реЗ рдмрд┐рдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдФрд░ рдкрд╛рд░рджрд░реНрд╢реА рдкрд╛рд░рджрд░реНрд╢реА рд╕рд┐рд▓рд┐рдХреЙрди рдХреЗрд╕ рдХреЗ рд╕рд╛рде рдмреЗрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред рдбрд┐рд╡рд╛рдЗрд╕ рдХреА рдПрдХ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдЙрдкрд╕реНрдерд┐рддрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, 3-рдкрд┐рди рдХрдиреЗрдХреНрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред рд╡реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВ, рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдПрд▓рдИрдбреА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЛ рд╕рд░рд▓ рдХрд░рддреЗ рд╣реИрдВред
(рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдЗрдорджрд╛рджреА 15 рд╕реЗрдореА рдЬреЗрдЖрд░ 3 рдбреАрдкреА рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЙрд░реНрдбред рд╕реНрд╡рд╛рдж рдХреЗ рд▓рд┐рдП рд▓рдВрдмрд╛рдИ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП)
┬з 2.2ред рдПрд▓рдИрдбреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдмреНрд░реЗрд░реА
Arduino рдХреЗ рд╕реНрдХреЗрдЪ рдореЗрдВ, рд╣рдо FastLED рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдк рд░рдВрдЧ рдХреЛрдб рдФрд░ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдкрд╣рд▓реА рдмрд╛рд░, рдореБрдЭреЗ рдиреАрдЪреЗ рджрд┐рдЦрд╛рдП рдЧрдП рдЬреИрд╕реЗ рдХреБрдЫ рдорд┐рд▓рд╛ред рд╕рднреА рд░реЛрд╢рдиреА рдХреЛ рдорд┐рд▓рд╛рддреЗ рд╣реБрдП, рдЖрдкрдХреЛ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рд╣рд░ рдПрдХ рдХреЛ рдЬрд╛рдВрдЪрдирд╛ рд╣реЛрдЧрд╛:
рдПрд▓рдИрдбреА рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП Arduino рд╕реНрдХреЗрдЪ рджрд┐рдЦрд╛рдПрдВ
#include "FastLED.h" #define NUM_LEDS 5 // 5 #define DATA_PIN 6 // 6- DIN ( ) // CRGB leds[NUM_LEDS]; void setup() { FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); // } void loop() { FastLED.showColor(CHSV(190,255,255)); // }
(рдпрд╣ рдПрдХ рдЬрд╛рджреВ рдХрдиреЗрдХреНрдЯрд░ рдХреЗ рдмрд┐рдирд╛ рдЯреЙрд░реНрдЪ рдХрд╛ рдПрдХ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдмрд╕ Arduino рд╕реЗрдЯ рд╕реЗ рддрд╛рд░реЛрдВ рдХреЛ рдорд┐рд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЕрд░реНрде рдЗрд╕рд╕реЗ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ)
┬з 2.3ред рдорд┐рдбреА рдПрдореБрд▓реЗрдЯрд░ рдФрд░ рд╕реАрдХреНрд╡реЗрдВрд╕рд░
рдЬрдм рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдкреНрд░рдХрд╛рд╢ рдХреА рддрд╕реНрд╡реАрд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реАрдХреНрд╡реЗрдВрд╕рд░ (рдПрдмрд▓рдЯрди рд▓рд╛рдЗрд╡) рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдПрдореБрд▓реЗрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдХреЛрдИ рднреА рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ LoopBe1 (http://www.nerds.de/en/loopbe1.html) рд▓рд┐рдпрд╛ред рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рд░рд┐рдмреВрдЯ рдХрд░реЗрдВ, рд╕реАрдХреНрд╡реЗрдВрд╕рд░ рдЦреЛрд▓реЗрдВред рд╕реАрдХреНрд╡реЗрдВрд╕рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рд╕реАрдХреНрд╡реЗрдВрд╕рд░ рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд┐рдбреА рдЪреИрдирд▓ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдП, рддрд╛рдХрд┐ рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдЪреИрдирд▓ рдХреЛ Arduino рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХреЗред
рд╣рдо рдПрдмрд▓рдЯрди рд▓рд╛рдЗрд╡ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ MIDI-OUTPUT рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╣рдорд╛рд░реЗ MIDI рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ:
рд╕реАрдХреНрд╡реЗрдВрд╕рд░ рд╕реЗрдЯрд┐рдВрдЧ рджрд┐рдЦрд╛рдПрдВ
рд╕реАрдХреНрд╡реЗрдВрд╕рд░ рдореЗрдВ рд╣рдо 2 рдорд┐рдбреА рдЯреНрд░реИрдХ рдмрдирд╛рддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдкрд░ - рд╣рдо рдХреЛрдИ рднреА рд╕рд┐рдВрдереЗрд╕рд╛рдЗрдЬрд╝рд░ рд▓рдЧрд╛рддреЗ рд╣реИрдВ (рдореИрдВ рдбреНрд░рдо рд░реИрдХ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдореБрдЦреНрдп рдирд╛рдореЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЗрд╕ рд╕рдм рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛), рдлрд┐рд░ рдЙрд╕ рдкрд░ MUTE рдХрд░реЗрдВ (рдЖрдк рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдЗрд╕ рдЯреНрд░реИрдХ рдкрд░ рд╕реАрдзреЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ) , рдФрд░ рджреВрд╕рд░рд╛ рдЦрд╛рд▓реА рдЫреЛрдбрд╝ рджреЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯрд┐рдВрдЧ рдХрд░реЗрдВ:
рд╣рдо I / O рдмрдЯрди рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЗ рд╣реИрдВ (рдЖрдХреГрддрд┐ рдореЗрдВ рдЪрд░рдг 2), рджреВрд╕рд░реЗ рдЯреНрд░реИрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдЪрд░рдг 1) рд╕реЗрдЯ рдХрд░реЗрдВред
CTRL рдмрдЯрди рджрдмрд╛рдП рд░рдЦреЗрдВ рдФрд░ рджреЛрдиреЛрдВ рдЯреНрд░реИрдХ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ (рдЖрдХреГрддрд┐ рдореЗрдВ рдмрд┐рдВрджреБ 3)ред рд╣реЛ рдЧрдпрд╛ред рдЖрдВрдХрдбрд╝реЗ рдореЗрдВ рдмрд┐рдВрджреБ 4 рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдмрд╛рдд рдХреА рдереА, рдлрд┐рд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреЛрдЯ рд╕рдВрдкрд╛рджрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
рдКрдкрд░ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ, рдХреНрд╖реЗрддреНрд░ 4 рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдиреЛрдЯ рдореИрдк рдХреЗ рд╕рдорд╛рди, рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдбреНрд░рдо рд░реИрдХ рд╕реЗрд▓ рдореЗрдВ рдХрд┐рд╕реА рднреА рдСрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбреНрд░реЙрдк рдХрд░реЗрдВ (рдореИрдВрдиреЗ рдХрд┐рдХрд╡реЙрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛), рдЙрд╕ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, "рдирд╛рдо рдмрджрд▓реЗрдВ" (рдпрд╛ CTRL) + рдЖрд░)ред
рдпрд╣ рдПрдХ рд╕рд╛рдЙрдВрдб рдХрд╛рд░реНрдб рдПрдореБрд▓реЗрдЯрд░ рд╣реИ, рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдк рдПрдХ рдХреБрдВрдЬреА рджрдмрд╛рдиреЗ рдФрд░ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдо (рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рд╕реАрдХреНрд╡реЗрдВрд╕рд░ рдХреА рдореВрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░, рдпрджрд┐ рдЖрдк рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреБрдВрдЬреА рдФрд░ рдПрд▓рдИрдбреА рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдПрдХ рджреЗрд░реА рджрд┐рдЦрд╛рдИ рджреЗрдЧреА) рдХреЗ рдмреАрдЪ рдмрд╣реБрдд рдХрдо рджреЗрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИред ред
рдЖрдк рдЗрд╕реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ , рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрди рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕реАрдХреНрд╡реЗрдВрд╕рд░ рдореЗрдВ рд╣рдо 2 рдорд┐рдбреА рдЯреНрд░реИрдХ рдмрдирд╛рддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдкрд░ - рд╣рдо рдХреЛрдИ рднреА рд╕рд┐рдВрдереЗрд╕рд╛рдЗрдЬрд╝рд░ рд▓рдЧрд╛рддреЗ рд╣реИрдВ (рдореИрдВ рдбреНрд░рдо рд░реИрдХ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдореБрдЦреНрдп рдирд╛рдореЛрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЗрд╕ рд╕рдм рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛), рдлрд┐рд░ рдЙрд╕ рдкрд░ MUTE рдХрд░реЗрдВ (рдЖрдк рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдк рдЗрд╕ рдЯреНрд░реИрдХ рдкрд░ рд╕реАрдзреЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ) , рдФрд░ рджреВрд╕рд░рд╛ рдЦрд╛рд▓реА рдЫреЛрдбрд╝ рджреЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯрд┐рдВрдЧ рдХрд░реЗрдВ:
рд╣рдо I / O рдмрдЯрди рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЗ рд╣реИрдВ (рдЖрдХреГрддрд┐ рдореЗрдВ рдЪрд░рдг 2), рджреВрд╕рд░реЗ рдЯреНрд░реИрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ (рдЪрд░рдг 1) рд╕реЗрдЯ рдХрд░реЗрдВред
- рдорд┐рдбреА рдлреНрд░реЙрдо: 1-рдбреНрд░рдо рд░реИрдХ (рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдХрд┐ рдкрд╣рд▓реЗ рдЯреНрд░реИрдХ рд╕реЗ "рд╕рд┐рдЧреНрдирд▓ рдХрд╣рд╛рдВ рд▓реЗ рдЬрд╛рдПрдВ")ред
- рдкреНрд░реА рдПрдлрдПрдХреНрд╕ (рдХрд┐рд╕реА рднреА рдореВрд▓реНрдп рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░реА рдПрдлрдПрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкрд╣рд▓реЗ рдбреЙрд░реНрдХ рд╕реЗ рдкреНрд░рднрд╛рд╡ рдПрдХ рд╕рд╛рде рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЬрд╛рдПред рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЕрдзрд┐рдХ рдкрдврд╝рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕ рдХрд╛рд░реНрдп рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛)ред
- рдореЙрдирд┐рдЯрд░: рдСрдЯреЛ
- рдорд┐рдбреА рдЯреВ: рд▓реВрдкрдмреА рдЗрдВрдЯрд░рдирд▓ рдорд┐рдбреА (рдорд┐рдбреА рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдирд╛рдо рдЪреБрдиреЗрдВ)
- Ch: 1. (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, 1 (рдкрд╣рд▓рд╛) рдЪреИрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреБрд▓ 16 рдЪреИрдирд▓ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдпрд╛рдиреА рдорд┐рдбреА рд╕рдВрджреЗрд╢реЛрдВ (рдиреЛрдЯ) рдХреА 16 рдкрд░рддреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВред рдпрд╣ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдПрд▓рдИрдбреА рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рддреЗ рд╕рдордп рд╡рд┐рднрд┐рдиреНрди рдЪреИрдирд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ)ред
CTRL рдмрдЯрди рджрдмрд╛рдП рд░рдЦреЗрдВ рдФрд░ рджреЛрдиреЛрдВ рдЯреНрд░реИрдХ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░реЗрдВ (рдЖрдХреГрддрд┐ рдореЗрдВ рдмрд┐рдВрджреБ 3)ред рд╣реЛ рдЧрдпрд╛ред рдЖрдВрдХрдбрд╝реЗ рдореЗрдВ рдмрд┐рдВрджреБ 4 рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдмрд╛рдд рдХреА рдереА, рдлрд┐рд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреЛрдЯ рд╕рдВрдкрд╛рджрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
рдКрдкрд░ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ, рдХреНрд╖реЗрддреНрд░ 4 рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдиреЛрдЯ рдореИрдк рдХреЗ рд╕рдорд╛рди, рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдбреНрд░рдо рд░реИрдХ рд╕реЗрд▓ рдореЗрдВ рдХрд┐рд╕реА рднреА рдСрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбреНрд░реЙрдк рдХрд░реЗрдВ (рдореИрдВрдиреЗ рдХрд┐рдХрд╡реЙрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдерд╛), рдЙрд╕ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, "рдирд╛рдо рдмрджрд▓реЗрдВ" (рдпрд╛ CTRL) + рдЖрд░)ред
рд╡реИрдХрд▓реНрдкрд┐рдХ: ASIO рдбреНрд░рд╛рдЗрд╡рд░
рдпрд╣ рдПрдХ рд╕рд╛рдЙрдВрдб рдХрд╛рд░реНрдб рдПрдореБрд▓реЗрдЯрд░ рд╣реИ, рдЗрд╕рдХреЗ рд╕рд╛рде рдЖрдк рдПрдХ рдХреБрдВрдЬреА рджрдмрд╛рдиреЗ рдФрд░ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдо (рддреБрд▓рдирд╛ рдХреЗ рд▓рд┐рдП, рд╕реАрдХреНрд╡реЗрдВрд╕рд░ рдХреА рдореВрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░, рдпрджрд┐ рдЖрдк рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреБрдВрдЬреА рдФрд░ рдПрд▓рдИрдбреА рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдПрдХ рджреЗрд░реА рджрд┐рдЦрд╛рдИ рджреЗрдЧреА) рдХреЗ рдмреАрдЪ рдмрд╣реБрдд рдХрдо рджреЗрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИред ред
рдЖрдк рдЗрд╕реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ , рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЛрдореЗрди рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдорд┐рдбреА рдЯреНрд░реИрдХ рдмрдирд╛рдирд╛
тЖС рдЪрд▓реЛ рд╡реНрдпрд╡рд╕реНрдерд╛ рдореЛрдб рдкрд░ рдЬрд╛рдПрдВ, рдЖрдВрдХрдбрд╝рд╛ 2 рдореЗрдВ рдХреЛрдИ рднреА рд╡рд┐рдХрд▓реНрдк рдЕрдзрд┐рдХ рдорд╣рдВрдЧреА рдПрд▓рдИрдбреА рдкрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдорд┐рдбреА рдХреНрд▓рд┐рдк рдирд╣реАрдВ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЬрд╝реЛрди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдПрдХ рдирдИ рдХреНрд▓рд┐рдк рдмрдирд╛рдПрдВред
тЖС рдиреЛрдЯреНрд╕ рдЬреЛрдбрд╝реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдКрдкрд░ рдХрд╛ рдЖрдВрдХрдбрд╝рд╛ LEFT_LONG рдЯреЗрдк рдкрд░ рдПрд▓ рдИ рдбреА рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдХреНрд░рд┐рдпрдг рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рдиреЛрдЯ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдПрд▓рдИрдбреА рддреБрд░рдВрдд рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рджрд┐рд╢рд╛ рдореЗрдВ рдЯреЗрдк рдХреА рдПрдХ рддреЗрдЬ рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ:
тЖС рдиреЛрдЯреЛрдВ рдХреЛ рдмрдврд╝рд╛рддреЗ рд╣реБрдП, рдЖрдк рдПрдХ рд▓реВрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХреЗрд╡рд▓ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрд▓рдИрдбреА рд╡реИрдХрд▓реНрдкрд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрдВрдЦ рдкрд░ рдЪрд┐рдВрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрдЦрдж рд╣реИ:
рдкреНрд░рддрд┐ рдорд┐рдирдЯ рдмреАрдЯреНрд╕ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рдХрд░, рдЖрдк рдЯреНрд░реИрдХ рдХреА рдЧрддрд┐ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:
рдпрджрд┐ рд╣рдо рд╕рдВрдЧреАрдд рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдмрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдСрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдСрдбрд┐рдпреЛ рдЯреНрд░реИрдХ рдЬреЛрдбрд╝реЗрдВ (рдЗрд╕реЗ рдХрд╛рд░реНрдп рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЦреАрдВрдЪрдХрд░)ред рддрд╛рдХрд┐ рд╕рдВрдЧреАрдд рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд╢ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЪрд▓рд╛ рдЬрд╛рдП, рд╣рдо рдПрдХ рддрд╛рдирд╛ рдзреНрд╡рдирд┐ рдХреНрд▓рд┐рдк рдмрдирд╛рддреЗ рд╣реИрдВред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАред
тЖС рдЪрд▓реЛ рд╡реНрдпрд╡рд╕реНрдерд╛ рдореЛрдб рдкрд░ рдЬрд╛рдПрдВ, рдЖрдВрдХрдбрд╝рд╛ 2 рдореЗрдВ рдХреЛрдИ рднреА рд╡рд┐рдХрд▓реНрдк рдЕрдзрд┐рдХ рдорд╣рдВрдЧреА рдПрд▓рдИрдбреА рдкрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдорд┐рдбреА рдХреНрд▓рд┐рдк рдирд╣реАрдВ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЬрд╝реЛрди рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ рдФрд░ рдПрдХ рдирдИ рдХреНрд▓рд┐рдк рдмрдирд╛рдПрдВред
тЖС рдиреЛрдЯреНрд╕ рдЬреЛрдбрд╝реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдКрдкрд░ рдХрд╛ рдЖрдВрдХрдбрд╝рд╛ LEFT_LONG рдЯреЗрдк рдкрд░ рдПрд▓ рдИ рдбреА рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕рдХреНрд░рд┐рдпрдг рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рдиреЛрдЯ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдПрд▓рдИрдбреА рддреБрд░рдВрдд рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рджрд┐рд╢рд╛ рдореЗрдВ рдЯреЗрдк рдХреА рдПрдХ рддреЗрдЬ рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИ:
тЖС рдиреЛрдЯреЛрдВ рдХреЛ рдмрдврд╝рд╛рддреЗ рд╣реБрдП, рдЖрдк рдПрдХ рд▓реВрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХреЗрд╡рд▓ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрд▓рдИрдбреА рд╡реИрдХрд▓реНрдкрд┐рдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЖрдВрдЦ рдкрд░ рдЪрд┐рдВрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрдЦрдж рд╣реИ:
рдкреНрд░рддрд┐ рдорд┐рдирдЯ рдмреАрдЯреНрд╕ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рдХрд░, рдЖрдк рдЯреНрд░реИрдХ рдХреА рдЧрддрд┐ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:
рдпрджрд┐ рд╣рдо рд╕рдВрдЧреАрдд рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдмрд╕ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдСрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдСрдбрд┐рдпреЛ рдЯреНрд░реИрдХ рдЬреЛрдбрд╝реЗрдВ (рдЗрд╕реЗ рдХрд╛рд░реНрдп рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЦреАрдВрдЪрдХрд░)ред рддрд╛рдХрд┐ рд╕рдВрдЧреАрдд рдХреЗ рд╕рд╛рде рдкреНрд░рдХрд╛рд╢ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЪрд▓рд╛ рдЬрд╛рдП, рд╣рдо рдПрдХ рддрд╛рдирд╛ рдзреНрд╡рдирд┐ рдХреНрд▓рд┐рдк рдмрдирд╛рддреЗ рд╣реИрдВред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реАред
Arduino рд╕рдВрдЪрд╛рд░ - рдорд┐рдбреА рдирд┐рдпрдВрддреНрд░рдХ
рд╣реЗрдпрд░рд▓реЗрд╕-рдорд┐рдбреАрд╕рд┐рд░рд┐рдпрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо (http://projectgus.github.io/hairless-midiserial/) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ , рдПрдХ рд╕реАрд░рд┐рдпрд▓ рдмрдирд╛рдПрдВ <-> MIDI рдмреНрд░рд┐рдЬ (рдПрдореБрд▓реЗрдЯрд░ рд╕реЗ рдХрдВрдЯреНрд░реЛрд▓рд░ / рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛):
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдорд┐рдбреА рдЗрди рдкреБрд▓ рдХрд╛ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рд╣реИ, рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рдкреБрд▓ рд╕реЗ рдЖрд░реНрдбрд┐рдиреЛ рддрдХ рдХрд╛ рдирд┐рдХрд╛рд╕ рд╣реИред рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ, рдЖрдк рдХрд┐рд╕реА рднреА MIDI рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЛ рд╕реАрдзреЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ MIDI рдХреАрдмреЛрд░реНрдб, рд▓реЗрдХрд┐рди рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕реАрдзреЗ рдХреАрдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рдЬрд╛рд╣рд┐рд░ рд╣реИ рдореБрдЭреЗ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдЪрд╛рд╣рд┐рдПред рдЖрд╡реЗрджрди, рд╣рдо рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рдЗрд╕рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдорд┐рдбреА + рд╕реАрдХреНрд╡реЗрдВрд╕рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдХрд╛рд╢ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред Minuses рдХреА - рд╕реАрдХреНрд╡реЗрдВрд╕рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛рдлреА рдзреАрд░реЗ-рдзреАрд░реЗ рд▓реЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
┬з 2.4ред рдорд┐рдбреА рдирд┐рдпрдВрддреНрд░рдХ
рдмрд┐рд▓реНрдХреБрд▓ (рдЖрдкрдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ) рдирд┐рдпрдВрддреНрд░рдХ рдЬрд┐рд╕реЗ рдПрдХ рд╕рдВрдЧреАрдд рдХреА рджреБрдХрд╛рди рдкрд░ рдЦрд░реАрджрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП)ред рдФрд░ рдЕрдЧрд░ рдЖрдк рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╕рдВрдЧреАрдд рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╢рд╛рдпрдж рдРрд╕рд╛ рдХреЛрдИ рдХреАрдмреЛрд░реНрдб рд╣реИред рдЖрдк рдЯреНрд╡рд┐рд╕реНрдЯ рдФрд░ рдЪрд╛рдмреА рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА (рдиреЛрдЯ) рдХреБрдЫ рдХрдорд╛рдВрдбреНрд╕ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ "рд▓рдЯрдХрд╛", рдЗрд╕реА рддрд░рд╣ рдЯреНрд╡рд┐рд╕реНрдЯ рдХреЗ рд╕рд╛рдеред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, 3 рдЯреНрд╡рд┐рд╕реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдорд╛рд╕реНрдЯрд░, рд░рдВрдЧ, рд╡рд┐рд▓рдВрдм рджреНрд╡рд╛рд░рд╛ рдЪрд┐рд╣реНрдирд┐рдд) рдФрд░ рдЪрд╛рд░ рдСрдХреНрдЯреЗрд╡ рдиреЛрдЯред
рдПрдмрд▓рдЯрди, рдПрдлрдПрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ, рдЖрджрд┐ рдореЗрдВред рдЖрдк рдорд┐рдбреА рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ, рдЖрдк рдкрд┐рдпрд╛рдиреЛ рдХреА рддрд░рд╣ рдПрдХ рдирд┐рдпрдорд┐рдд рдкреАрд╕реА рдХреАрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
┬з 2.5ред рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмреЛрд░реНрдб
рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЫреЛрдЯреЗ рдмреНрд░реЗрдбрдмреЛрд░реНрдб рдкрд░ рд╕рдм рдХреБрдЫ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдмреНрд░реЗрдбрдмреЛрд░реНрдб рдХреЛ рдПрдХ рдореБрджреНрд░рд┐рдд рд╕рд░реНрдХрд┐рдЯ рдмреЛрд░реНрдб (рд╕рднреА рдорд┐рд▓рд╛рдк рдХреА рдЬрд░реВрд░рдд рд╣реИ - рдпрд╣ рдЧрд┐рд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛) рдХреЗ рд╕рд╛рде рдмрджрд▓рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдЖрд░реНрдбрд┐рдиреЛ рдпрд╛ рд░реЗрдбрд┐рдпреЛ рдЙрдкрдХрд░рдг, рдПрд▓реНрдпреВрдореАрдирд┐рдпрдо рдХреЗ рд╕рд╛рде рдХреБрдЫ рджреБрдХрд╛рдиреЛрдВ рдореЗрдВ рд╣реИрдВ, рдЖрдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ ~ 300
рд╕реЛрд▓реНрдбрд░рд▓реЗрд╕ рдмреНрд░реЗрдбрдмреЛрд░реНрдб SYB-170 10x17 рдЫреЗрдж 60
┬з 3. рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░
рдПрд▓ рдИ рдбреА рдХреА рд╡рд┐рдХрд┐рд░рдг рджрд┐рд╢рд╛ рдХреЛ рдордирдорд╛рдиреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЖрдк рдХрд┐рд╕реА рднреА рдкреНрд░рддрд┐рдХреНрд╖реЗрдкрдХ рдХреЛ рдкреЗрдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рджреАрд╡рд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рд╛рд╕реНрдЯрд┐рдХ рдХрд╛ рдХреЛрдирд╛ рд▓рд┐рдпрд╛ - рдпрд╣ рдореИрдЯ, рд╕рдлреЗрдж рдФрд░ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд░реЛрд╢рди рд╣реИред рд╣рдо рдПрд▓реНрдпреВрдореАрдирд┐рдпрдо рдЯреЗрдк (рдпрд╛ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рджрд░реНрдкрдг) рдХреЗ рд╕рд╛рде рдПрдХ рдЖрдВрддрд░рд┐рдХ рдкрдХреНрд╖ (рдЗрд╕реЗ рдХрдо рдХрд░рддреЗ рд╣реИрдВ) рдХреЛ рдЧреЛрдВрдж рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реЗ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред рд╣рдо рдЧреИрд░-рд╕рд░реЗрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реБрдЖ рд╡рд┐рдХрд┐рд░рдг рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдкрд░рд╛рд╡рд░реНрддрдХ рдХреА рдПрдХ рдореИрдЯ рдЪрдордХ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕реАрдорд┐рдд (рдпрд╛рдиреА, рдРрд╕рд╛ рд▓рдЧреЗрдЧрд╛ рдХрд┐ рдкрд░рд╛рд╡рд░реНрддрдХ рдХреЗ рд╕рднреА рдпрд╛ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдЬрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЯреЗрдк рдХреА рд▓рдВрдмрд╛рдИ рддрдХ рдкрд░рд╛рд╡рд░реНрддрдХ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдЕрдиреБрдкрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ)ред рдЪрд┐рдкрдХрдиреЗ рд╡рд╛рд▓рд╛ рдЯреЗрдк рдЫрдбрд╝реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдЧреБрдгрд╛рдВрдХ рдХрдо рд╣реЛрдЧрд╛ред рдЖрдк, рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдкрд░рд╛рд╡рд░реНрддрдХ рдХреЗ рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рдкреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╡рд┐рднрд┐рдиреНрди рдмрдирд╛рд╡рдЯ рд╡рд╛рд▓реЗ рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рд╣реИрдВ рдЬреЛ рд╡рд┐рдХрд┐рд░рдг рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
┬з 4. рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рднрд╛рдЧ
рдЖрдЗрдП Arduino рдХреЗ рд╕реНрдХреЗрдЪ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЖрд╡рд╢реНрдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВрдЧреЗ, рд╕рднреА рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдЯ рдкреНрд░рдХрд╛рд░ рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗ (0 рд╕реЗ 255 рддрдХ рд╕реНрдЯреЛрд░, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдореВрд▓реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣рдо рдмрд╛рдХреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ):
рд╢реЛ рдХреЛрдб, рднрд╛рдЧ 1
// MIDI Wavy // JVLNS.ORG 2014 // #include "FastLED.h" // , #define LEFT_LONG 7 #define LEFT_SHORT 6 #define RIGHT_SHORT 5 #define RIGHT_LONG 4 #define NUM_STRIPS 4 // #define NUM_LEDS_PER_STRIP 5 // 1 // CRGB leds[NUM_STRIPS][NUM_LEDS_PER_STRIP]; // , byte colors[] = {0, 32, 64, 96, 128, 160, 192, 224, 239 }; // Master () - byte ColorBasic = 0; byte Master = 255; byte commandByte; // MIDI-, (noteOn, noteOff, Controller) byte noteByte; // ( ) byte velocityByte; // тАФ ( noteOn/Off velocity (https://www.ableton.com/en/manual/editing-midi-notes-and-velocities), Controller тАФ ). byte velocityByte1; // map() 0-127 0-255 byte noteOn = 144; // byte noteOff = 128; // byte faza = 0; // delay(faza)
рджреАрдкрдХ рдХрд╛ рдкрджрдирд╛рдо:
(рдиреЛрдЯ: 0, 1, 2, 3 - рд╕рд░рдгреА рдореЗрдВ рд╕реЗрд▓ рдирдВрдмрд░)
рдХреЛрдб, рднрд╛рдЧ 2. рд╣рдо рд╕реЗрдЯрдЕрдк () рдлрд╝рдВрдХреНрд╢рди рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ :
void setup() { // Serial- 256000 Serial.begin(256000); FastLED.addLeds<NEOPIXEL, LEFT_LONG>(leds[0], NUM_LEDS_PER_STRIP); FastLED.addLeds<NEOPIXEL, LEFT_SHORT>(leds[1], NUM_LEDS_PER_STRIP); FastLED.addLeds<NEOPIXEL, RIGHT_SHORT>(leds[2], NUM_LEDS_PER_STRIP); FastLED.addLeds<NEOPIXEL, RIGHT_LONG>(leds[3], NUM_LEDS_PER_STRIP); }
рдПрд▓рдИрдбреА рд╕реНрдЯреНрд░рд┐рдкреНрд╕ рдХреЛ рдирд╛рдорд┐рдд рдХрд░рдиреЗ рдХреА рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ рдПрдХ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдкрдЯреНрдЯреА рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред FastLED рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдкреГрд╖реНрда рдкрд░ рдФрд░ рдкрдврд╝реЗрдВред
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ 8-рдмрд┐рдЯ рдирд┐рдпрдВрддреНрд░рдХ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХреЛрдб рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЛрдб рдХрд╛ рдвреЗрд░ рдЗрд╕рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред рдПрд▓ рдИ рдбреА рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рдиреЗ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдпрд╣ рд╡рд┐рдзрд┐ (рд╣рдо рдмрд╛рдж рдореЗрдВ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ) рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддреА рд╣реИ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдХреАрд╕реНрдЯреНрд░реЛрдХ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ (рдЕрдиреБрднрд╡ рд╕реЗ рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рдиреЛрдЯ рдХреЗ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЬрд╛рдо рдереЗред рдЧрдгрдирд╛ рдореЗрдВ рджреЗрд░реА рдпрд╛ рдХрдореА рдХреЗ рдХрд╛рд░рдг)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрд▓ рдИ рдбреА рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдмрджрд▓рдирд╛ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рд╣рдо рд╕реАрд░рд┐рдпрд▓ рдкреЛрд░реНрдЯ рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХрд░реЗрдЧрд╛ред рд╣рдо 256000 рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рд╣реЗрдпрд░рд▓реЗрд╕ рдмреНрд░рд┐рдЬ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╣рдо рдЙрд╕реА рдЧрддрд┐ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред
рдЖрдЗрдП рдХреБрдЫ рдРрд╕реЗ рдлрдВрдХреНрд╢рдиреНрд╕ рдмрдирд╛рдПрдВ рдЬреЛ рдПрд▓ рдИ рдбреА рдХреЛ рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдЪрд╛рд▓реВ рдФрд░ рдмрдВрдж рдХрд░реЗрдВрдЧреЗ:
рдХреЛрдб рджрд┐рдЦрд╛рдПрдВ, рднрд╛рдЧ 3
// pointer() // num_strip = ( 0 3, [ ]) // num_led = num_strip // master = // color = void pointer(byte num_strip, byte num_led, byte master, byte color) { leds[num_strip][num_led] = CHSV(color, 255, master); FastLED.show(); } // blackout() void blackout(byte num_strip, byte num_led) { leds[num_strip][num_led] = CHSV(0, 0, 0); FastLED.show(); }
рдорд┐рдбреА рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░реНрдп рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ:
рд╢реЛ рдХреЛрдб, рднрд╛рдЧ 4
void checkMIDI(){ do{ // 3 if (Serial.available()){ commandByte = Serial.read();//read first byte noteByte = Serial.read();//read next byte velocityByte1 = Serial.read();//read final byte velocityByte = map(velocityByte1, 0, 127, 0, 255); Master = velocityByte; // Master Velocity // if(noteByte == 96) ColorBasic = colors[0]; if(noteByte == 97) ColorBasic = colors[1]; if(noteByte == 98) ColorBasic = colors[2]; if(noteByte == 99) ColorBasic = colors[3]; if(noteByte == 100) ColorBasic = colors[4]; if(noteByte == 101) ColorBasic = colors[5]; if(noteByte == 102) ColorBasic = colors[6]; if(noteByte == 103) ColorBasic = colors[7]; if(noteByte == 104) ColorBasic = colors[8]; // if (commandByte == 176 && noteByte == 22)ColorBasic = velocityByte; // Color if(commandByte == 176 && noteByte == 21) Master = velocityByte; // Master if(commandByte == 176 && noteByte == 23) faza = velocityByte; // Velocity // LEFT_LONG if(noteByte == 36) { //C1 if(commandByte == noteOn) pointer(0, 0, Master, ColorBasic); else if(commandByte == noteOff) blackout(0, 0); } if(noteByte == 38) { if(commandByte == noteOn) pointer(0, 1, Master, ColorBasic); else if(commandByte == noteOff) blackout(0, 1); } if(noteByte == 40) { if(commandByte == noteOn) pointer(0, 2, Master, ColorBasic); else if(commandByte == noteOff) blackout(0, 2); } if(noteByte == 41) { if(commandByte == noteOn) pointer(0, 3, Master, ColorBasic); else if(commandByte == noteOff) blackout(0, 3); } if(noteByte == 43) { if(commandByte == noteOn) pointer(0, 4, Master, ColorBasic); else if(commandByte == noteOff) blackout(0, 4); } // end left_long // LEFT_SHORT if(noteByte == 45) { if(commandByte == noteOn) pointer(1, 0, Master, ColorBasic); else if(commandByte == noteOff) blackout(1, 0); } if(noteByte == 47) { if(commandByte == noteOn) pointer(1, 1, Master, ColorBasic); else if(commandByte == noteOff) blackout(1, 1); } if(noteByte == 48) { if(commandByte == noteOn) pointer(1, 2, Master, ColorBasic); else if(commandByte == noteOff) blackout(1, 2); } if(noteByte == 50) { if(commandByte == noteOn) pointer(1, 3, Master, ColorBasic); else if(commandByte == noteOff) blackout(1, 3); } if(noteByte == 52) { if(commandByte == noteOn) pointer(1, 4, Master, ColorBasic); else if(commandByte == noteOff) blackout(1, 4); } // end left_short // RIGHT_SHORT if(noteByte == 53) { if(commandByte == noteOn) pointer(2, 0, Master, ColorBasic); else if(commandByte == noteOff) blackout(2, 0); } if(noteByte == 55) { if(commandByte == noteOn) pointer(2, 1, Master, ColorBasic); else if(commandByte == noteOff) blackout(2, 1); } if(noteByte == 57) { if(commandByte == noteOn) pointer(2, 2, Master, ColorBasic); else if(commandByte == noteOff) blackout(2, 2); } if(noteByte == 59) { if(commandByte == noteOn) pointer(2, 3, Master, ColorBasic); else if(commandByte == noteOff) blackout(2, 3); } if(noteByte == 60) { if(commandByte == noteOn) pointer(2, 4, Master, ColorBasic); else if(commandByte == noteOff) blackout(2, 4); } // end right_short // RIGHT_LONG if(noteByte == 62) if(commandByte == noteOn) pointer(3, 0, Master, ColorBasic); else if(commandByte == noteOff) blackout(3, 0); } if(noteByte == 64) { if(commandByte == noteOn) pointer(3, 1, Master, ColorBasic); else if(commandByte == noteOff) blackout(3, 1); } if(noteByte == 65) { if(commandByte == noteOn) pointer(3, 2, Master, ColorBasic); else if(commandByte == noteOff) blackout(3, 2); } if(noteByte == 67) { if(commandByte == noteOn) pointer(3, 3, Master, ColorBasic); else if(commandByte == noteOff) blackout(3, 3); } if(noteByte == 69) { if(commandByte == noteOn) pointer(3, 4, Master, ColorBasic); else if(commandByte == noteOff) blackout(3, 4); } // end right_long if(noteByte == 72) { // C4, LEFT_LONG if(commandByte == noteOn) { for(byte i = 0; i < NUM_LEDS_PER_STRIP; i++) pointer(0, i, Master, ColorBasic); } else if(commandByte == noteOff) { // тАФ for(byte i = 0; i < NUM_LEDS_PER_STRIP; i++) blackout(0, i); } } if(noteByte == 74) { // LEFT_SHORT if(commandByte == noteOn) { for(byte i = 0; i < NUM_LEDS_PER_STRIP; i++) pointer(1, i, Master, ColorBasic); } else if(commandByte == noteOff) { for(byte i = 0; i < NUM_LEDS_PER_STRIP; i++) blackout(1, i); } } if(noteByte == 76) { // RIGHT_SHORT if(commandByte == noteOn) { for(byte i = 0; i < NUM_LEDS_PER_STRIP; i++) pointer(2, i, Master, ColorBasic); } else if(commandByte == noteOff) { for(byte i = 0; i < NUM_LEDS_PER_STRIP; i++) blackout(2, i); } } if(noteByte == 77) { // RIGHT_LONG if(commandByte == noteOn) { for(byte i = 0; i < NUM_LEDS_PER_STRIP; i++) pointer(3, i, Master, ColorBasic); } else if(commandByte == noteOff) { for(byte i = 0; i < NUM_LEDS_PER_STRIP; i++) blackout(3, i); } } // , if(noteByte == 37) { for(byte x = 0; x < NUM_STRIPS; x++) { // This inner loop will go over each led in the current strip, one at a time for(byte i = 0; i < NUM_LEDS_PER_STRIP; i++) { leds[x][i] = CRGB::Black; FastLED.show(); } } } // if(noteByte == 73){ if(commandByte == noteOn) { for(byte x = 0; x < NUM_STRIPS; x++) { for(byte i = 0; i < NUM_LEDS_PER_STRIP; i++) { leds[x][i] = CHSV(ColorBasic, 255, 255); FastLED.show(); leds[x][i] = CRGB::Black; delay(faza); // Delay } } } // end Note ON else if(commandByte == noteOff) { for(byte i = 0; i < NUM_LEDS_PER_STRIP; i++) blackout(3, i); } }// end note On // end noteByte 73 // faza , i . if(noteByte == 75 && commandByte == noteOn) { faza = map(faza, 0, 200, 0, 3); for(byte i = 255; i > 0; i--) { FastLED.showColor(CHSV(ColorBasic, 255, i)); delay(faza); } } }// end if }// end do while (Serial.available() > 2);// 3 }
рдХреЛрдб рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ: рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рджреЗрдЦрд╛, рдЬрдм рдПрдХ рдХреБрдВрдЬреА рдХреЛ рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдПрд▓рдИрдбреА рд▓рд╛рдЗрдЯреНрд╕, рдХрдИ рдПрдХ рд╕рд╛рде рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреБрдВрдЬреА рдПрдХ рдареЛрд╕ рдЪрдордХ рджреЗрдЧреА, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреЗрдк рдореЗрдВ рд╕реЗ рдПрдХ, рдЬрдм рддрдХ рдХрд┐ рдХреБрдВрдЬреА рдЬрд╛рд░реА рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдПрдХ рдПрд▓рдИрдбреА рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдЪрд┐рдХрдиреА рдмрджрд▓рд╛рд╡ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдПрдХ рд▓реВрдк рдмрдирд╛рддрд╛ рд╣реИред
рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдПрд▓рдИрдбреА рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ рдФрд░ рдмрдВрдж рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдордиреЗ 37 "RESET, TURN OFF ALL LED" рдиреЛрдЯ рдХреЛ рд╕реМрдВрдкрд╛ред
рдорд┐рдбреА рдХрдорд╛рдВрдбреЛрдВ рдореЗрдВ рдорд╛рди рдпрд╣рд╛рдВ рд╕реЗ рд▓рд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ (http://www.midi.org/techspecs/midimessages.php) , рдпрд╛ рд╕реАрдзреЗ рд╣рд┐рд░рди-рдорд┐рд╕реЗрд░реАрдЕрд▓ рдореЗрдВ рджрдмрд╛рдП рдЧрдП рдХреБрдВрдЬреА рдХреЛ рдЯреНрд░реИрдХ рдХрд░реЗрдВ:
рдЖрдк (рд▓реЗрдХрд┐рди рдЬрд░реВрд░реА рдирд╣реАрдВ) рдПрдХ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ - рд░рдВрдЧ рдореЗрдВ рд╕рднреА рдПрд▓ рдИ рдбреА рдХрд╛ рдПрдХ рд╕рд░рд▓ рдЖрдзрд╛рдиред рддрдм рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдПрдХ рд░рд╛рдд рдХреЗ рдкреНрд░рдХрд╛рд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
void Rainbow(int delay_time) { for(int hue = 0; hue < 255; hue++) { FastLED.showColor(CHSV(hue,255,255)); delay(delay_time); } }
рдХреЛрдб, рднрд╛рдЧ 5. рдФрд░ рдЕрдВрддрд┐рдо рд╕реНрдкрд░реНрд╢, рд╣рдо рд▓реВрдк рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ () рдлрд╝рдВрдХреНрд╢рди:
void loop(){ // MIDI checkMIDI(); // . , . - , , . delay(50); }
┬з 5. рдЯреЗрдк рдПрдирд┐рдореЗрд╢рди рдХрд╛ рдЙрджрд╛рд╣рд░рдг
рд▓рд╣рд░
"рд▓рдВрдмреЗ рд╕рдордп рддрдХ" рдЖрдк рдЬреЛ рдиреЛрдЯ рджрдмрд╛рддреЗ / рдЪрд┐рдкрдХрд╛рддреЗ рд╣реИрдВ, рд╡рд╣ рдЪрд┐рддреНрд░ рднреВрдд рдкреНрд░рднрд╛рд╡ рдХреЗ рдХрд╛рд░рдг рдЕрдзрд┐рдХ рдзреБрдВрдзрд▓рд╛ рд╣реЛрддрд╛ рд╣реИ:
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рд╣рдо рдХрдИ рдмрд╛рд░ рдиреЛрдЯреЛрдВ рдХреА рдирдХрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╣рд░ рдмрд╛рд░ рд╡реЗрд▓реЛрд╕рд┐рдЯреА рдиреЛрдЯреНрд╕ рдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реНрддрд░ рддрдХ рдХрдо рдХрд░рддреЗ рд╣реИрдВ, 25% рдХрд╣рддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЖрдк рдкреВрдВрдЫ рдХреЛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
┬з 6. рдирд┐рд╖реНрдХрд░реНрд╖
┬з 6.1ред рдореВрд▓реНрдп рдХрд╛ рдореБрджреНрджрд╛
- рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдПрд▓рдИрдбреА рдХреА рд▓рд╛рдЧрдд рд▓рдЧрднрдЧ 17 рд░реВрдмрд▓ рд╣реИ, рд╣рдореЗрдВ рдЗрдирдореЗрдВ рд╕реЗ 20 => 340
рдЖрд░рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред - Arduino (рд╕рдмрд╕реЗ рд╕рд╕реНрддрд╛ рдореЗрдВ рд╕реЗ рдПрдХ рдЪреБрдирд╛) 400
рдЖрд░ред - рдХрдиреЗрдХреНрдЯрд░реНрд╕ 4 рдкреАрд╕реА - рдореБрдЭреЗ рдареАрдХ рд╕реЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ, рд▓рдЧрднрдЧ 100
рдкреАрдмрд╛рд╣рд░ рдЖрдпрд╛ рдерд╛ред - рд╡рд┐рдХрд╛рд╕ рдмреЛрд░реНрдб - 60
рдЖрд░ред - рдХреБрд▓: 908
рдкреА(Arduino рд╕реЗрдЯ рд╕реЗ рддрд╛рд░реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░)
рд╕рдмрд╕реЗ рдорд╣рдВрдЧреА рдПрд▓рдИрдбреА рдФрд░ рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрджрд┐ рдЖрдк рд╡рд┐рд╖рдп рдореЗрдВ рд╣реИрдВ, рддреЛ рдЖрд░реНрдбрд┐рдиреЛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЖрдк рд╕рд╕реНрддреА рдЪреАрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
┬з 6.2ред рдЖрд╡реЗрджрди рдХрд╛ рдХреНрд╖реЗрддреНрд░
рдореВрд▓ рд░реВрдк рд╕реЗ, рдпрд╣ рдкреНрд░рддрд┐рд╖реНрдард╛рдиреЛрдВ, рд╕рдВрдЧреАрдд, рд╕рдВрд░рдЪрдирд╛рдУрдВ рдЖрджрд┐ рдХрд╛ рдкреНрд░рдХрд╛рд╢ рдбрд┐рдЬрд╛рдЗрди рд╣реИред рдХрд╛рд▓реНрдкрдирд┐рдХ рд╕реАрдорд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЕрдкрдиреЗ рдЯреНрд░реИрдХ рдХреЛ рд╣рд▓реНрдХрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд┐рдбреА рд╡реЗрд╡реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдПрд▓ рдИ рдбреА рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд╛рддрд╛рд╡рд░рдг рджреЗрдиреЗ рдФрд░ рд╕рдВрдЧреАрдд рдХреЛ рдбреНрд░рд╛рдЗрд╡ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреЗрдЦреЛ - рдорд┐рд░реНрдЧреА рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рди рдорд╛рд░реЗрдВред рдзреБрдПрдВ рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ, рдлрд┐рд░ рд╡рд┐рдХрд┐рд░рдг рдкреИрдЯрд░реНрди рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рдХреВрд▓рд░ рджрд┐рдЦрддрд╛ рд╣реИред
рдореИрдВ рдЕрдкрдиреА рдмрд╛рдЗрдХ рдХреА рдмреИрдХрд▓рд╛рдЗрдЯ рдореЗрдВ рдорд┐рдбреА рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдмрд╛рдж рдореЗрдВ рдЙрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХред
рдЖрдк рдкрд┐рдпрд╛рдиреЛ рдмрдЬрд╛рдирд╛ рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рдореЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдмрдЪреНрдЪреЗ рдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЛ рд░рдВрдЧ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЙрд╕рдХреА рдпрд╛рджрджрд╛рд╢реНрдд рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЦрд┐рд▓реМрдиреЗ рджреБрдХрд╛рдиреЛрдВ рдореЗрдВ рдмреЗрдЪреЗ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╡реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЙрдореНрдкреИрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЖрд╕рд╛рди рддрд░реАрдХреЗ рдирд╣реАрдВ рдЦреЛрдЬ рд░рд╣реЗ рд╣реИрдВ)ред
рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдореЗрдВ рдЖрдкрдХреЛ рд╢реБрднрдХрд╛рдордирд╛рдПрдВ рджреЗрддрд╛ рд╣реВрдВ! рдЕрдкрдиреЗ рдХрд╛рдо рдХрд╛ рд▓рд┐рдВрдХ рдЬрд╝рд░реВрд░ рднреЗрдЬреЗрдВред
Video 7. рдбреЗрдореЛ рд╡реАрдбрд┐рдпреЛ
Files 8. рд▓рд┐рдВрдХ рдФрд░ рдлрд╛рдЗрд▓реЗрдВ
- рд╕реНрдХреЗрдЪ Arduino рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
- Ableton рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
- MIDI рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
- рдорд┐рдбреА рд╕рдВрджреЗрд╢
- FastLED рд▓рд╛рдЗрдмреНрд░реЗрд░реА
- рдЪрд┐рдк WS2811 рдкрд░ рдбреЗрдЯрд╛рд╢реАрдЯ
- Arduino (рдЕрдВрдЧреНрд░реЗрдЬреА) рдореЗрдВ рдЕрдкрдиреЗ MIDI рдирд┐рдпрдВрддреНрд░рдХ рдмрдирд╛рдирд╛
- Arduino рд╕реЗ MIDI рдбреЗрдЯрд╛ рдХреЛ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрдВ
- Arduino рдФрд░ MIDI рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдкрдврд╝рдирд╛ (рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдорд╣рд╛рди рдЙрдкрдпреЛрдЧреА рд▓реЗрдЦ)
- рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рд╕рдВрдЧреАрдд