Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * IRremote: IRsendDemo - demonstrates sending IR codes with IRsend
- * An IR LED must be connected to Arduino PWM pin 3.
- * Version 0.1 July, 2009
- * Copyright 2009 Ken Shirriff
- * http://arcfn.com
- */
- #include <IRremote.h>
- IRsend irsend;
- int delayTime = 200;
- int maxMs = 525;
- bool delayBetween = true;
- int delayChallenge = 0;
- void setup()
- {
- pinMode(4, OUTPUT); //set 4 and 5 to high/low so the IR led can run right off the board
- pinMode(5, OUTPUT);
- digitalWrite(4, HIGH);
- digitalWrite(5, LOW);
- pinMode(12, OUTPUT); // Set 12 and 13 to high/low so the IR led can run right off the board
- pinMode(13, OUTPUT);
- digitalWrite(12, 1);
- digitalWrite(13, 0);
- // pinMode(8, INPUT);
- // pinMode(9, INPUT);
- Serial.begin(115200);
- Serial.println("If you see this, you're ready to go!");
- Serial.println("I\'ll wait 5 seconds.");
- for (int i = 0; i < 10; i++) {
- Serial.print("Waiting ");
- Serial.print(i/2);
- Serial.println("seconds before starting...");
- delay(500);
- }
- }
- void loop() {
- for (int i = 0; i < maxMs; i++) {
- int tmpDelay = 0;
- switch (delayChallenge) {
- case 0: // delay same ms as between sets, between commands
- tmpDelay = i;
- break;
- case 1: // delay random ms between commands
- tmpDelay = random(0, maxMs);
- break;
- }
- switch (delayChallenge) {
- case 0: // delay same ms as between sets, between commands
- Serial.print("[Delaying same ms as between sets, between commands] ");
- break;
- case 1: // delay random ms between commands
- Serial.print("[Delaying random ms (between 0 and ");
- Serial.print(maxMs);
- Serial.print("ms between commands] ");
- break;
- case 3: // no delay between commands
- Serial.print("[Not delaying between commands] ");
- break;
- }
- Serial.print("[Max delay: ");
- Serial.print(maxMs);
- Serial.print("ms] ");
- Serial.print("[Sets left: ");
- Serial.print(maxMs-i);
- Serial.print("] ");
- Serial.print("[Delay: ");
- Serial.print(tmpDelay);
- Serial.println("ms] [Command 1] EMITTING NEC 8CE0043A.");
- irsend.sendNEC(0x8CE0043A, 32); //TURN AIR OFF
- delay(tmpDelay);
- switch (delayChallenge) {
- case 0: // delay same ms as between sets, between commands
- Serial.print("[Delaying same ms as between sets, between commands] ");
- break;
- case 1: // delay random ms between commands
- Serial.print("[Delaying random ms (between 0 and ");
- Serial.print(maxMs);
- Serial.print("ms between commands] ");
- break;
- case 3: // no delay between commands
- Serial.print("[Not delaying between commands] ");
- break;
- }
- Serial.print("[Max delay: ");
- Serial.print(maxMs);
- Serial.print("ms] ");
- Serial.print("[Sets left: ");
- Serial.print(maxMs-i);
- Serial.print("] ");
- Serial.print("[Delay: ");
- Serial.print(i);
- Serial.println("ms] [Command 2] EMITTING NEC 8CE0043E.");
- irsend.sendNEC(0x8CE0043E, 32); //TURN AIR OFF
- delay(i);
- }
- switch (delayChallenge) {
- case 0: // delay same ms as between sets, between commands
- delayChallenge = 1;
- break;
- case 1: // delay random ms between commands
- delayChallenge = 2;
- break;
- case 3: // no delay between commands
- delayChallenge = 0;
- break;
- }
- Serial.println("Done with that set. Waiting 10 seconds and doing it again.");
- delay(10000); //10 second delay between each signal burst
- Serial.println("Here we go!");
- }
Advertisement
Add Comment
Please, Sign In to add comment