MIDILITE A midi triggered lighting sequencer, based on the PIC microcontroller.
This page is in response to several requests regarding the need to receive, rather than send MIDI information. I hope that my own design ( which is provided as an example ), will be modified and built upon as a foundation for others who wish to design their own microcontroller based projects.
The source file provided is a text file, which may be renamed with a .src extension, compiled, and loaded directly into a PIC16C56. The communications routine is a modified serial communications routine, modeled after 's application "Receiving RS-232 Serial Data".
Basically, the pressing of a key on an attached keyboard starts one of twelve sequences. Pin ra.1 of the PIC is tied to an LED through a 220 ohm resistor to indicate that high speed sequencing ( following key value 84 being received) is enabled. Additionally, sending a key value of 36 turns on all lights on stage for setup of equipment. The selected sequence is maintained until a hardware reset ( via a button to the reset line) is initiated.
The circuit is very basic, using a 4N36 optoisolator and a series 220 ohm resistor for midi current loop input. Pin 4 of the midi connector goes to the 220ohm resistor, which in turn ties to pin1 of the 4N36. Pin 5 of the midi connector goes to pin2 of the 4N36 . Pin ra.2 of the PIC is tied to 4N36's pin5, and has a 4.7Kohm pullup resistor tied to it. Pin 4 of the 4N36 is tied to ground, and pins 3&6 are unused ( find more on midi hardware details at excellent website ).
As in the midi kick pedal, the clock used is an 8MHz crystal. Each of the port B ( rb ) outputs are fed through a series 1K resistor, to a pin on a DB9 connector. A ground connection is also made on one of the DB9 pins. Each pin drives an externally connected solid state relay (triac) to allow lighting control.