Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.45 KB | None | 0 0
  1. enum button_state {
  2.    none,
  3.    one,
  4.    two,
  5.    three,
  6.    four
  7. };
  8.  
  9. #define ARRAYSIZE 4
  10. String antenna[ARRAYSIZE] = { "Antenna  1", "Antenna 2", "Antenna 3", "Antenna 4" };
  11.  
  12. pin_base = 29; // outputs will start at Pin 30
  13. button_base = 13; // inputs will start at Pin 14
  14.  
  15. button_state new_pressed;
  16. button_state last_pressed;
  17. button_state
  18.  
  19. setup() {
  20.    // set up all the things
  21.    last_pressed = none;
  22.    for (button_state b = one; b < 5; b++)  {
  23.        pinMode(button_base + b, INPUT_PULLUP);
  24.        pinMode(pin_base + b, OUTPUT);
  25.    }
  26. }
  27.  
  28. loop() {
  29.     new_pressed = button_pressed();
  30.     if (new_pressed != none) {   // a button has been pressed
  31.         if (last_pressed != new_pressed)  {    // and it is a differnt button from previously
  32.             last_pressed = new_pressed;
  33.             switch_antenna(new_pressed);      
  34.          }
  35.     }
  36.     // other things go here...
  37. }
  38.  
  39. function button_pressed()  {
  40.     for (button_state b = one; b < 5; b++)  {
  41.         if (digitalRead(button_base + b) == HIGH;
  42.             return b;
  43.     }
  44.     return none;
  45. }
  46.  
  47.  
  48. function switch_antenna(button_state b) {
  49.   b=one?digitalWrite(pin_base + b, HIGH):digitalWrite(pin_base + b, LOW)
  50.   b=two?digitalWrite(pin_base + b, HIGH):digitalWrite(pin_base + b, LOW)
  51.   b=three?digitalWrite(pin_base + b, HIGH):digitalWrite(pin_base + b, LOW)
  52.   b=four?digitalWrite(pin_base + b, HIGH):digitalWrite(pin_base + b, LOW)
  53.   lcd.print(amtenna[b]);
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement