Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <IRremote.h>
- #define NUM_BITS = 672; // 28 LED's * 24 bits
- int RECV_PIN = 7;
- IRrecv irrecv(RECV_PIN);
- decode_results results;
- int SDI = 8; // Data
- int CKI = 9; // Clock
- void setup()
- {
- Serial.begin(9600);
- pinMode(SDI, OUTPUT); // Initialize the 2801 data pin
- pinMode(CKI, OUTPUT); // Initialize the 2801 clock pin
- irrecv.enableIRIn(); // Start the receiver
- }
- void loop() {
- if (irrecv.decode(&results)) {
- Serial.println(results.value, HEX);
- irrecv.resume(); // Receive the next value
- // The 'On' switch
- if(results.value == 0xff2ad5) {
- onner();
- } // fi results.value
- // The 'Off' switch
- if (results.value == 0xffaa55) {
- offer();
- } // fi results.value
- // Momentary 'On' switch
- if (results.value == 0xff926d) {
- onner();
- delay(5000);
- offer();
- } // fi results.value
- } // irrecv.decode
- } // loop
- void onner() {
- Serial.println("LED on.");
- for (long i=0; i<NUM_BITS; i++) {
- digitalWrite(CKI, LOW);
- digitalWrite(SDI, HIGH);
- digitalWrite(CKI, HIGH);
- } // for
- delay(50);
- } // onner
- void offer() {
- Serial.println("LED off.");
- for (long i=0; i<NUM_BITS; i++) {
- digitalWrite(CKI, LOW);
- digitalWrite(SDI, LOW);
- digitalWrite(CKI, HIGH);
- } // for
- delay(50);
- } // offer
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement