Код
Код Arduino
Используйте этот код для запуска таймера обратного отсчета // 7-сегментный номер вывода - 7-сегментный индикатор - номер вывода Arduino // вывод 11 - A =12 // вывод 7 - B =10 // вывод 4 - C =8 / / вывод 2 - D =7 // вывод 1 - E =6 // вывод 10 - F =11 // вывод 5 - G =9 // вывод 3 десятичный / * 12 11 10 9 8 7 | | | | | | A --- F | | B | G | --- E | | C | | ---. дек D | | | | | | 1 2 3 4 5 6 * /// вывод 12 - первая цифра =1 // вывод 9 - вторая цифра =2 // вывод 8 - третья цифра =3 // вывод 6 четвертая цифра =4const int a =12; const int b =10; const int c =8; const int d =7; const int e =6; const int f =11; const int g =9; int p =0; int startStopReset =13; const int d1 =1; const int d2 =2; const int d3 =3; const int d4 =4; long n =60000; // время начала -> МОЖНО ИЗМЕНИТЬСЯ НА ВРЕМЯ, КОТОРОЕ ВЫ ХОТИТЕ int x =100; int del =55; // значение задержки void setup () {pinMode (d1, OUTPUT); pinMode (d2, ВЫХОД); pinMode (d3, ВЫХОД); pinMode (d4, ВЫХОД); pinMode (а, ВЫХОД); pinMode (b, ВЫХОД); pinMode (c, ВЫХОД); pinMode (d, ВЫХОД); pinMode (e, ВЫХОД); pinMode (f, ВЫХОД); pinMode (g, ВЫХОД); pinMode (p, ВЫХОД); pinMode (startStopReset, ВХОД); digitalWrite (startStopReset, HIGH); } void loop () {digitalWrite (p, HIGH); clearLEDs (); pickDigit (1); pickNumber ((n / x / 1000)% 10); delayMicroseconds (del); clearLEDs (); pickDigit (2); pickNumber ((n / x / 100)% 10); delayMicroseconds (del); clearLEDs (); pickDigit (3); dispDec (3); pickNumber ((n / x / 10)% 10); delayMicroseconds (del); clearLEDs (); pickDigit (4); pickNumber (n / x% 10); delayMicroseconds (del); п--; // 'n ++' для секундомера if (digitalRead (13) ==LOW) {n =60000; // время перезапуска -> ИЗМЕНИТЬ НА ЛЮБОЕ ВРЕМЯ, КОТОРОЕ ВЫ УСТАНОВИЛИ (время начала)}} void pickDigit (int x) // меняет цифру {digitalWrite (d1, HIGH); digitalWrite (d2, HIGH); digitalWrite (d3, HIGH); digitalWrite (d4, HIGH); переключатель (x) {случай 1:digitalWrite (d1, LOW); ломать; случай 2:digitalWrite (d2, LOW); ломать; случай 3:digitalWrite (d3, LOW); digitalWrite (p, HIGH); // новый перерыв; по умолчанию:digitalWrite (d4, LOW); ломать; }} void pickNumber (int x) // изменяет значение числа {switch (x) {default:zero (); ломать; случай 1:один (); ломать; случай 2:два (); ломать; случай 3:три (); ломать; случай 4:четыре (); ломать; случай 5:пять (); ломать; case 6:шесть (); ломать; case 7:семь (); ломать; case 8:восемь (); ломать; case 9:девять (); ломать; }} void dispDec (int x) {digitalWrite (p, LOW);} void clearLEDs () {digitalWrite (a, LOW); digitalWrite (b, LOW); digitalWrite (c, LOW); digitalWrite (d, LOW); digitalWrite (e, LOW); digitalWrite (f, LOW); digitalWrite (g, LOW); digitalWrite (p, LOW);} недействительный ноль () {digitalWrite (a, HIGH); digitalWrite (b, ВЫСОКИЙ); digitalWrite (c, ВЫСОКИЙ); digitalWrite (d, HIGH); digitalWrite (e, HIGH); digitalWrite (f, HIGH); digitalWrite (g, LOW);} один недействительный () {digitalWrite (a, LOW); digitalWrite (b, ВЫСОКИЙ); digitalWrite (c, ВЫСОКИЙ); digitalWrite (d, LOW); digitalWrite (e, LOW); digitalWrite (f, LOW); digitalWrite (g, LOW);} недействительным два () {digitalWrite (a, HIGH); digitalWrite (b, ВЫСОКИЙ); digitalWrite (c, LOW); digitalWrite (d, HIGH); digitalWrite (e, HIGH); digitalWrite (f, LOW); digitalWrite (g, HIGH);} void three () {digitalWrite (a, HIGH); digitalWrite (b, ВЫСОКИЙ); digitalWrite (c, ВЫСОКИЙ); digitalWrite (d, HIGH); digitalWrite (e, LOW); digitalWrite (f, LOW); digitalWrite (g, HIGH);} недействительным четыре () {digitalWrite (a, LOW); digitalWrite (b, ВЫСОКИЙ); digitalWrite (c, ВЫСОКИЙ); digitalWrite (d, LOW); digitalWrite (e, LOW); digitalWrite (f, HIGH); digitalWrite (г, ВЫСОКИЙ);} недействительным пять () {digitalWrite (а, ВЫСОКИЙ); digitalWrite (b, LOW); digitalWrite (c, ВЫСОКИЙ); digitalWrite (d, HIGH); digitalWrite (e, LOW); digitalWrite (f, HIGH); digitalWrite (g, HIGH);} void six () {digitalWrite (a, HIGH); digitalWrite (b, LOW); digitalWrite (c, ВЫСОКИЙ); digitalWrite (d, HIGH); digitalWrite (e, HIGH); digitalWrite (f, HIGH); digitalWrite (г, ВЫСОКИЙ);} void seven () {digitalWrite (а, ВЫСОКИЙ); digitalWrite (b, ВЫСОКИЙ); digitalWrite (c, ВЫСОКИЙ); digitalWrite (d, LOW); digitalWrite (e, LOW); digitalWrite (f, LOW); digitalWrite (g, LOW);} недействительным восемь () {digitalWrite (a, HIGH); digitalWrite (b, ВЫСОКИЙ); digitalWrite (c, ВЫСОКИЙ); digitalWrite (d, HIGH); digitalWrite (e, HIGH); digitalWrite (f, HIGH); digitalWrite (г, ВЫСОКИЙ);} недействительным девять () {digitalWrite (а, ВЫСОКИЙ); digitalWrite (b, ВЫСОКИЙ); digitalWrite (c, ВЫСОКИЙ); digitalWrite (d, HIGH); digitalWrite (e, LOW); digitalWrite (f, HIGH); digitalWrite (g, HIGH);}