Advertisement
Dimitar_Iliev

IRRobotTD

May 10th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <boarddefs.h>
  2. #include <IRremote.h>
  3. #include <IRremoteInt.h>
  4. #include <ir_Lego_PF_BitStreamEncoder.h>
  5.  
  6. const int RECV_PIN = 6;
  7. IRrecv irrecv(RECV_PIN);
  8. decode_results results;
  9.  
  10. const int m11 = 2;
  11. const int m12 = 3;
  12. const int m21 = 4;
  13. const int m22 = 5;
  14.  
  15. void setup() {
  16.   Serial.begin(9600);
  17.   irrecv.enableIRIn();
  18.   irrecv.blink13(true);
  19.   pinMode(m11, OUTPUT);
  20.   pinMode(m12, OUTPUT);
  21.   pinMode(m21, OUTPUT);
  22.   pinMode(m22, OUTPUT);
  23. }
  24.  
  25. void loop() {
  26.   if (irrecv.decode(&results)) {
  27.     Serial.println(results.value, HEX);
  28.     irrecv.resume();
  29.     if (results.value != 0xFFFFFF) {
  30.       if (results.value == 0xFF629D) {
  31.         forward();
  32.       } else if (results.value == 0xFFA857) {
  33.         backward();
  34.       } else if (results.value == 0xFF22DD) {
  35.         left();
  36.       } else if (results.value == 0xFFC23D) {
  37.         right();
  38.       } else if (results.value == 0xFF02FD) {
  39.         stop();
  40.       }
  41.     }
  42.     delay(10);
  43.   }
  44. }
  45.  
  46. void stop() {
  47.   digitalWrite(m11, LOW);
  48.   digitalWrite(m12, LOW);
  49.   digitalWrite(m21, LOW);
  50.   digitalWrite(m22, LOW);
  51. }
  52. void forward() {
  53.   digitalWrite(m11, HIGH);
  54.   digitalWrite(m12, LOW);
  55.   digitalWrite(m21, HIGH);
  56.   digitalWrite(m22, LOW);
  57. }
  58.  
  59. void backward() {
  60.   digitalWrite(m11, LOW);
  61.   digitalWrite(m12, HIGH);
  62.   digitalWrite(m21, LOW);
  63.   digitalWrite(m22, HIGH);
  64. }
  65.  
  66. void left() {
  67.   digitalWrite(m11, LOW);
  68.   digitalWrite(m12, HIGH);
  69.   digitalWrite(m21, HIGH);
  70.   digitalWrite(m22, LOW);
  71. }
  72.  
  73. void right() {
  74.   digitalWrite(m11, HIGH);
  75.   digitalWrite(m12, LOW);
  76.   digitalWrite(m21, LOW);
  77.   digitalWrite(m22, HIGH);
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement