MartinSRB

[НРС] Вежбе 11 - Задатак 4

Apr 6th, 2023
444
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.92 KB | Source Code | 0 0
  1. #include<arduinoPlatform.h>
  2. #include<tasks.h>
  3. #include<interrupts.h>
  4. #include<stdio.h>
  5. #include<serial.h>
  6. #include <pwm.h>
  7. #include<data.h>
  8.  
  9. extern serial Serial;
  10.  
  11. #define SW_0 2
  12. #define SW_1 7
  13. #define SW_2 8
  14. #define SW_3 35
  15.  
  16. int turnedOn = 0;
  17.  
  18. void setup()
  19. {
  20.     for(int i = 26; i <= 33; i++){
  21.         pinMode(i, OUTPUT);
  22.     }
  23.     pinMode(2, INPUT);
  24.     pinMode(7, INPUT);
  25.     pinMode(8, INPUT);
  26.     pinMode(35, INPUT);
  27. }
  28.  
  29. void turnOffAfter(int n){
  30.     for(int i = n + 1; i <= 33; i++){
  31.         digitalWrite(i, LOW);
  32.     }
  33. }
  34.  
  35. void loop()
  36. {
  37.     int toTurnOn = (digitalRead(SW_0) + digitalRead(SW_1) + digitalRead(SW_2) + digitalRead(SW_3)) * 2;
  38.     if(turnedOn != toTurnOn){
  39.         for(int i = 26; i < 26 + toTurnOn; i++){
  40.             if(!digitalRead(i)){
  41.                 digitalWrite(i, HIGH);
  42.             }
  43.         }
  44.         turnOffAfter(26 + toTurnOn - 1);
  45.         turnedOn = toTurnOn;
  46.     }
  47. }
  48.  
Advertisement
Add Comment
Please, Sign In to add comment