Skip to content

DIY 5 channels DMX dimmer for 4 stage halogen lights

Notifications You must be signed in to change notification settings

giacu92/GFE-DMX-Dimmer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DMX-Dimmer

DIY 5 channels dmx dimmer for 4 stage halogen lights.

Get the full assembled board: http://gfehandmade.bigcartel.com/product/dmx-dimmer-for-4-stage-halogen-lamps

About software:

The software is based on a finite state machine. The DMX start address can be choosen on the software modifying "#define DMX_START_ADDRESS 65". The DMX channels are currently set like following:

  • DMX CHANNEL 65: lamp 1 dimmer (0 -> 100% fade)
  • DMX CHANNEL 66: lamp 2 dimmer
  • DMX CHANNEL 67: lamp 3 dimmer
  • DMX CHANNEL 68: lamp 4 dimmer
  • DMX CHANNEL 69: strobo all lamps at chosen speed (40 - 255 strobe from 100ms to 1s)

HardwareSerial0.cpp EDIT:

To let Arduino IDE compile the code we need to do some mods to the HardwareSerial0.cpp file. On my current Mac OSX Arduino version (1.6.10) the file is placed at the following path: Arduino/Contents/Java/hardware/arduino/avr/cores/arduino/HardwareSerial0.cpp. Inside it we need to comment out the whole block between line 40 and line 51:

/*
#if defined(USART_RX_vect)
  ISR(USART_RX_vect)
#elif defined(USART0_RX_vect)
  ISR(USART0_RX_vect)
#elif defined(USART_RXC_vect)
  ISR(USART_RXC_vect) // ATmega8
#else
  #error "Don't know what the Data Received vector is called for Serial"
#endif
  {
    Serial._rx_complete_irq();
  }
*/

That's because we need to tell the Arduino IDE that inside the code we wrote our personal Interrupt Service Routine ("ISR") and we need it to use it in DMX serial communications. Remember to remove the mods after uploading the code or Serial communications ( like the one we use in Serial.print() ) wont work anymore.

You can find my copy of modded HardwareSerial0.cpp inside the file list.

File list:

Connections:

Board

Some pics:

Painting the enclosure and test fitting the pcb: PIC1

Releases

No releases published

Packages

No packages published

Languages