Advertisement
Guest User

Untitled

a guest
Jan 14th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Arduino 29.01 KB | None | 0 0
  1. //libraries
  2. #include <Adafruit_GFX.h>
  3. #include <Adafruit_PCD8544.h>
  4. #include <elapsedMillis.h>
  5.  
  6. //defines
  7. #define BLUE 0x001F
  8. #define RED 0xF800
  9. #define GREEN 0x07E0
  10. #define CYAN 0x07FF
  11. #define MAGENTA 0xF81F
  12. #define YELLOW 0xFFE0
  13.  
  14.  
  15. elapsedMillis timeElapsed;
  16.  
  17.  
  18.  //Numbers
  19. int pulseNumber = random(55,68);
  20. float temperatureNumber = random(365.0,376.0) / 10.0;
  21. int radioactivityNumber = random(9,13);
  22. int pressureNumber = random(700,720);
  23. int temperatureoutNumber = random(-63,-40);
  24.  
  25. //position
  26. int x1 = 0;
  27. int y1 = 0;
  28. int yt2 = 0;
  29. int tx = 0;
  30. int ty = 0;
  31. int x2 = 0;
  32. int y2 = 0;
  33. int yt3 = 0;
  34. int tx2 = 0;
  35. int ty2 = 0;
  36. int x3 = 40;
  37. int y3 = 29;
  38. int  yt4 = 30;
  39. int tx3 = x3 + 3;
  40. int ty3 = y3 - 3;
  41. //send problems
  42. int messages = 0;
  43. int messageradiationNumber = 0;
  44. int messagepressureNumber = 0;
  45. int messagetemperatureNumber = 0;
  46. int messagetemperatureoutNumber = 0;
  47. int messageyou = 0;
  48. int savedmessageyou = 0;
  49. float savedTemperature = 0.0;
  50. int savedPulse = 0;
  51. int savedTemperatureOut = 0;
  52. int savedRadiation = 0;
  53.  
  54. // pozídzovanie esemesiek
  55.  
  56. int messagex = 5;
  57. int messagey1 = 0;
  58. int messagey2 = 0;
  59. int messagey3 = 0;
  60. int messagetext1 = 22;
  61. int messagetext2 = 39;
  62. int messagetext3 = 32;
  63. int messagetext4 = 50;
  64. int messagetext5 = 20;
  65. int messagetext6 = 38;
  66. int messagetext7 = 56;
  67. int messagetext8 = 50;
  68. // check if pulse or temperature message
  69.  
  70. int checkTemperature = 0;
  71. int checkPulse = 0;
  72.  
  73. //LED
  74. int LED1 = 10;
  75.  
  76. //some setup
  77. int contrast=60;
  78. int page = 1;
  79. boolean backlight = true;
  80. //buttons
  81. volatile boolean right = false;
  82. volatile boolean left = false;
  83. volatile boolean message = false;
  84.  
  85. //button variables
  86. int leftButtonState = 0;
  87. int rightButtonState = 0;
  88. int lastRightButtonState = 0;
  89. int lastLeftButtonState = 0;
  90. int messageButtonState = 0;
  91. int lastMessageButtonState = 0;
  92.  
  93.  
  94. //display
  95. Adafruit_PCD8544 display = Adafruit_PCD8544( 5, 4, 3);
  96.  
  97.  
  98.    void drawMenu()
  99.   {
  100.        if (page==0) {
  101.          
  102.     display.setTextSize(1);
  103.     display.clearDisplay();
  104.     display.setTextColor(BLACK, WHITE);
  105.     display.setCursor(28, 0);
  106.     display.print("LPS");
  107.     display.drawFastHLine(0,10,83,BLACK);
  108.     display.setCursor(5, 12);
  109.  
  110.     display.drawFastHLine(25,26,83,BLACK);
  111.     display.drawFastHLine(25,26,83,BLACK);
  112.     display.drawFastHLine(25,27,83,BLACK);
  113.     display.drawFastHLine(25,27,83,BLACK);
  114.     display.drawFastHLine(25,28,83,BLACK);
  115.     display.drawFastHLine(25,28,83,BLACK);
  116.     display.drawFastHLine(25,29,83,BLACK);
  117.     display.drawFastHLine(25,29,83,BLACK);
  118.     display.drawFastHLine(25,30,83,BLACK);
  119.     display.drawFastHLine(25,30,83,BLACK);
  120.     display.drawFastHLine(25,31,83,BLACK);
  121.     display.drawFastHLine(25,31,83,BLACK);
  122.     display.drawFastHLine(25,32,83,BLACK);
  123.     display.drawFastHLine(25,32,83,BLACK);
  124.     display.drawFastHLine(25,33,83,BLACK);
  125.     display.drawFastHLine(25,33,83,BLACK);
  126.        
  127.     display.drawFastHLine(26,26,83,BLACK);
  128.     display.drawFastHLine(26,26,83,BLACK);
  129.     display.drawFastHLine(26,27,83,BLACK);
  130.     display.drawFastHLine(26,27,83,BLACK);
  131.     display.drawFastHLine(26,28,83,BLACK);
  132.     display.drawFastHLine(26,28,83,BLACK);
  133.     display.drawFastHLine(26,29,83,BLACK);
  134.     display.drawFastHLine(26,29,83,BLACK);
  135.     display.drawFastHLine(26,30,83,BLACK);
  136.     display.drawFastHLine(26,30,83,BLACK);
  137.     display.drawFastHLine(26,31,83,BLACK);
  138.     display.drawFastHLine(26,31,83,BLACK);
  139.     display.drawFastHLine(26,32,83,BLACK);
  140.     display.drawFastHLine(26,32,83,BLACK);
  141.     display.drawFastHLine(26,33,83,BLACK);
  142.     display.drawFastHLine(26,33,83,BLACK);
  143.        
  144.     display.drawFastHLine(27,26,83,BLACK);
  145.     display.drawFastHLine(27,26,83,BLACK);
  146.     display.drawFastHLine(27,27,83,BLACK);
  147.     display.drawFastHLine(27,27,83,BLACK);
  148.     display.drawFastHLine(27,28,83,BLACK);
  149.     display.drawFastHLine(27,28,83,BLACK);
  150.     display.drawFastHLine(27,29,83,BLACK);
  151.     display.drawFastHLine(27,29,83,BLACK);
  152.     display.drawFastHLine(27,30,83,BLACK);
  153.     display.drawFastHLine(27,30,83,BLACK);
  154.     display.drawFastHLine(27,31,83,BLACK);
  155.     display.drawFastHLine(27,31,83,BLACK);
  156.     display.drawFastHLine(27,32,83,BLACK);
  157.     display.drawFastHLine(27,32,83,BLACK);
  158.     display.drawFastHLine(27,33,83,BLACK);
  159.     display.drawFastHLine(27,33,83,BLACK);    
  160.  
  161.     display.drawFastHLine(28,26,83,BLACK);
  162.     display.drawFastHLine(28,26,83,BLACK);
  163.     display.drawFastHLine(28,27,83,BLACK);
  164.     display.drawFastHLine(28,27,83,BLACK);
  165.     display.drawFastHLine(28,28,83,BLACK);
  166.     display.drawFastHLine(28,28,83,BLACK);
  167.     display.drawFastHLine(28,29,83,BLACK);
  168.     display.drawFastHLine(28,29,83,BLACK);
  169.     display.drawFastHLine(28,30,83,BLACK);
  170.     display.drawFastHLine(28,30,83,BLACK);
  171.     display.drawFastHLine(28,31,83,BLACK);
  172.     display.drawFastHLine(28,31,83,BLACK);
  173.     display.drawFastHLine(28,32,83,BLACK);
  174.     display.drawFastHLine(28,32,83,BLACK);
  175.     display.drawFastHLine(28,33,83,BLACK);
  176.     display.drawFastHLine(28,33,83,BLACK);
  177.  
  178.     display.drawFastHLine(29,26,83,BLACK);
  179.     display.drawFastHLine(29,26,83,BLACK);
  180.     display.drawFastHLine(29,27,83,BLACK);
  181.     display.drawFastHLine(29,27,83,BLACK);
  182.     display.drawFastHLine(29,28,83,BLACK);
  183.     display.drawFastHLine(29,28,83,BLACK);
  184.     display.drawFastHLine(29,29,83,BLACK);
  185.     display.drawFastHLine(29,29,83,BLACK);
  186.     display.drawFastHLine(29,30,83,BLACK);
  187.     display.drawFastHLine(29,30,83,BLACK);
  188.     display.drawFastHLine(29,31,83,BLACK);
  189.     display.drawFastHLine(29,31,83,BLACK);
  190.     display.drawFastHLine(29,32,83,BLACK);
  191.     display.drawFastHLine(29,32,83,BLACK);
  192.     display.drawFastHLine(29,33,83,BLACK);
  193.     display.drawFastHLine(29,33,83,BLACK);      
  194.  
  195.     display.drawFastHLine(30,26,83,BLACK);
  196.     display.drawFastHLine(30,26,83,BLACK);
  197.     display.drawFastHLine(30,27,83,BLACK);
  198.     display.drawFastHLine(30,27,83,BLACK);
  199.     display.drawFastHLine(30,28,83,BLACK);
  200.     display.drawFastHLine(30,28,83,BLACK);
  201.     display.drawFastHLine(30,29,83,BLACK);
  202.     display.drawFastHLine(30,29,83,BLACK);
  203.     display.drawFastHLine(30,30,83,BLACK);
  204.     display.drawFastHLine(30,30,83,BLACK);
  205.     display.drawFastHLine(30,31,83,BLACK);
  206.     display.drawFastHLine(30,31,83,BLACK);
  207.     display.drawFastHLine(30,32,83,BLACK);
  208.     display.drawFastHLine(30,32,83,BLACK);
  209.     display.drawFastHLine(30,33,83,BLACK);
  210.     display.drawFastHLine(30,33,83,BLACK);
  211.  
  212.    
  213.     display.drawFastHLine(31,26,83,BLACK);
  214.     display.drawFastHLine(31,26,83,BLACK);
  215.     display.drawFastHLine(31,27,83,BLACK);
  216.     display.drawFastHLine(31,27,83,BLACK);
  217.     display.drawFastHLine(31,28,83,BLACK);
  218.     display.drawFastHLine(31,28,83,BLACK);
  219.     display.drawFastHLine(31,29,83,BLACK);
  220.     display.drawFastHLine(31,29,83,BLACK);
  221.     display.drawFastHLine(31,30,83,BLACK);
  222.     display.drawFastHLine(31,30,83,BLACK);
  223.     display.drawFastHLine(31,31,83,BLACK);
  224.     display.drawFastHLine(31,31,83,BLACK);
  225.     display.drawFastHLine(31,32,83,BLACK);
  226.     display.drawFastHLine(31,32,83,BLACK);
  227.     display.drawFastHLine(31,33,83,BLACK);
  228.     display.drawFastHLine(31,33,83,BLACK);
  229.  
  230.    
  231.     display.drawFastHLine(32,26,83,BLACK);
  232.     display.drawFastHLine(32,26,83,BLACK);
  233.     display.drawFastHLine(32,27,83,BLACK);
  234.     display.drawFastHLine(32,27,83,BLACK);
  235.     display.drawFastHLine(32,28,83,BLACK);
  236.     display.drawFastHLine(32,28,83,BLACK);
  237.     display.drawFastHLine(32,29,83,BLACK);
  238.     display.drawFastHLine(32,29,83,BLACK);
  239.     display.drawFastHLine(32,30,83,BLACK);
  240.     display.drawFastHLine(32,30,83,BLACK);
  241.     display.drawFastHLine(32,31,83,BLACK);
  242.     display.drawFastHLine(32,31,83,BLACK);
  243.     display.drawFastHLine(32,32,83,BLACK);
  244.     display.drawFastHLine(32,32,83,BLACK);
  245.     display.drawFastHLine(32,33,83,BLACK);
  246.     display.drawFastHLine(32,33,83,BLACK);
  247.  
  248.    
  249.     display.drawFastHLine(33,26,83,BLACK);
  250.     display.drawFastHLine(33,26,83,BLACK);
  251.     display.drawFastHLine(33,27,83,BLACK);
  252.     display.drawFastHLine(33,27,83,BLACK);
  253.     display.drawFastHLine(33,28,83,BLACK);
  254.     display.drawFastHLine(33,28,83,BLACK);
  255.     display.drawFastHLine(33,29,83,BLACK);
  256.     display.drawFastHLine(33,29,83,BLACK);
  257.     display.drawFastHLine(33,30,83,BLACK);
  258.     display.drawFastHLine(33,30,83,BLACK);
  259.     display.drawFastHLine(33,31,83,BLACK);
  260.     display.drawFastHLine(33,31,83,BLACK);
  261.     display.drawFastHLine(33,32,83,BLACK);
  262.     display.drawFastHLine(33,32,83,BLACK);
  263.     display.drawFastHLine(33,33,83,BLACK);
  264.     display.drawFastHLine(33,33,83,BLACK);
  265.  
  266.     display.drawFastVLine(40,29,2,BLACK);
  267.     display.drawFastHLine(40,29,2,BLACK);
  268.     display.drawFastHLine(40,30,2,BLACK);
  269.     display.setCursor(43, 27);
  270.     display.setTextSize(1);
  271.     display.print("y");
  272.    
  273.     display.drawFastVLine(59,16,2,BLACK);
  274.     display.drawFastHLine(59,16,2,BLACK);
  275.     display.drawFastHLine(59,17,2,BLACK);
  276.     display.setCursor(62,14);
  277.     display.setTextSize(1);
  278.     display.print("S1");
  279.    
  280.     display.drawFastVLine(23,38,2,BLACK);
  281.     display.drawFastHLine(23,38,2,BLACK);
  282.     display.drawFastHLine(23,39,2,BLACK);
  283.     display.setCursor(26,37);
  284.     display.setTextSize(1);
  285.     display.print("S2");
  286.    
  287.         }
  288.  
  289.    
  290.      else if (page==1)
  291.   {    
  292.    
  293.     display.setTextSize(1.25);
  294.     display.clearDisplay();
  295.     display.setTextColor(BLACK, WHITE);
  296.     display.setCursor(26, 0);
  297.     display.print("Pulse");
  298.     display.drawFastHLine(2,10,83,BLACK);
  299.     display.setCursor(0, 15);
  300.    
  301.    
  302.     display.print("Value:");
  303.     display.setTextSize(2);
  304.     display.setCursor(5, 25);
  305.     display.print(pulseNumber);
  306.     display.print("ppm");
  307.     display.setTextSize(1);
  308.     display.display();
  309.  
  310.  
  311.   }
  312.   else if (page==2)
  313.   {
  314.    
  315.     display.setTextSize(1);
  316.     display.clearDisplay();
  317.     display.setTextColor(BLACK, WHITE);
  318.     display.setCursor(5, 0);
  319.     display.print("Temperature");
  320.     display.drawFastHLine(0,10,83,BLACK);
  321.     display.setCursor(5, 15);
  322.     display.print("Value");
  323.     display.setTextSize(2);
  324.     display.setCursor(5, 25);
  325.     display.print(temperatureNumber);
  326.     display.print("C");
  327.  
  328.     display.setTextSize(2);
  329.     display.display();
  330.   }
  331.   else if (page==3)
  332.   {
  333.    
  334.     display.setTextSize(1);
  335.     display.clearDisplay();
  336.     display.setTextColor(BLACK, WHITE);
  337.     display.setCursor(5, 0);
  338.     display.print("Temperature O");
  339.     display.drawFastHLine(0,10,83,BLACK);
  340.     display.setCursor(5, 15);
  341.     display.print("Value");
  342.     display.setTextSize(2);
  343.     display.setCursor(5, 25);
  344.     display.print(temperatureoutNumber);
  345.     display.print("C");
  346.  
  347.     display.setTextSize(2);
  348.     display.display();
  349.   }
  350.  
  351.   else if (page==4)
  352.   {
  353.    
  354.     display.setTextSize(1);
  355.     display.clearDisplay();
  356.     display.setTextColor(BLACK, WHITE);
  357.     display.setCursor(15, 0);
  358.     display.print("Radiation");
  359.     display.drawFastHLine(0,10,83,BLACK);
  360.     display.setCursor(5, 15);
  361.     display.print("Value");
  362.     display.setTextSize(2);
  363.     display.setCursor(5, 25);
  364.     display.print(radioactivityNumber);
  365.     display.setTextSize(2);
  366.     display.print("rad");
  367.     display.setTextSize(1);
  368.     display.display();
  369.   }
  370.     else if (page==5)
  371.   {
  372.    
  373.     display.setTextSize(1);
  374.     display.clearDisplay();
  375.     display.setTextColor(BLACK, WHITE);
  376.     display.setCursor(15, 0);
  377.     display.print("Pressure");
  378.     display.drawFastHLine(0,10,83,BLACK);
  379.     display.setCursor(5, 15);
  380.     display.print("Value");
  381.     display.setTextSize(2);
  382.     display.setCursor(5, 25);
  383.     display.print(pressureNumber);
  384.     display.setTextSize(2);
  385.     display.print("Pa");
  386.     display.setTextSize(1);
  387.     display.display();
  388.   }
  389.     else if (page==6)
  390.   {
  391.     display.setTextSize(1);
  392.     display.clearDisplay();
  393.     display.setTextColor(BLACK, WHITE);
  394.     display.setCursor(5, 0);
  395.     display.print("Danger Zones");
  396.     display.drawFastHLine(0,10,83,BLACK);
  397.     display.drawFastHLine(0,47,83,BLACK);
  398.     display.drawFastVLine(0,10,83,BLACK);
  399.     display.drawFastVLine(82,10,83,BLACK);
  400.     // dots
  401.     display.drawFastVLine(15,19,2,BLACK);
  402.     display.drawFastHLine(15,19,2,BLACK);
  403.     display.drawFastHLine(15,20,2,BLACK);
  404.     display.setCursor(4, 12);
  405.     display.setTextSize(1);
  406.     display.print("br");
  407.  
  408.     display.drawFastVLine(x3,y3,2,BLACK);
  409.     display.drawFastHLine(x3,y3,2,BLACK);
  410.     display.drawFastHLine(x3,yt4,2,BLACK);
  411.     display.setCursor(tx3, ty3);
  412.     display.setTextSize(1);
  413.     display.print("y");
  414.      
  415.          if (messageradiationNumber == 1 && page==6 ) {
  416.           display.drawFastVLine(x1,y1,2,BLACK);
  417.           display.drawFastHLine(x1,y1,2,BLACK);
  418.           display.drawFastHLine(x1,yt2,2,BLACK);
  419.           display.setCursor(tx, ty);
  420.           display.setTextSize(1);
  421.           display.print("br");
  422.          
  423.           }
  424.  
  425.              if (messagetemperatureoutNumber == 1 && page==6 ) {
  426.           display.drawFastVLine(x2,y2,2,BLACK);
  427.           display.drawFastHLine(x2,y2,2,BLACK);
  428.           display.drawFastHLine(x2,yt3,2,BLACK);
  429.           display.setCursor(tx2, ty2);
  430.           display.setTextSize(1);
  431.           display.print("bt");
  432.          
  433.           }
  434.           if (messageyou == 1 && page==6) {
  435.           display.drawFastVLine(x3,y3,2,BLACK);
  436.           display.drawFastHLine(x3,y3,2,BLACK);
  437.           display.drawFastHLine(x3,yt4,2,BLACK);
  438.           display.setCursor(tx3, ty3);
  439.           display.setTextSize(1);
  440.           display.print("y");
  441.    
  442.            
  443.            
  444.            
  445.             }
  446.        
  447.          
  448.  
  449.    
  450.         display.display();
  451.   }
  452.  
  453.   else if (page==7)
  454.   {
  455.  
  456.  
  457.     display.setTextSize(1);
  458.     display.clearDisplay();
  459.     display.setTextColor(BLACK, WHITE);
  460.     display.setCursor(4, 0);
  461.     display.print("Sent Messages");
  462.     display.drawFastHLine(0,10,83,BLACK);
  463.     display.setCursor(5, 12);
  464.     if (page==7 && messagetemperatureoutNumber == 1 )
  465.   {
  466.         display.setTextSize(1);
  467.         display.setTextColor(BLACK, WHITE);
  468.         display.setCursor(messagex, messagey1);
  469.         display.print("TO: ");
  470.         display.setCursor(messagetext1, messagey1);
  471.         display.print(savedTemperatureOut);
  472.         display.setCursor(messagetext2,messagey1);
  473.         display.print(" C");
  474.         display.display();
  475.          
  476.    
  477.  
  478.  
  479.  
  480.  
  481.    
  482.    
  483.   }
  484.   if (messageradiationNumber == 1 && page == 7)
  485.          {
  486.         display.setTextSize(1);
  487.         display.setTextColor(BLACK, WHITE);
  488.         display.setCursor(messagex, messagey2);
  489.         display.print("Rad:");
  490.         display.setCursor(messagetext3, messagey2);
  491.         display.print(savedRadiation);
  492.         display.setCursor(messagetext4,messagey2);
  493.         display.print(" rad");
  494.         display.display();
  495.                
  496.                  
  497.                  
  498.                  
  499.                   }
  500.                  
  501.   if (messageyou == 1 && page == 7 && checkPulse == 1 && checkTemperature == 0 )
  502.          {
  503.         display.setTextSize(1);
  504.         display.setTextColor(BLACK, WHITE);
  505.         display.setCursor(messagex, messagey3);
  506.         display.print("Pulse: ");
  507.         display.setCursor(messagetext6, messagey3);
  508.         display.print(savedPulse);
  509.         display.setCursor(messagetext7,messagey3);
  510.         display.print(" ppm");
  511.         display.display();
  512.                
  513.                  
  514.                  
  515.                  
  516.                   }
  517.  
  518.                    if (messageyou == 1 && page == 7 && checkTemperature == 1 && checkPulse == 0 )
  519.          {
  520.         display.setTextSize(1);
  521.         display.setTextColor(BLACK, WHITE);
  522.         display.setCursor(messagex, messagey3);
  523.         display.print("T:  ");
  524.         display.setCursor(messagetext5, messagey3);
  525.         display.print(savedTemperature);
  526.         display.setCursor(messagetext8,messagey3);
  527.         display.print(" C");
  528.         display.display();  
  529.                
  530.                  
  531.                  
  532.                  
  533.                   }
  534.              display.display();      
  535.  
  536.  }
  537.  
  538.      
  539.      else if (page==8)
  540.   {    
  541.    
  542.     display.setTextSize(1.25);
  543.     display.clearDisplay();
  544.     display.setTextColor(BLACK, WHITE);
  545.     display.setCursor(4, 0);
  546.     display.print("Communication");
  547.     display.drawFastHLine(2,10,83,BLACK);
  548.     display.setCursor(0, 15);
  549.    
  550.    if ( page == 8 && messageradiationNumber == 1 ) {
  551.     display.print("The nearest station is 1.3 km away.");
  552.     display.setTextSize(2);
  553.     display.setCursor(5, 15);    
  554.     display.display();
  555.    }
  556.  
  557.   }
  558.  
  559.  }
  560.  
  561.   void allnumberChange() {
  562.       if  (page== 1 || page==2 || page==3 || page == 4) {
  563.  
  564.        
  565.         if (timeElapsed > 3000 && page==1 ) {
  566.         pulseNumber = random(55,68);
  567.          timeElapsed = 0;
  568.         }
  569.         if ( timeElapsed > 60000  && page==2 ) {
  570.         temperatureNumber = random(365.0,376.0) / 10.0;
  571.          timeElapsed = 0;
  572.         }      
  573.                 if ( timeElapsed > 3000  && page==3 ) {
  574.         temperatureoutNumber = random(-63,-40);
  575.          timeElapsed = 0;
  576.         }  
  577.            
  578.            if (timeElapsed > 5000 && page==4) {                              
  579.         radioactivityNumber = random(9,13);
  580.          timeElapsed = 0;
  581.         }
  582.         if ( timeElapsed > 15000 && page == 5) {                              
  583.          pressureNumber = random(650,720) - random(1,7) + random(1,5) - random(1,7) + random(1,5) - random(1,7) + random(1,5);
  584.           timeElapsed = 0;
  585.         }
  586.            // countdown on all pages
  587.  
  588.    
  589.        
  590.        
  591.       }
  592.  
  593.          }
  594.          
  595.   void checkIfLeftButtonIsPressed()
  596. {
  597.   if (leftButtonState != lastLeftButtonState)
  598.   {
  599.     if (leftButtonState == 0) {
  600.       left=true;
  601.     }
  602.     else {
  603.       left = false;
  604.       }
  605.     delay(50);
  606.   }
  607.    lastLeftButtonState = leftButtonState;
  608. }
  609.  
  610.  void checkIfRightButtonIsPressed()
  611.   {
  612.     if (rightButtonState != lastRightButtonState)
  613.   {
  614.     if (rightButtonState == 0)
  615.     {
  616.       right=true;
  617.     }
  618.     else {
  619.       right = false;
  620.       }
  621.     delay(50);
  622.   }
  623.    lastRightButtonState = rightButtonState;
  624.   }
  625.  
  626.   void checkIfMessageButtonIsPressed()
  627.   {
  628.     if (messageButtonState != lastMessageButtonState)
  629.   {
  630.     if (messageButtonState == 0)
  631.     {
  632.       message=true;
  633.     }
  634.     else {
  635.       message=false;
  636.       }
  637.     delay(50);
  638.   }
  639.    lastMessageButtonState = messageButtonState;
  640.   }
  641.  
  642.  
  643. void loop() {
  644.     allnumberChange();
  645.    drawMenu();
  646.  
  647.  
  648.   rightButtonState = digitalRead(2);
  649.   leftButtonState =   digitalRead(8);
  650.   messageButtonState =   digitalRead(9);
  651.  
  652.    checkIfRightButtonIsPressed();
  653.    checkIfLeftButtonIsPressed();
  654.    checkIfMessageButtonIsPressed();
  655.  
  656.           if (right && page == 0 ) {
  657.               right=false;
  658.               page=1;
  659.        
  660.   }
  661.  
  662.  
  663.          if (right && page == 1 ) {
  664.               right=false;
  665.               page=2;
  666.        
  667.   }
  668.        if (right && page == 2 ) {
  669.               right=false;
  670.               page=3;
  671.        
  672.   }
  673.          if (right && page == 3 ) {
  674.               right=false;
  675.               page=4;
  676.        
  677.   }
  678.         if (right && page == 4 ) {
  679.               right=false;
  680.               page=5;
  681.        
  682.   }
  683.  
  684.        if (right && page == 5 ) {
  685.               right=false;
  686.               page=6;
  687.        
  688.   }
  689.  
  690.  
  691.       if (right && page == 6 ) {
  692.               right=false;
  693.               page=7;
  694.        
  695.   }
  696.       if (right && page == 7 ) {
  697.               right=false;
  698.               page=8;
  699.        
  700.   }
  701.    
  702.          
  703.         if (left && page == 2 ) {
  704.               left=false;
  705.               page=1;
  706.        
  707.   }
  708.         if (left && page == 3 ) {
  709.               left=false;
  710.               page=2;
  711.        
  712.   }
  713.        if (left && page == 4 ) {
  714.               left=false;
  715.               page=3;
  716.        
  717.   }
  718.        if (left && page == 5 ) {
  719.               left=false;
  720.               page=4;
  721.        
  722.   }
  723.        if (left && page == 6 ) {
  724.               left=false;
  725.               page=5;
  726.        
  727.   }
  728.        if (left && page == 7 ) {
  729.               left=false;
  730.               page=6;
  731.        
  732.   }
  733.        if (left && page == 1 ) {
  734.               left=false;
  735.               page=0;
  736.        
  737.   }
  738.        if (left && page == 8 ) {
  739.               left=false;
  740.               page=7;
  741.        
  742.   }
  743.  
  744.  
  745.  
  746.            //messages
  747.  
  748.       if (message && page == 1 && messageyou == 0 ) {
  749.         savedPulse = pulseNumber;
  750.         messageyou = 1;
  751.        
  752.         }
  753.  
  754.      if (message && page == 2 && messageyou == 0 ) {
  755.         savedTemperature = temperatureNumber;
  756.          messageyou = 1;
  757.         }
  758.            
  759.       if (message && page == 3 && messagetemperatureoutNumber == 0 ) {
  760.     messagetemperatureoutNumber = 1;
  761.     savedTemperatureOut = temperatureoutNumber;
  762.  
  763.    
  764.     }
  765.  
  766.       if (message && page == 4  && messageradiationNumber == 0) {
  767.     messageradiationNumber = 1;
  768.     savedRadiation = radioactivityNumber;
  769.     }
  770.    
  771.        //DOTS
  772.     if (message && page == 4 ) {
  773.     messageradiationNumber = 1;
  774.      x1 = random(13,43);
  775.      y1 = random(22,41);
  776.      yt2 = y1 + 1;
  777.      tx = x1 - 12;
  778.      ty = y1 - 3;
  779.      if(x1 < 20) {
  780.       tx = x1 + 6;
  781.       }
  782.     }
  783.  
  784.    
  785.     if (message && page == 3) {
  786.     messagetemperatureoutNumber = 1;
  787.      x2 = random(43,75);
  788.      y2 = random(13,25);        
  789.      yt3 = y2 + 1;
  790.      tx2 = x2 + 5;
  791.      ty2 = y2 - 3;
  792.  
  793.      if (x2 > 65) {
  794.         tx2 = x2 - 8;
  795.         }
  796.  
  797.        
  798.     }
  799.  
  800.      
  801.     if (message && page == 1) {
  802.              messageyou = 1;
  803.  
  804.  
  805.             if (checkTemperature == 1 ) {
  806.             checkPulse = 0;
  807.             checkTemperature = 1;
  808.              
  809.               }
  810.               else {
  811.             checkPulse = 1;
  812.             checkTemperature = 0;
  813.                 }
  814.              
  815.        x3 = random(43,74);
  816.        y3 = random(29,41);
  817.        yt4 = y3 + 1;
  818.        tx3 = x3 + 5;
  819.        ty3 = y3 - 3;
  820.      
  821.       if (x3 > 65) {
  822.         tx3 = x3 - 8;
  823.         }
  824.        
  825.       }
  826.       if (message && page == 2 ) {
  827.             messageyou = 1;
  828.  
  829.             if (checkPulse == 1 ) {
  830.             checkPulse = 1;
  831.             checkTemperature = 0;
  832.              
  833.               }
  834.               else {
  835.             checkPulse = 0;
  836.             checkTemperature = 1;
  837.                 }
  838.            
  839.        x3 = random(43,74);
  840.        y3 = random(22,41);
  841.        yt4 = y3 + 1;
  842.        tx3 = x3 + 5;
  843.        ty3 = y3 - 3;
  844.      
  845.       if (x3 > 65) {
  846.         tx3 = x3 - 8;
  847.         }
  848.       }
  849.  
  850.                   //Check 1 place all
  851.                if (  messagetemperatureoutNumber == 0 && messageradiationNumber == 0 && checkPulse == 1 && checkTemperature == 0 ) {
  852.                 messagey3 = 15;
  853.                
  854.                 }
  855.                if (  messagetemperatureoutNumber == 0 && messageradiationNumber == 0 && checkTemperature == 1 && checkPulse == 0 ) {
  856.                 messagey3 = 15;
  857.                
  858.                 }
  859.  
  860.                
  861.                 if ( messagetemperatureoutNumber == 0 && messageradiationNumber == 1 && checkPulse == 0  ) {
  862.                 messagey2 = 15;
  863.                
  864.                 }
  865.                if ( messagetemperatureoutNumber == 0 && messageradiationNumber == 1 && checkTemperature == 0  ) {
  866.                 messagey2 = 15;
  867.                
  868.                 }
  869.               if ( messagetemperatureoutNumber == 1 && messageradiationNumber == 0 && checkPulse == 0  ) {
  870.                 messagey1 = 15;
  871.                
  872.                 }
  873.                if ( messagetemperatureoutNumber == 1 && messageradiationNumber == 0 && checkTemperature == 0  ) {
  874.                 messagey1 = 15;
  875.                
  876.                 }  
  877.                //Check 2 place radiation
  878.                
  879.                if (  messageradiationNumber == 1 && messagey3 == 15 && messagetemperatureoutNumber == 0) {
  880.                 messagey2 = 24;
  881.                
  882.                 }
  883.                if (  messageradiationNumber == 1 && messagey1 == 15 && checkTemperature == 0) {
  884.                 messagey2 = 24;
  885.                
  886.                 }
  887.                 if (  messageradiationNumber == 1 && messagey1 == 15 && checkPulse == 0) {
  888.                 messagey2 = 24;
  889.                
  890.                 }
  891.                 //Check 2 place Temperature Out
  892.                 if (  messagetemperatureoutNumber == 1 && messagey2 == 15 && checkPulse == 0) {
  893.                 messagey1 = 24;
  894.                
  895.                 }
  896.                   if (  messagetemperatureoutNumber == 1 && messagey2 == 15 && checkTemperature == 0) {
  897.                 messagey1 = 24;
  898.                
  899.                 }
  900.                 if (  messagetemperatureoutNumber == 1 && messagey3 == 15 && messageradiationNumber == 0) {
  901.                 messagey1 = 24;
  902.                
  903.                 }
  904.                 //Check 2 place Pulse or Temperature
  905.                 if ( messagey1 == 15 && messageradiationNumber == 0 && checkTemperature == 1 && checkPulse == 0 ) {
  906.                 messagey3 = 24;
  907.                
  908.                 }
  909.                 if ( messagey1 == 15 && messageradiationNumber == 0 && checkTemperature == 0 && checkPulse == 1 ) {
  910.                 messagey3 = 24;
  911.                
  912.                 }
  913.                 if ( messagey2 == 15 && messagetemperatureoutNumber == 0 && checkTemperature == 1 && checkPulse == 0 ) {
  914.                 messagey3 = 24;
  915.                
  916.                 }
  917.                 if ( messagey2 == 15 && messagetemperatureoutNumber == 0 && checkTemperature == 0 && checkPulse == 1 ) {
  918.                 messagey3 = 24;
  919.                
  920.                 }
  921.  
  922.                 //Check 3 place for Radiation
  923.  
  924.                 if (messagey1 == 15 && messagey3 == 24 || messagey1 == 24 && messagey3 == 15) {
  925.                   messagey2 = 33;
  926.                  
  927.                  
  928.                   }
  929.                //Check 3 place for Temperature Out
  930.                if (messagey3 == 15 && messagey2 == 24 || messagey3 == 24 && messagey2 == 15) {
  931.                 messagey1 = 33;
  932.                
  933.                
  934.                
  935.                 }
  936.                 //Check 3 place for Temperature Out
  937.                 if (messagey1 == 15 && messagey2 == 24 || messagey1 == 24 && messagey2 == 15) {
  938.                   messagey3 = 33;
  939.                  
  940.                  
  941.                   }
  942.  
  943.  
  944.  
  945.    
  946.     if (timeElapsed > 60000) {
  947.                 temperatureNumber = random(365.0,376.0) / 10.0;
  948.                 timeElapsed = 0;
  949.             }
  950.  
  951.  
  952.  
  953.        
  954.    
  955. }
  956.  
  957.  
  958.  
  959.  
  960.    
  961.    
  962.         void setup() {
  963.  pinMode(2, INPUT_PULLUP);
  964.  pinMode(10, INPUT_PULLUP);
  965.  pinMode(9, INPUT_PULLUP);
  966.  
  967.  
  968.   Serial.begin(9600);
  969.  
  970.   display.begin();      
  971.   display.setContrast(contrast);
  972.   display.clearDisplay();
  973.   display.display();  
  974.  
  975.  
  976.  
  977.  
  978.     }
  979.    // MARTIN CHCEL 1000 riadkov
  980.     // MARTIN CHCEL 1000 riadkov
  981.      // MARTIN CHCEL 1000 riadkov
  982.       // MARTIN CHCEL 1000 riadkov
  983.        // MARTIN CHCEL 1000 riadkov
  984.         // MARTIN CHCEL 1000 riadkov
  985.          // MARTIN CHCEL 1000 riadkov
  986.           // MARTIN CHCEL 1000 riadkov
  987.            // MARTIN CHCEL 1000 riadkov
  988.             // MARTIN CHCEL 1000 riadkov
  989.              // MARTIN CHCEL 1000 riadkov
  990.               // MARTIN CHCEL 1000 riadkov
  991.                // MARTIN CHCEL 1000 riadkov
  992.                 // MARTIN CHCEL 1000 riadkov
  993.                  // MARTIN CHCEL 1000 riadkov
  994.                   // MARTIN CHCEL 1000 riadkov
  995.                    // MARTIN CHCEL 1000 riadkov
  996.                     // MARTIN CHCEL 1000 riadkov
  997.                      // MARTIN CHCEL 1000 riadkov
  998.                       // MARTIN CHCEL 1000 riadkov
  999.                        // MARTIN CHCEL 1000 riadkov
  1000.                         // MARTIN CHCEL 1000 riadkov
  1001.                          // MARTIN CHCEL 1000 riadkov
  1002.                           // MARTIN CHCEL 1000 riadkov
  1003.                            // MARTIN CHCEL 1000 riadkov
  1004.                             // MARTIN CHCEL 1000 riadkov
  1005.                              // MARTIN CHCEL 1000 riadkov
  1006.                               // MARTIN CHCEL 1000 riadkov
  1007.                                // MARTIN CHCEL 1000 riadkov
  1008.                                 // MARTIN CHCEL 1000 riadkov
  1009.                                  // MARTIN CHCEL 1000 riadkov
  1010.                                   // MARTIN CHCEL 1000 riadkov // MARTIN CHCEL 1000 riadkov
  1011.                                    // MARTIN CHCEL 1000 riadkov
  1012.                                     // MARTIN CHCEL 1000 riadkov
  1013.                                      // MARTIN CHCEL 1000 riadkov // MARTIN CHCEL 1000 riadkov // MARTIN CHCEL 1000 riadkov
  1014.                                       // MARTIN CHCEL 1000 riadkov // MARTIN CHCEL 1000 riadkov
  1015.                                      
  1016.                                        // MARTIN CHCEL 1000 riadkov
  1017.                                         // MARTIN CHCEL 1000 riadkov
  1018.                                          // MARTIN CHCEL 1000 riadkov
  1019.                                           // MARTIN CHCEL 1000 riadkov
  1020.                                            // MARTIN CHCEL 1000 riadkov
  1021.                                             // MARTIN CHCEL 1000 riadkov
  1022.                                              // MARTIN CHCEL 1000 riadkov
  1023.                                               // MARTIN CHCEL 1000 riadkov
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement