Advertisement
Rauthag

WalkRightLeft Led

Sep 24th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. #include "mbed.h"
  2.  
  3. Serial pc( USBTX, USBRX );
  4.  
  5. int main()
  6. {
  7. pc.baud( 115200 );
  8.  
  9.  
  10. DigitalOut leds[] = {PTC0, PTC1, PTC2, PTC3, PTC4, PTC5, PTC7, PTC8};
  11. DigitalOut rgb_led1[] = {PTB2, PTB3, PTB9};
  12. DigitalOut rgb_led2[] = {PTB11, PTB18, PTB19};
  13.  
  14. DigitalIn walkLeft = (PTC10);
  15. DigitalIn walkRight = (PTC9);
  16.  
  17. int NUMBER_OF_LEDS = 8;
  18. bool left = true;
  19.  
  20. rgb_led1[2] = true;
  21. rgb_led2[1] = true;
  22.  
  23.  
  24. while(1) {
  25. if(left) {
  26. if(!walkRight) {
  27. wait_ms(1000);
  28. rgb_led1[1] = true;
  29. rgb_led2[2] = true;
  30.  
  31. wait_ms(1000);
  32. rgb_led1[2] = false;
  33. rgb_led2[1] = false;
  34.  
  35. for(int i = 0; i < NUMBER_OF_LEDS; i++) {
  36. leds[i] = true;
  37. wait_ms(500);
  38. }
  39. for(int i = 0; i < NUMBER_OF_LEDS; i++) {
  40. leds[i] = false;
  41. }
  42. left = false;
  43. }
  44. } else {
  45. if(!walkLeft) {
  46. wait_ms(1000);
  47. rgb_led1[2] = true;
  48. rgb_led2[1] = true;
  49.  
  50. wait_ms(1000);
  51. rgb_led1[1] = false;
  52. rgb_led2[2] = false;
  53.  
  54. for(int i = NUMBER_OF_LEDS - 1; i >= 0; i--) {
  55. leds[i] = true;
  56. wait_ms(500);
  57. }
  58. for(int i = 0; i < NUMBER_OF_LEDS; i++) {
  59. leds[i] = false;
  60. }
  61. left = true;
  62. }
  63. }
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement