Advertisement
franciscominajas

Untitled

Nov 10th, 2018
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define A 2
  2. #define B 3
  3. #define C 4
  4. #define D 5
  5. #define E 6
  6. #define FF 7
  7. #define G 8
  8.  
  9. // Pins driving common anodes
  10. #define CC1 9
  11. #define CC2 10
  12. #define CC3 11
  13. // Pins for A B C D E F G, in sequence
  14. const int segs[7] = { 2, 3, 4, 5, 6, 7, 8 };
  15.  
  16. // Segments that make each number
  17. const byte numbers[10] = { 0b0111111, 0b0000110, 0b1011011, 0b1001111, 0b1100110, 0b1101101, 0b1111101, 0b0000111, 0b1111111, 0b1101111};
  18.  
  19. int digit1 = 0;
  20. int digit2 = 0;
  21. int digit3 = 0;
  22. int digit4 = 0;
  23. int val;
  24. int val2;
  25.  
  26. void setup()
  27. {
  28.   pinMode(A, OUTPUT);
  29.   pinMode(B, OUTPUT);
  30.   pinMode(C, OUTPUT);
  31.   pinMode(D, OUTPUT);
  32.   pinMode(E, OUTPUT);
  33.   pinMode(FF, OUTPUT);
  34.   pinMode(G, OUTPUT);
  35.   pinMode(CC1, OUTPUT);
  36.   pinMode(CC2, OUTPUT);
  37.   pinMode(CC3, OUTPUT);
  38.   Serial.begin(9600);
  39. }
  40.  
  41. void loop()
  42. {
  43.   int valorADC;
  44.   float voltaje;
  45.   valorADC = analogRead(A0);
  46.   voltaje = valorADC * (5.0 / 1023.0);
  47.   int voltage=(int)voltaje*10;
  48.   int num0,num1,num2,num3;
  49.  
  50.   num0=voltage;
  51.  
  52.   num1=num0%10;      // Extract the value of unit digit
  53.   num0=num0-num1;
  54.   num0=num0/10;
  55.  
  56.   num2=num0%10;     // Extract the value of decade digit
  57.   num0=num0-num2;
  58.   num0=num0/10;
  59.  
  60.   num3=num0%10;     // Extract the value of hundred digit
  61.   num0=num0-num3;
  62.   num0=num0/10;
  63.   //Serial.println(voltaje);
  64.   //delay(2);
  65.  
  66.   lightDigit1(numbers[num1]);
  67.   delay(2);
  68.   lightDigit2(numbers[num2]);
  69.   delay(2);
  70.   lightDigit3(numbers[num3]);
  71.   delay(2);
  72. }
  73.   void lightDigit1(byte number)
  74.   {
  75.     digitalWrite(CC1, LOW);
  76.     digitalWrite(CC2, HIGH);
  77.     digitalWrite(CC3, HIGH);
  78.     lightSegments(number);
  79.   }
  80.  
  81.   void lightDigit2(byte number)
  82.   {
  83.     digitalWrite(CC1, HIGH);
  84.     digitalWrite(CC2, LOW);
  85.     digitalWrite(CC3, HIGH);
  86.     lightSegments(number);
  87.   }
  88.  
  89.   void lightDigit3(byte number)
  90.   {
  91.     digitalWrite(CC1, HIGH);
  92.     digitalWrite(CC2, HIGH);
  93.     digitalWrite(CC3, LOW);
  94.     lightSegments(number);
  95.   }
  96.  
  97.   void lightSegments(byte number)
  98.   {
  99.     for (int i = 0; i < 7; i++)
  100.     {
  101.       int bit = bitRead(number, i);
  102.       digitalWrite(segs[i], bit);
  103.     }
  104.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement