#include #include "segman.hh" void setup() { Serial.begin(9600); pinMode(LED_BUILTIN, OUTPUT); pinMode(PIN_D1, OUTPUT); pinMode(PIN_D2, OUTPUT); pinMode(PIN_D3, OUTPUT); pinMode(PIN_D4, OUTPUT); pinMode(PIN_SA, OUTPUT); pinMode(PIN_SB, OUTPUT); pinMode(PIN_SC, OUTPUT); pinMode(PIN_SD, OUTPUT); pinMode(PIN_SE, OUTPUT); pinMode(PIN_SF, OUTPUT); pinMode(PIN_SG, OUTPUT); digitalWrite(PIN_D1, HIGH); digitalWrite(PIN_D2, HIGH); digitalWrite(PIN_D3, HIGH); digitalWrite(PIN_D4, HIGH); // digitalWrite(PIN_SA, HIGH); } int displayedValue = 0; void displayValue() { int temp = displayedValue; for (int i = 0; i < 3; ++i) { int digit = temp % 10; writeDigit(3 - i, digit); temp /= 10; } } void measureLight() { int value = analogRead(PIN_LDR); displayedValue = 100 - (int)(value / 10); } unsigned long lastMillis = 0; const int minDelta = 10; void loop() { if (millis() - lastMillis >= minDelta) { measureLight(); lastMillis = millis(); } displayValue(); }