1 / 1 / 0
Регистрация: 10.02.2024
Сообщений: 19
1

Подключение DMX стробоскопа к Arduino

10.02.2024, 10:45. Показов 710. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день!

Стоит задача подключить к Ардуино стробоскоп с разъемом DMX. Теорию работы примерно понял, подключать планирую через RS485.

Подскажите где найти информацию о том, что именно отправлять на стробоскоп? Там как-то для каждого стробоскопа все индивидуально или есть какие-то унифицирование правила общения?

Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.02.2024, 10:45
Ответы с готовыми решениями:

Подключение arduino
Здравствуйте. Первый раз пытаюсь что-то сделать с arduino. Для этого в Китае купил nano версию с...

подключение Pinboard к Arduino
Доброе время. Знаю что часть моих вопросов рассматривалась на форуме но я все равно не понимаю(((...

подключение arduino uno
Всем привет! Недавно пришла (а точнее пришли) плата Ардуино Уно. Думал ща врублю ролики на ютубе по...

Matlab и подключение Arduino
Всем привет! Хочу подключить считывать данные с порта, на который приходят данные с датчика DHT11,...

7
Модератор
Эксперт по электронике
8901 / 6671 / 917
Регистрация: 14.02.2011
Сообщений: 23,485
10.02.2024, 21:53 2
Цитата Сообщение от Elesh_Makfa Посмотреть сообщение
подключать планирую через RS485.
DMX и основан на протоколе RS485.
Цитата Сообщение от Elesh_Makfa Посмотреть сообщение
Там как-то для каждого стробоскопа все индивидуально
в документации описан канал(ы) который и управляется прибором, как то яркость, скорость...
Цитата Сообщение от Elesh_Makfa Посмотреть сообщение
или есть какие-то унифицирование правила общения?
Ардуино должно формировать пакеты DMX.
1
1 / 1 / 0
Регистрация: 10.02.2024
Сообщений: 19
11.02.2024, 00:58  [ТС] 3
Ух, ваш ответ дал ясности, что помогло начать поиск в правильном направлении!

у меня такое устройство: adj product mega flash dmx 750 w strobe
Вот его документация: https://mcgrp.ru/files/viewer/990694/5

1. Как я понял адрес устройства устанавливаем двоичными рычажками на самом устройстве (9 рычажкой - 512 адресов) .
2. А дальше на 5стр указано, что для устнавки режима работы нужно отправлять числа 0-255 на каналы 1 и 2 устройства.
3. Так же на 5стр указано, что нужно поднять 10й рычахок вверх, чтобы стробоскоп начал принимать команды от ардуинки.

Вопросы:
1. Правильно ли я усвоил информацию?
2. Указывать на какой канал, какое значение я отправляю, я буду уже в коде на ардуинке, верно?
3. При выключенном 10м рычажке, получается, стробоскоп будет просто мерцать так как его настроишь потенциометрами на корпусе?
0
Модератор
Эксперт по электронике
8901 / 6671 / 917
Регистрация: 14.02.2011
Сообщений: 23,485
11.02.2024, 10:45 4
Лучший ответ Сообщение было отмечено Elesh_Makfa как решение

Решение

Цитата Сообщение от Elesh_Makfa Посмотреть сообщение
1. Как я понял адрес устройства устанавливаем двоичными рычажками на самом устройстве (9 рычажкой - 512 адресов) .
правильно понял
Цитата Сообщение от Elesh_Makfa Посмотреть сообщение
А дальше на 5стр указано, что для устнавки режима работы нужно отправлять числа 0-255 на каналы 1 и 2 устройства.
первый канал скорость, второй яркость
Цитата Сообщение от Elesh_Makfa Посмотреть сообщение
ак же на 5стр указано, что нужно поднять 10й рычахок вверх,
при включении(On) используется сигнал DMX при отключении от прибора
Цитата Сообщение от Elesh_Makfa Посмотреть сообщение
так как его настроишь потенциометрами на корпусе?
1
1 / 1 / 0
Регистрация: 10.02.2024
Сообщений: 19
11.02.2024, 12:08  [ТС] 5
Спасибо)!
0
1 / 1 / 0
Регистрация: 10.02.2024
Сообщений: 19
13.02.2024, 00:48  [ТС] 6
Пытаюсь работать с библиотекой DmxSimple

Но что-то не понимаю:

Подключено два стробоскопа с выставленныеми на них номерами 1 и 2 (как я понял, я должен отправлять на канал 1 и на канал 2 аргументы [частота, яркость] )

C++ (Qt)
1
2
3
4
DmxSimple.usePin(14);               //Назначаю пин для работы с MAX485  (С этим вроде все понятно)
DmxSimple.maxChannel(2);        //Указываю сколько всего каналов   (С этим тоже все понятно)
 
DmxSimple.write(1, 150);           //А вот тут вопросы.
Функция write принимает два аргумента (канал, значение).
А мне нужно отправить два значения на этот канал. Попытка сделать (канал, значение, значение) приводит к ошибке компилятора.

Но Если я сделаю так:
C++
1
2
DmxSimple.write(1, 150);
DmxSimple.write(2, 150);
То в первый стробоскоп установятся сразу 2 аргумента. И он будет работать как и задумано.

А, если потом еще допишу:
C++
1
2
DmxSimple.write(3, 150);
DmxSimple.write(4, 150);
То еще и второй стробоскоп начнем работать как задумано.

1) Почему так происходит?
2) Разве это не должно работать как-то так:
[CPP]DmxSimple.write(1, [150, 150]); //1 Страбоскоп
C++
1
DmxSimple.write(2, [150, 150]); //2 Страбоскоп
3)Зачем указывать максимальное количество каналов, если я все равно отправляю значение на канал, который превышает максимальный (2)?
0
1 / 1 / 0
Регистрация: 10.02.2024
Сообщений: 19
13.02.2024, 09:17  [ТС] 7
Получается, каждый параметр каждого устройства занимает отдельный канал.

А номер канала, который мы настраиваем на устройстве, означает только точку отсчета, а мы уже должны это учитывать и каждому следующему устройству DMX назначать начальный канал из расчета: Предыдущий канал + количество параметров предыдущего устройства?
0
Модератор
Эксперт по электронике
8901 / 6671 / 917
Регистрация: 14.02.2011
Сообщений: 23,485
13.02.2024, 10:57 8
Лучший ответ Сообщение было отмечено Elesh_Makfa как решение

Решение

Цитата Сообщение от Elesh_Makfa Посмотреть сообщение
3)Зачем указывать максимальное количество каналов, если я все равно отправляю значение на канал, который превышает максимальный (2)?
с библиотекой никогда не работал, но судя по логике
Цитата Сообщение от Elesh_Makfa Посмотреть сообщение
DmxSimple.maxChannel(2);        //Указываю сколько всего каналов   (С этим тоже все понятно)
Нет, нужно не количество каналов в устройстве, а количество в DMX т.е
Цитата Сообщение от Elesh_Makfa Посмотреть сообщение
Подключено два стробоскопа с выставленныеми на них номерами 1 и 2
нужно не 2 канала а четыре. 1,2 первый стробоскоп, 3,4 второй стробоскоп
и адреса для стробоскопов первый 1(0)
второй 3(2) !!!
потому что первый стробоскоп занимает 2 канала (1,2 )а второй, следующий, тоже 2 канала (3,4)

Добавлено через 6 минут
адреса на приборе при помощи свитчеров устанавливаются, обычно -1.
т.е первый прибор выставляется адрес 0, все свитчеры выключены
второй прибор имеет человеческий адрес 3, а компьютерный (-1) 2.
второй свитч включен
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2024, 10:57
Помогаю со студенческими работами здесь

Подключение дисплея к Arduino
Привет всем. Есть вот такой вот экранчик от телефона (модель телефона неизвестна). Хотелось бы...

Подключение тензорезисторов к Arduino
Доброго времени суток. Есть необходимость подключить 30 вот таких--Картинки загружать сюда...

Nrf24l01 подключение к arduino
Добрый день! Приобрел радиомодуль NRF24L01+PA+LNA с антенной. Решил подключить к arduino mega2560....

Подключение ЖКИ к Arduino
Всем доброго времени суток. Помогите начинающему радиолюбителю с вопросом подключения Arduino к...

Подключение библиотеки Arduino.h в С++
Нужно написать проект на С++, но чтобы он работал на ардуино. Пытался подключить библиотеку Ардуино...

Подключение фоторезистора/фототранзистора к Arduino
raxp, а можно ли на базе этой схемы подключить фоторезистор к цифровому пину, а не к аналоговому?...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru