Advertisement
Guest User

Untitled

a guest
Sep 30th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.52 KB | None | 0 0
  1. #include <Wire.h> // добавляем необходимые библиотеки
  2. #include <LiquidCrystal.h>
  3.  
  4. LiquidCrystal lcd(8, 9, 4, 5, 6, 7 );
  5.  
  6. // Нажатые кнопки
  7. int button;
  8. const int BUTTON_NONE   = 0;
  9. const int BUTTON_RIGHT  = 1;
  10. const int BUTTON_UP     = 2;
  11. const int BUTTON_DOWN   = 3;
  12. const int BUTTON_LEFT   = 4;
  13. const int BUTTON_SELECT = 5;
  14.  
  15. int getPressedButton()
  16. {
  17.   int buttonValue = analogRead(0); // считываем значения с аналогового входа(A0)
  18.   if (buttonValue < 100) {
  19.     return BUTTON_RIGHT;  
  20.   }
  21.   else if (buttonValue < 200) {
  22.     return BUTTON_UP;
  23.   }
  24.   else if (buttonValue < 400){
  25.     return BUTTON_DOWN;
  26.   }
  27.   else if (buttonValue < 600){
  28.     return BUTTON_LEFT;
  29.   }
  30.   else if (buttonValue < 800){
  31.     return BUTTON_SELECT;
  32.   }
  33.   return BUTTON_NONE;
  34. }
  35.  
  36. void setup()
  37. {
  38.   lcd.begin(16, 2);            
  39. }
  40.  
  41. void loop()
  42. {
  43.   button = getPressedButton();
  44.   if(button){
  45.     lcd.setCursor(0, 0);
  46.     lcd.print("                   ");
  47.     lcd.setCursor(0, 0);
  48.     lcd.print("BUTTON: ");
  49.   }
  50.   switch (button)
  51.   {
  52.   case BUTTON_RIGHT: // при нажатии кнопки выводим следующий текст
  53.     lcd.print("RIGHT");
  54.     break;
  55.   case BUTTON_LEFT:
  56.     lcd.print("LEFT");
  57.     break;
  58.   case BUTTON_UP:
  59.     lcd.print("UP");
  60.     break;
  61.   case BUTTON_DOWN:
  62.     lcd.print("DOWN");
  63.     break;
  64.   case BUTTON_SELECT:
  65.     lcd.print("SELECT");
  66.     break;
  67.   }
  68.   while(button>0){button = getPressedButton();}
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement