Papermind

RC-rec

Jan 1st, 2018
531
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.22 KB | None | 0 0
  1. #include <VirtualWire.h>
  2. const int led_pin = 13;
  3. const int receive_pin = 12;
  4. int ml1 = 3;
  5. int ml2 = 5;
  6. int mr1 = 9;
  7. int mr2 = 10;
  8. void setup()
  9. {
  10. delay(1000);
  11. Serial.begin(9600); // Debugging only
  12. Serial.println("setup");
  13. vw_set_rx_pin(receive_pin);
  14. vw_set_ptt_inverted(true); // Required for DR3100
  15. vw_setup(2000); // Bits per sec
  16. vw_rx_start(); // Start the receiver PLL running
  17. pinMode (led_pin, OUTPUT);
  18. pinMode (ml1, OUTPUT);
  19. pinMode (ml2, OUTPUT);
  20. pinMode (mr1, OUTPUT);
  21. pinMode (mr2, OUTPUT);
  22. }
  23. void loop()
  24. {
  25. uint8_t buf[VW_MAX_MESSAGE_LEN];
  26. uint8_t buflen = VW_MAX_MESSAGE_LEN;
  27. if (vw_get_message(buf, &buflen)) // Non-blocking
  28. {
  29. int i;
  30. digitalWrite(led_pin, HIGH);
  31. Serial.print("Got: ");
  32. for (i = 0; i < buflen; i++)
  33. {
  34. Serial.print(buf[i]);
  35. Serial.print(' ');
  36. //perintah untuk maju atau mundur
  37. if (buf[i]==1){
  38. digitalWrite(ml1, HIGH);
  39. digitalWrite(mr1, HIGH);}
  40. if (buf[i]==2){
  41. digitalWrite(ml2, HIGH);
  42. digitalWrite(mr2, HIGH);}
  43. //perintah untuk belok kiri atau belik kanan
  44. if (buf[i]==3){
  45. digitalWrite(ml1, HIGH);
  46. digitalWrite(mr2, HIGH);
  47. delay (300);}
  48. if (buf[i]==4){
  49. digitalWrite(ml2, HIGH);
  50. digitalWrite(mr3, HIGH);
  51. delay (300);}
  52. }
  53. Serial.println();
  54. digitalWrite(led_pin, LOW);
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment