Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This sketch will send out a Nikon D50 trigger signal (probably works with most Nikons)
- // See the full tutorial at http://www.ladyada.net/learn/sensors/ir.html
- // this code is public domain, please enjoy!
- int IRledPin = 9; // LED connected to digital pin 13
- int inPin = 5;
- int val = 0;
- // The setup() method runs once, when the sketch starts
- void setup() {
- // initialize the IR digital pin as an output:
- pinMode(IRledPin, OUTPUT);
- pinMode(inPin, INPUT);
- Serial.begin(9600);
- }
- void loop()
- {
- val = digitalRead(inPin);
- Serial.println("Sending IR signal");
- SendChannelUpCode();
- }
- // This procedure sends a 38KHz pulse to the IRledPin
- // for a certain # of microseconds. We'll use this whenever we need to send codes
- void pulseIR(long microsecs) {
- // we'll count down from the number of microseconds we are told to wait
- cli(); // this turns off any background interrupts
- if (val == HIGH) {
- // 38 kHz is about 13 microseconds high and 13 microseconds low
- digitalWrite(IRledPin, HIGH); // this takes about 3 microseconds to happen
- delayMicroseconds(10); // hang out for 10 microseconds
- digitalWrite(IRledPin, LOW); // this also takes about 3 microseconds
- delayMicroseconds(10); // hang out for 10 microseconds
- // so 26 microseconds altogether
- microsecs -= 26;
- }
- sei(); // this turns them back on
- }
- void SendChannelUpCode() {
- // This is the code for the CHANNEL + for the downstairs TV COMCAST
- delayMicroseconds(60696); //Time off (Left Column on serial monitor)
- pulseIR(4740); //Time on (Right Column on serial monitor)
- delayMicroseconds(4160);
- pulseIR(820);
- delayMicroseconds(1400);
- pulseIR(820);
- delayMicroseconds(1380);
- pulseIR(800);
- delayMicroseconds(1420);
- pulseIR(780);
- delayMicroseconds(300);
- pulseIR(760);
- delayMicroseconds(360);
- pulseIR(760);
- delayMicroseconds(340);
- pulseIR(760);
- delayMicroseconds(340);
- pulseIR(760);
- delayMicroseconds(340);
- pulseIR(760);
- delayMicroseconds(1440);
- pulseIR(760);
- delayMicroseconds(1460);
- pulseIR(740);
- delayMicroseconds(1480);
- pulseIR(720);
- delayMicroseconds(380);
- pulseIR(680);
- delayMicroseconds(420);
- pulseIR(660);
- delayMicroseconds(460);
- pulseIR(640);
- delayMicroseconds(460);
- pulseIR(620);
- delayMicroseconds(500);
- pulseIR(600);
- delayMicroseconds(500);
- pulseIR(600);
- delayMicroseconds(1600);
- pulseIR(600);
- delayMicroseconds(500);
- pulseIR(600);
- delayMicroseconds(500);
- pulseIR(580);
- delayMicroseconds(520);
- pulseIR(580);
- delayMicroseconds(520);
- pulseIR(560);
- delayMicroseconds(540);
- pulseIR(560);
- delayMicroseconds(560);
- pulseIR(540);
- delayMicroseconds(1660);
- pulseIR(540);
- delayMicroseconds(560);
- pulseIR(540);
- delayMicroseconds(1680);
- pulseIR(520);
- delayMicroseconds(1680);
- pulseIR(540);
- delayMicroseconds(1660);
- pulseIR(540);
- delayMicroseconds(1680);
- pulseIR(540);
- delayMicroseconds(1660);
- pulseIR(540);
- delayMicroseconds(1660);
- pulseIR(540);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement