#include "segman.hh" #include void writeDigit(int digit, unsigned char value) { digitalWrite(PIN_D1, HIGH); digitalWrite(PIN_D2, HIGH); digitalWrite(PIN_D3, HIGH); digitalWrite(PIN_D4, HIGH); switch (value) { case 0: digitalWrite(PIN_SA, HIGH); digitalWrite(PIN_SB, HIGH); digitalWrite(PIN_SC, HIGH); digitalWrite(PIN_SD, HIGH); digitalWrite(PIN_SE, HIGH); digitalWrite(PIN_SF, HIGH); digitalWrite(PIN_SG, LOW); break; case 1: digitalWrite(PIN_SA, LOW); digitalWrite(PIN_SB, HIGH); digitalWrite(PIN_SC, HIGH); digitalWrite(PIN_SD, LOW); digitalWrite(PIN_SE, LOW); digitalWrite(PIN_SF, LOW); digitalWrite(PIN_SG, LOW); break; case 2: digitalWrite(PIN_SA, HIGH); digitalWrite(PIN_SB, HIGH); digitalWrite(PIN_SC, LOW); digitalWrite(PIN_SD, HIGH); digitalWrite(PIN_SE, HIGH); digitalWrite(PIN_SF, LOW); digitalWrite(PIN_SG, HIGH); break; case 3: digitalWrite(PIN_SA, HIGH); digitalWrite(PIN_SB, HIGH); digitalWrite(PIN_SC, HIGH); digitalWrite(PIN_SD, HIGH); digitalWrite(PIN_SE, LOW); digitalWrite(PIN_SF, LOW); digitalWrite(PIN_SG, HIGH); break; case 4: digitalWrite(PIN_SA, LOW); digitalWrite(PIN_SB, HIGH); digitalWrite(PIN_SC, HIGH); digitalWrite(PIN_SD, LOW); digitalWrite(PIN_SE, LOW); digitalWrite(PIN_SF, HIGH); digitalWrite(PIN_SG, HIGH); break; case 5: digitalWrite(PIN_SA, HIGH); digitalWrite(PIN_SB, LOW); digitalWrite(PIN_SC, HIGH); digitalWrite(PIN_SD, HIGH); digitalWrite(PIN_SE, LOW); digitalWrite(PIN_SF, HIGH); digitalWrite(PIN_SG, HIGH); break; case 6: digitalWrite(PIN_SA, HIGH); digitalWrite(PIN_SB, LOW); digitalWrite(PIN_SC, HIGH); digitalWrite(PIN_SD, HIGH); digitalWrite(PIN_SE, HIGH); digitalWrite(PIN_SF, HIGH); digitalWrite(PIN_SG, HIGH); break; case 7: digitalWrite(PIN_SA, HIGH); digitalWrite(PIN_SB, HIGH); digitalWrite(PIN_SC, HIGH); digitalWrite(PIN_SD, LOW); digitalWrite(PIN_SE, LOW); digitalWrite(PIN_SF, LOW); digitalWrite(PIN_SG, LOW); break; case 8: digitalWrite(PIN_SA, HIGH); digitalWrite(PIN_SB, HIGH); digitalWrite(PIN_SC, HIGH); digitalWrite(PIN_SD, HIGH); digitalWrite(PIN_SE, HIGH); digitalWrite(PIN_SF, HIGH); digitalWrite(PIN_SG, HIGH); break; case 9: digitalWrite(PIN_SA, HIGH); digitalWrite(PIN_SB, HIGH); digitalWrite(PIN_SC, HIGH); digitalWrite(PIN_SD, HIGH); digitalWrite(PIN_SE, LOW); digitalWrite(PIN_SF, HIGH); digitalWrite(PIN_SG, HIGH); break; } switch (digit) { case 1: digitalWrite(PIN_D1, LOW); break; case 2: digitalWrite(PIN_D2, LOW); break; case 3: digitalWrite(PIN_D3, LOW); break; case 4: digitalWrite(PIN_D4, LOW); break; } delay(6); }