/
zadan
/
DMXMIDIcontroller
Обзор
Документация
Войти
/
zadan
/
DMXMIDIcontroller
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
dmx_controller.ino
42 строки
2 KB
zadan
DMX
21 ноя 2024, 10:28
21 ноя 2024, 10:28
88ad5a6
Код
Авторство
О чём код?
/* DMX controller init https://www.arduino.cc/en/Tutorial/BuiltInExamples/AnalogInput */ byte DMX23[46] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; // массив отправки на приборы int DMXmaxX1 = 0; // границы сцены приведеные к значениеям головы int DMXmaxX2 = 0; int DMXminX1 = 0; int DMXminX2 = 0; int DMXmaxY1 = 0; int DMXmaxY2 = 0; int DMXminY1 = 0; int DMXminY2 = 0; void setup() { } void loop() { // этот цикл выполняем 2 раза, для МИН И МАХ // считываем X, Y для краевых позиции голов for (byte i = 1; i < 5; i++) { DMX23[i] = analogRead(i) >> 2;} // АЦП 10бит, переводим на 256 для DMX for (byte i = 24; i < 28; i++) { DMX23[i] = analogRead(i) >> 2;} DMX23[6] = 255; // максимум яркости при настройке DMX23[29] = 255; //тут вывод очереди команд DMX[1..46], до книпки перехода на след.шаг int DMXminX1 = DMX23[2] | (DMX23[1] << 8); //сохраняем диапазон сцены минимум int DMXminY1 = DMX23[4] | (DMX23[3] << 8); int DMXminX2 = DMX23[25] | (DMX23[24] << 8); int DMXminY2 = DMX23[27] | (DMX23[26] << 8); } //int val = byte1 | (byte2 << 8); клеим 2 байта в 2х //обраное byte1 = val; младший byte2 = val >> 8; старший