Advertisement
RuiViana

Led_Shift

Dec 30th, 2016
288
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.25 KB | None | 0 0
  1. #include <IRremote.h>
  2. #define botao1 8
  3. #define botao2 9
  4. #define retorna 0x1FE40BF
  5. #define avanca 0x1FEC03F
  6. int RECV_PIN = 11;
  7. IRrecv irrecv(RECV_PIN);
  8. decode_results results;
  9. void led();
  10. int desloca = 0x01;
  11. //-------------------------------
  12. void setup()
  13. {
  14.   for (short i = 0x00; i < 0x08; i++) pinMode(i, OUTPUT);
  15.  
  16.   pinMode(8, INPUT_PULLUP);
  17.   pinMode(9, INPUT_PULLUP);
  18.   Serial.begin(9600);
  19.   irrecv.enableIRIn(); // Start the receiver
  20. }
  21. //-------------------------------
  22. void loop() {
  23.   if (irrecv.decode(&results)) {
  24.     Serial.println(results.value, HEX);
  25.     irrecv.resume(); // Receive the next value
  26.   }
  27.   PORTD = desloca;
  28.   led();
  29. }
  30. //-------------------------------
  31. void led()
  32. {
  33.   if (!digitalRead(botao1))
  34.   {
  35.     delay(500);
  36.     desloca = desloca << 1;
  37.     if (desloca > 0x10) desloca = 0x01;
  38.   }
  39.   if (!digitalRead(botao2))
  40.   {
  41.     delay(500);
  42.     desloca = desloca >> 1;
  43.     if (desloca == 0x00) desloca = 0x10;
  44.   }
  45.   if (results.value == retorna)
  46.   {
  47.     delay(500);
  48.     desloca = desloca << 1;
  49.     if (desloca > 0x10) desloca = 0x01;
  50.     results.value = 0;
  51.   }
  52.   if (results.value == avanca)
  53.   {
  54.     delay(500);
  55.     desloca = desloca >> 1;
  56.     if (desloca == 0x00) desloca = 0x10;
  57.     results.value = 0;
  58.   }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement