Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define A 2
- #define B 3
- #define C 4
- #define D 5
- #define E 6
- #define FF 7
- #define G 8
- // Pins driving common anodes
- #define CC1 9
- #define CC2 10
- #define CC3 11
- // Pins for A B C D E F G, in sequence
- const int segs[7] = { 2, 3, 4, 5, 6, 7, 8 };
- // Segments that make each number
- const byte numbers[10] = { 0b0111111, 0b0000110, 0b1011011, 0b1001111, 0b1100110, 0b1101101, 0b1111101, 0b0000111, 0b1111111, 0b1101111};
- int digit1 = 0;
- int digit2 = 0;
- int digit3 = 0;
- int digit4 = 0;
- int val;
- int val2;
- void setup()
- {
- pinMode(A, OUTPUT);
- pinMode(B, OUTPUT);
- pinMode(C, OUTPUT);
- pinMode(D, OUTPUT);
- pinMode(E, OUTPUT);
- pinMode(FF, OUTPUT);
- pinMode(G, OUTPUT);
- pinMode(CC1, OUTPUT);
- pinMode(CC2, OUTPUT);
- pinMode(CC3, OUTPUT);
- Serial.begin(9600);
- }
- void loop()
- {
- int valorADC;
- float voltaje;
- valorADC = analogRead(A0);
- voltaje = valorADC * (5.0 / 1023.0);
- int voltage=(int)voltaje*10;
- int num0,num1,num2,num3;
- num0=voltage;
- num1=num0%10; // Extract the value of unit digit
- num0=num0-num1;
- num0=num0/10;
- num2=num0%10; // Extract the value of decade digit
- num0=num0-num2;
- num0=num0/10;
- num3=num0%10; // Extract the value of hundred digit
- num0=num0-num3;
- num0=num0/10;
- //Serial.println(voltaje);
- //delay(2);
- lightDigit1(numbers[num1]);
- delay(2);
- lightDigit2(numbers[num2]);
- delay(2);
- lightDigit3(numbers[num3]);
- delay(2);
- }
- void lightDigit1(byte number)
- {
- digitalWrite(CC1, LOW);
- digitalWrite(CC2, HIGH);
- digitalWrite(CC3, HIGH);
- lightSegments(number);
- }
- void lightDigit2(byte number)
- {
- digitalWrite(CC1, HIGH);
- digitalWrite(CC2, LOW);
- digitalWrite(CC3, HIGH);
- lightSegments(number);
- }
- void lightDigit3(byte number)
- {
- digitalWrite(CC1, HIGH);
- digitalWrite(CC2, HIGH);
- digitalWrite(CC3, LOW);
- lightSegments(number);
- }
- void lightSegments(byte number)
- {
- for (int i = 0; i < 7; i++)
- {
- int bit = bitRead(number, i);
- digitalWrite(segs[i], bit);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement