/* MIDI Clock to Sync 24 by Sebastian Tomczak 1 June 2008 */ int baud = 31250; int clockPin = 8; int startPin = 7; byte data; byte midi_start = 0xfa; byte midi_stop = 0xfc; byte midi_clock = 0xf8; byte midi_continue = 0xfb; byte high_d = B11111100; byte high_b = B00111111; void setup() { Serial.begin(baud); pinMode(clockPin, OUTPUT); pinMode(startPin, OUTPUT); pinMode(7, OUTPUT); pinMode(13, OUTPUT); digitalWrite(13, HIGH); } void loop() { if(Serial.available() > 0) { data = Serial.read(); if(data == midi_start) { digitalWrite(startPin, HIGH ); digitalWrite(13, HIGH ); } else if(data == midi_continue) { digitalWrite(startPin, HIGH ); digitalWrite(13, HIGH ); } else if(data == midi_stop) { digitalWrite(startPin, LOW); digitalWrite(13, LOW ); } else if(data == midi_clock) { digitalWrite(clockPin, HIGH); delay(5 ); digitalWrite(clockPin, LOW); } } }