Advertisement
miklik

ArduTemp1-5

Apr 24th, 2023
732
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.56 KB | Source Code | 0 0
  1. #define SEGMENT_ON HIGH
  2. #define SEGMENT_OFF LOW
  3. #define DIGIT_ON 0
  4. #define DIGIT_OFF 255
  5.  
  6. //výstupy připojených číslic
  7. byte digit[4] = {10,11,9,3};
  8. byte bright_on = DIGIT_ON;
  9. byte bright_off = DIGIT_OFF;
  10.  
  11. //výstupy segmentů čísle A-G a DP
  12. byte seg[8] = {12,7,5,13,2,8,6,4};
  13.  
  14. //mapa číslic  segment A B C D E F G
  15. byte number[10][7] = {{1,1,1,1,1,1,0},   //0
  16.                       {0,1,1,0,0,0,0},   //1
  17.                       {1,1,0,1,1,0,1},   //2
  18.                       {1,1,1,1,0,0,1},   //3
  19.                       {0,1,1,0,0,1,1},   //4
  20.                       {1,0,1,1,0,1,1},   //5
  21.                       {1,0,1,1,1,1,1},   //6
  22.                       {1,1,1,0,0,0,0},   //7
  23.                       {1,1,1,1,1,1,1},   //8
  24.                       {1,1,1,1,0,1,1}};  //9
  25.  
  26. //funkce nastavení výstupu a vypnutí všech LED
  27. void reset7() {
  28.   for (int d=0; d < 4; d++) {
  29.     pinMode(digit[d], OUTPUT);
  30.     analogWrite(digit[d], DIGIT_OFF);
  31.   }
  32.  
  33.   for (int s=0; s < 8; s++) {
  34.     pinMode(seg[s], OUTPUT);
  35.     digitalWrite(seg[s], SEGMENT_OFF);
  36.   }
  37. }
  38.  
  39. void setup() {
  40.   reset7();            //nastavení vývodu
  41.   for (int d=0; d<4; d++){              //vnořený cyklus, jedna číslice za druhou
  42.     analogWrite(digit[d],bright_on);     //zapne číslici
  43.   }
  44. }
  45.  
  46. void loop() {
  47.   byte l;
  48.   for (int i=0;i < 10;i++) {
  49.     for ( int s=0;s < 7; s++) {             //jeden segment za druhým
  50.       if (number[i][s] == 1) l = SEGMENT_ON;
  51.       else l = SEGMENT_OFF;
  52.       digitalWrite(seg[s], l);     //zapne segment
  53.     }
  54.     delay(1000);
  55.   }  
  56. }
  57.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement