Advertisement
Guest User

Station display

a guest
Nov 19th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.73 KB | None | 0 0
  1. #include <Adafruit_GFX.h>
  2. #include <Adafruit_SSD1331.h>
  3. #include <SPI.h>
  4.  
  5. //  Pin definitions
  6. #define sclk 13
  7. #define mosi 11
  8. #define cs   10
  9. #define rst  9
  10. #define dc   8
  11.  
  12. //  Color definitions
  13. #define BLACK           0x0000
  14. #define BLUE            0x001F
  15. #define RED             0xF800
  16. #define GREEN           0x07E0
  17. #define CYAN            0x07FF
  18. #define MAGENTA         0xF81F
  19. #define YELLOW          0xFFE0  
  20. #define WHITE           0xFFFF
  21.  
  22. Adafruit_SSD1331 display = Adafruit_SSD1331(cs, dc, rst);
  23.  
  24. String Departures[4];
  25. String Arrivals[4];
  26.  
  27. void setup() {
  28.  
  29.   display.begin();
  30.   loadData();
  31.         updateDisplay(1);
  32. }
  33.  
  34. void loop() {
  35.  
  36.   updateDisplay(0);
  37.   delay(4000);
  38.   updateDisplay(1);
  39.   delay(4000);
  40.   updateDisplay(2);
  41.   delay(4000);
  42.  
  43. }
  44.  
  45. void updateDisplay(byte mode) {
  46.  
  47.   byte x, y;
  48.   display.fillScreen(BLACK);
  49.   switch(mode) {
  50.     case 0:
  51.       display.setTextSize(1);
  52.       display.setTextColor(CYAN);
  53.       display.setCursor(18, 0);
  54.       display.print("DEPARTURES");
  55.       display.setTextColor(WHITE);
  56.       display.setCursor(0, 10);
  57.       display.print(" H  Destination");
  58.       display.drawFastHLine(0, 19, display.width()-1, WHITE);
  59.       y = 12;
  60.       for(byte i=0; i<=3; i++) {
  61.         y += 10;
  62.         display.setCursor(0, y);
  63.         display.print(Departures[i]);
  64.       }
  65.     break;
  66.     case 1:
  67.       display.setTextSize(1);
  68.       display.setTextColor(RED);
  69.       display.setCursor(14, 0);
  70.       display.print("DO NOT CROSS");
  71.       display.setCursor(18, 10);
  72.       display.print("THE TRACKS");
  73.       display.drawFastHLine(20, 37, 53, WHITE);
  74.       display.drawFastHLine(20, 49, 53, WHITE);
  75.       x = 25;
  76.       for(byte i=0; i<=4; i++) {
  77.         display.drawFastVLine(x, 33, 22, WHITE);
  78.         x += 10;
  79.       }
  80.       display.drawCircle(44, 43, 20, RED);
  81.       display.drawCircle(44, 43, 21, RED);
  82.       display.drawLine(30, 54, 65, 32, RED);
  83.       display.drawLine(30, 53, 65, 31, RED);
  84.     break;
  85.     case 2:
  86.       display.setTextSize(1);
  87.       display.setTextColor(GREEN);
  88.       display.setCursor(20, 0);
  89.       display.print("ARRIVALS");
  90.       display.setTextColor(WHITE);
  91.       display.setCursor(0, 10);
  92.       display.print(" H  Origin");
  93.       display.drawFastHLine(0, 19, display.width()-1, WHITE);
  94.       y = 12;
  95.       for(byte i=0; i<=3; i++) {
  96.         y += 10;
  97.         display.setCursor(0, y);
  98.         display.print(Arrivals[i]);
  99.       }
  100.     break;
  101.   }
  102.  
  103. }
  104.  
  105. void loadData(){
  106.  
  107.   Departures[0] = " 7  Airport";
  108.   Departures[1] = " 9  City center";
  109.   Departures[2] = "10  Airport";
  110.   Departures[3] = "12  Lake";
  111.   Arrivals[0] = " 9  Airport";
  112.   Arrivals[1] = "11  City center";
  113.   Arrivals[2] = "13  Airport";
  114.   Arrivals[3] = "15  Lake";
  115.  
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement