Advertisement
Guest User

Digital Würfel by DeKode

a guest
Dec 13th, 2020
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.08 KB | None | 0 0
  1.  
  2.  
  3. //Pins
  4. int pinLED1 = 2;
  5. int pinLED2 = 3;
  6. int pinLED3 = 4;
  7. int pinLED4 = 5;
  8. int pinLED5 = 6;
  9. int pinLED6 = 8;
  10. int pinLED7 = 7;
  11. int pinBtn = 9;
  12.  
  13. //Var
  14. int stateBusy = 0;
  15. int buttonState = 0;
  16. long ran;
  17.  
  18.  
  19. void setup ()
  20. {
  21. //Pinmodes
  22.   pinMode (pinLED1, OUTPUT);
  23.   pinMode (pinLED2, OUTPUT);
  24.   pinMode (pinLED3, OUTPUT);
  25.   pinMode (pinLED4, OUTPUT);
  26.   pinMode (pinLED5, OUTPUT);
  27.   pinMode (pinLED6, OUTPUT);
  28.   pinMode (pinLED7, OUTPUT);
  29.   pinMode (pinBtn, INPUT_PULLUP);
  30.   randomSeed(analogRead(0));
  31.   fLEDTest();
  32. }
  33.  
  34. void loop()
  35. {
  36.   buttonState = digitalRead(pinBtn);
  37.  
  38.   if (buttonState == HIGH)
  39.   {
  40.     if (stateBusy == 0)
  41.     {
  42.       stateBusy = 1;    
  43.       ran = random(1, 7);
  44.      
  45.       fLEDClear();  //Clear LEDs before switch new      
  46.       switch (ran)
  47.       {
  48.         case 1:
  49.           fLEDOne();
  50.           break;
  51.        
  52.         case 2:
  53.           fLEDTwo();
  54.           break;
  55.        
  56.         case 3:
  57.           fLEDThree();
  58.           break;
  59.        
  60.         case 4:
  61.           fLEDFour();
  62.           break;
  63.          
  64.         case 5:
  65.           fLEDFive();
  66.           break;
  67.        
  68.         case 6:
  69.           fLEDSix();
  70.           break;
  71.        
  72.         default:
  73.           fLEDClear();
  74.           break;        
  75.       }
  76.       stateBusy = 0;      
  77.     }
  78.   }
  79. }
  80.  
  81. //## Functions ##
  82.  
  83. //LED Arrangement:
  84. //  1   5
  85. //  2 4 6
  86. //  3   7
  87.  
  88. void fLEDClear(){
  89.   //no LEDs on
  90.   digitalWrite (pinLED1, LOW);
  91.   digitalWrite (pinLED2, LOW);
  92.   digitalWrite (pinLED3, LOW);
  93.   digitalWrite (pinLED4, LOW);
  94.   digitalWrite (pinLED5, LOW);
  95.   digitalWrite (pinLED6, LOW);
  96.   digitalWrite (pinLED7, LOW);
  97. }
  98.  
  99. void fLEDOne(){
  100.   //Number 1 (4)
  101.   digitalWrite (pinLED1, LOW);
  102.   digitalWrite (pinLED2, LOW);
  103.   digitalWrite (pinLED3, LOW);
  104.   digitalWrite (pinLED4, HIGH);
  105.   digitalWrite (pinLED5, LOW);
  106.   digitalWrite (pinLED6, LOW);
  107.   digitalWrite (pinLED7, LOW);
  108. }
  109.  
  110. void fLEDTwo(){
  111.   //Number 2 (1+7)
  112.   digitalWrite (pinLED1, HIGH);
  113.   digitalWrite (pinLED2, LOW);
  114.   digitalWrite (pinLED3, LOW);
  115.   digitalWrite (pinLED4, LOW);
  116.   digitalWrite (pinLED5, LOW);
  117.   digitalWrite (pinLED6, LOW);
  118.   digitalWrite (pinLED7, HIGH);
  119. }
  120.  
  121. void fLEDThree(){
  122.   //Number 3 (1,4,7)
  123.   digitalWrite (pinLED1, HIGH);
  124.   digitalWrite (pinLED2, LOW);
  125.   digitalWrite (pinLED3, LOW);
  126.   digitalWrite (pinLED4, HIGH);
  127.   digitalWrite (pinLED5, LOW);
  128.   digitalWrite (pinLED6, LOW);
  129.   digitalWrite (pinLED7, HIGH);
  130. }
  131.  
  132. void fLEDFour(){
  133.   //Number 4 (1,3,5,7)
  134.   digitalWrite (pinLED1, HIGH);
  135.   digitalWrite (pinLED2, LOW);
  136.   digitalWrite (pinLED3, HIGH);
  137.   digitalWrite (pinLED4, LOW);
  138.   digitalWrite (pinLED5, HIGH);
  139.   digitalWrite (pinLED6, LOW);
  140.   digitalWrite (pinLED7, HIGH);
  141. }
  142.  
  143. void fLEDFive(){
  144.   //Number 5 (1,3,4,5,7)
  145.   digitalWrite (pinLED1, HIGH);
  146.   digitalWrite (pinLED2, LOW);
  147.   digitalWrite (pinLED3, HIGH);
  148.   digitalWrite (pinLED4, HIGH);
  149.   digitalWrite (pinLED5, HIGH);
  150.   digitalWrite (pinLED6, LOW);
  151.   digitalWrite (pinLED7, HIGH);
  152. }
  153.  
  154. void fLEDSix(){
  155.   //Number 6 (1,2,3,5,6,7)
  156.   digitalWrite (pinLED1, HIGH);
  157.   digitalWrite (pinLED2, HIGH);
  158.   digitalWrite (pinLED3, HIGH);
  159.   digitalWrite (pinLED4, LOW);
  160.   digitalWrite (pinLED5, HIGH);
  161.   digitalWrite (pinLED6, HIGH);
  162.   digitalWrite (pinLED7, HIGH);
  163. }
  164.  
  165. void fLEDTest(){
  166.   //Clear
  167.   digitalWrite (pinLED1, LOW);
  168.   digitalWrite (pinLED2, LOW);
  169.   digitalWrite (pinLED3, LOW);
  170.   digitalWrite (pinLED4, LOW);
  171.   digitalWrite (pinLED5, LOW);
  172.   digitalWrite (pinLED6, LOW);
  173.   digitalWrite (pinLED7, LOW);
  174.   delay(200);
  175.  
  176.   digitalWrite (pinLED1, HIGH);
  177.   delay(200);
  178.   digitalWrite (pinLED2, HIGH);
  179.   delay(200);
  180.   digitalWrite (pinLED3, HIGH);
  181.   delay(200);
  182.   digitalWrite (pinLED4, HIGH);
  183.   delay(200);
  184.   digitalWrite (pinLED5, HIGH);
  185.   delay(200);
  186.   digitalWrite (pinLED6, HIGH);
  187.   delay(200);
  188.   digitalWrite (pinLED7, HIGH);
  189.   delay(1500);
  190.   digitalWrite (pinLED1, LOW);
  191.   digitalWrite (pinLED2, LOW);
  192.   digitalWrite (pinLED3, LOW);
  193.   digitalWrite (pinLED4, LOW);
  194.   digitalWrite (pinLED5, LOW);
  195.   digitalWrite (pinLED6, LOW);
  196.   digitalWrite (pinLED7, LOW);
  197.   delay(200);
  198. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement