zheleznaja_chast:dmx_512_priemnik_svoimi_rukami

Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
zheleznaja_chast:dmx_512_priemnik_svoimi_rukami [2015/05/25 15:32] – [DMX 512 приемник, на 4 канала] Leozheleznaja_chast:dmx_512_priemnik_svoimi_rukami [2025/12/23 11:48] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 ====== DMX512 приемник, на 4 канала ====== ====== DMX512 приемник, на 4 канала ======
 ===== Описание ===== ===== Описание =====
-В этой статье, я расскажу вам как сделать приемник сигнала DMX 512 на 3 канала управления. Данный приемник DMX способен управлять 3мя каналами RGB светодиодной ленты, или же любым другим неуправляемым оборудованием. Данная версия приемника может быть улучшена до 4-5-6 и до 8 каналов. Впринципе зависит от микросхемы контроллера, в зависимости от количества ее выходов. В данной версии 3 независимых выходных ШИМ канала основанных на МОСФЕТ транзисторах. +В этой статье, я расскажу вам как сделать приемник сигнала DMX512 на 3 канала управления. Данный приемник [[:wiki:dmx_512|DMX]] способен управлять 3мя каналами RGB светодиодной ленты, или же любым другим неуправляемым оборудованием. Данная версия приемника может быть улучшена до 4-5-6 и до 8 каналов. Впринципе зависит от микросхемы контроллера, в зависимости от количества ее выходов. В данной версии 3 независимых выходных **ШИМ** канала основанных на **МОСФЕТ** транзисторах.  
 + 
 +<note tip>Основная цель этого проекта заключается в создании недорогого **DMX512** приемника, собранного на простых элементах. 
 +</note> 
 +===== Элементы =====
  
-<note tip>Основная цель этого проекта заключается в создании недорогого DMX 512 приемника, собранного на простых элементах. 
-</note>===== Элементы сборки ===== 
 ^ Элемент     ^ Свойства       ^ Описание            ^ ^ Элемент     ^ Свойства       ^ Описание            ^
 | R1, R2, R3  | 120 Ω    |Резистор коричневый, красный, черный, черный, коричневый или коричневый, красный, коричневый, серебряный | | R1, R2, R3  | 120 Ω    |Резистор коричневый, красный, черный, черный, коричневый или коричневый, красный, коричневый, серебряный |
Строка 22: Строка 24:
 |ATmega168|ATmega168|Микроконтроллер для управления| |ATmega168|ATmega168|Микроконтроллер для управления|
 |ICSP|ICSP|Разьем для программирования Atmega168| |ICSP|ICSP|Разьем для программирования Atmega168|
-|DMX|XLR|Разьем XLR или схожий с ним|+|[[:wiki:dmx_512|DMX]]|[[:wiki:xlr|XLR]]|Разьем [[:wiki:xlr|XLR]] или схожий с ним|
 |6N137|6N137|Оптрон для гальванической развязки линий.(//Установите правильно//)| |6N137|6N137|Оптрон для гальванической развязки линий.(//Установите правильно//)|
-|MAX481|MAX481(или MAX482)|Микросхема преобразователь дифференциального сигнала DMX в логический сигнал|+|MAX481|MAX481(или MAX482)|Микросхема преобразователь дифференциального сигнала [[:wiki:dmx_512|DMX]] в логический сигнал|
 |DC1|0505|Чип питания отдельной линии, используется для гальванической развязки| |DC1|0505|Чип питания отдельной линии, используется для гальванической развязки|
  
 ===== Схема контроллера и платы ===== ===== Схема контроллера и платы =====
-{{ :zheleznaja_chast:dmxrec.v3.schema.png |}} +==== Схема ==== 
-Плата +{{ :zheleznaja_chast:dmxrec.v3.schema.png?600 |}} 
-{{ :zheleznaja_chast:dmxrec.v03.front.jpg |}}+==== Плата ==== 
 +{{ :zheleznaja_chast:dmxrec.v03.front.jpg?400 |}}
 ===== Прошивка Микроконтроллера ===== ===== Прошивка Микроконтроллера =====
 Скачать прошивку МК{{:zheleznaja_chast:dmxspot.zip|}}  Скачать прошивку МК{{:zheleznaja_chast:dmxspot.zip|}} 
  
-Библиотека DMX 512 для МК {{:zheleznaja_chast:dmxserial-master.zip|}}+Библиотека [[:wiki:dmx_512|DMX]] 512 для МК {{:zheleznaja_chast:dmxserial-master.zip|}}
 ===== Модернизация ===== ===== Модернизация =====
 Вы сможете собрать готовую схему на монтажной плате, и попробовать как работает эта схема. А также в зависимости от опыта работы с МК, вы сможете заменять разные узлы данной схемы, например вместо транзисторов использовать реле для большой нагрузки, или сервоприводы и.т.д Вы сможете собрать готовую схему на монтажной плате, и попробовать как работает эта схема. А также в зависимости от опыта работы с МК, вы сможете заменять разные узлы данной схемы, например вместо транзисторов использовать реле для большой нагрузки, или сервоприводы и.т.д
 +===== Прошивка =====
 +Необходимую библиотеку добавить в папку с компилятором.
 +//Пример прошивки ниже//
 +<code cpp DMXReciver.txt>
 +#include <DMXSerial.h>
 +
 +// Константы выходных пинов
 +
 +const int RedPin =    9;  // Пин для красного
 +const int GreenPin =  6;  // Пин для зеленого
 +const int BluePin =   5;  // Пин для синего
 +
 +
 +void setup(void)
 +{
 +
 +
 +  DMXSerial.init(DMXController);
 +
 +
 +
 +  pinMode(RedPin,   OUTPUT); 
 +  pinMode(GreenPin, OUTPUT);
 +  pinMode(BluePin,  OUTPUT);
 +
 +  analogWrite(RedPin, 80); 
 +  analogWrite(GreenPin, 80); 
 +  analogWrite(BluePin, 80); 
 +
 +
 +
 +//Установка значений для 3 каналов RGB с указанным оттенком (0...764)
 +void setChannelRGB(int channel, int hue) {
 +  hue = hue % 765;
 +  if (hue < 256) {
 +    /// От синего к красному
 +    DMXSerial.write(channel  , hue);
 +    DMXSerial.write(channel+1, 0);
 +    DMXSerial.write(channel+2, 255-hue);
 +
 +  } else if (hue < 511) {
 +    /// От красного до зеленого
 +    DMXSerial.write(channel  , 255 - (hue-255));
 +    DMXSerial.write(channel+1, hue-255);
 +    DMXSerial.write(channel+2, 0);
 +
 +  } else {
 +    /// От зеленого к синему
 +    DMXSerial.write(channel  , 0);
 +    DMXSerial.write(channel+1, 255 - (hue-510));
 +    DMXSerial.write(channel+2, hue-510);
 +  } // if
 +} // setChannelRGB()
 +
 +
 +void loop(void)
 +{
 +  unsigned long now = millis();
 +  int channeldmx= 1;
 +  
 +
 +  int alpha = (now / 12) % 765;
 +
 +
 +
 +  for (int n = 0; n < 20; n++) {
 +    setChannelRGB (n*3+1, alpha + n*64);
 +  } 
 +  
 +
 +  analogWrite(RedPin,   DMXSerial.read(channeldmx+0));
 +  analogWrite(GreenPin, DMXSerial.read(channeldmx+1));
 +  analogWrite(BluePin,  DMXSerial.read(channeldmx+2));
 +}
 +</code>
 +Переменная **channeldmx** - устанавливает [[:wiki:dmx_512|DMX]] адрес. 
 +
 ===== Готовый вид платы выглядит так ===== ===== Готовый вид платы выглядит так =====
-{{:zheleznaja_chast:dmxrec.v03.assembled.jpg?200 |}}{{:zheleznaja_chast:dmxspot.ledstripe.jpg?200 |}}{{:zheleznaja_chast:dmxrec.v03.back.jpg?200 |}}+ 
 +{{:zheleznaja_chast:dmxrec.v03.assembled.jpg?200 |}} 
 + 
 +{{:zheleznaja_chast:dmxspot.ledstripe.jpg?200 |}} 
 + 
 +{{:zheleznaja_chast:dmxrec.v03.back.jpg?200|}} 
 ===== Готовое устройство ===== ===== Готовое устройство =====
-{{:zheleznaja_chast:dmxspotproto1.jpg?200 |}}{{:zheleznaja_chast:dmxspot09.jpg?200 |}}{{:zheleznaja_chast:dmxspot08.jpg?200 |}} 
  
 +
 +{{:zheleznaja_chast:dmxspotproto1.jpg?200 |}}
 +
 +{{:zheleznaja_chast:dmxspot09.jpg?200 |}}
 +
 +{{:zheleznaja_chast:dmxspot08.jpg?200|}}
 +{{tag>DMX512 DMX приемник "своими руками" схема}}
 ---- ----
 [[zheleznaja_chast:priemnik_dmx_512_signala|Смотрите так-же второй вариант приемника DMX сигнала.]] [[zheleznaja_chast:priemnik_dmx_512_signala|Смотрите так-же второй вариант приемника DMX сигнала.]]
  • zheleznaja_chast/dmx_512_priemnik_svoimi_rukami.1432567955.txt.gz
  • Последнее изменение: 2017/06/09 20:04
  • (внешнее изменение)