#include <Servo.h>
Servo myServo;
// სეგმენტების პინები (A, B, C, D, E, F, G)
const int segmentPins[] = {7, 8, 9, 10, 11, 12, 13};
int buttonPin = 4;
int currentNumber = 0;
bool buttonPressed = false;
void setup() {
for (int i = 0; i < 7; i++) pinMode(segmentPins[i], OUTPUT);
pinMode(buttonPin, INPUT_PULLUP);
myServo.attach(5);
displayNumber(currentNumber);
myServo.write(currentNumber * 20);
}
void loop() {
if (digitalRead(buttonPin) == LOW && !buttonPressed) {
buttonPressed = true;
currentNumber = (currentNumber + 1) % 10;
displayNumber(currentNumber);
myServo.write(currentNumber * 20);
delay(250);
}
if (digitalRead(buttonPin) == HIGH) {
buttonPressed = false;
}
}
void displayNumber(int num) {
for (int i = 0; i < 7; i++) {
digitalWrite(segmentPins[i], LOW);
}
if (num == 0) {
digitalWrite(segmentPins[0], HIGH);
digitalWrite(segmentPins[1], HIGH);
digitalWrite(segmentPins[2], HIGH);
digitalWrite(segmentPins[3], HIGH);
digitalWrite(segmentPins[4], HIGH);
digitalWrite(segmentPins[5], HIGH);
} else if (num == 1) {
digitalWrite(segmentPins[1], HIGH);
digitalWrite(segmentPins[2], HIGH);
} else if (num == 2) {
digitalWrite(segmentPins[0], HIGH);
digitalWrite(segmentPins[1], HIGH);
digitalWrite(segmentPins[6], HIGH);
digitalWrite(segmentPins[4], HIGH);
digitalWrite(segmentPins[3], HIGH);
} else if (num == 3) {
digitalWrite(segmentPins[0], HIGH);
digitalWrite(segmentPins[1], HIGH);
digitalWrite(segmentPins[2], HIGH);
digitalWrite(segmentPins[3], HIGH);
digitalWrite(segmentPins[6], HIGH);
} else if (num == 4) {
digitalWrite(segmentPins[1], HIGH);
digitalWrite(segmentPins[2], HIGH);
digitalWrite(segmentPins[5], HIGH);
digitalWrite(segmentPins[6], HIGH);
} else if (num == 5) {
digitalWrite(segmentPins[0], HIGH);
digitalWrite(segmentPins[5], HIGH);
digitalWrite(segmentPins[6], HIGH);
digitalWrite(segmentPins[2], HIGH);
digitalWrite(segmentPins[3], HIGH);
} else if (num == 6) {
digitalWrite(segmentPins[0], HIGH);
digitalWrite(segmentPins[5], HIGH);
digitalWrite(segmentPins[4], HIGH);
digitalWrite(segmentPins[3], HIGH);
digitalWrite(segmentPins[2], HIGH);
digitalWrite(segmentPins[6], HIGH);
} else if (num == 7) {
digitalWrite(segmentPins[0], HIGH);
digitalWrite(segmentPins[1], HIGH);
digitalWrite(segmentPins[2], HIGH);
} else if (num == 8) {
for (int i = 0; i < 7; i++) {
digitalWrite(segmentPins[i], HIGH);
}
} else if (num == 9) {
digitalWrite(segmentPins[0], HIGH);
digitalWrite(segmentPins[1], HIGH);
digitalWrite(segmentPins[2], HIGH);
digitalWrite(segmentPins[3], HIGH);
digitalWrite(segmentPins[5], HIGH);
digitalWrite(segmentPins[6], HIGH);
}
}