Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Регулируемый таймер обратного отсчета

Компоненты и расходные материалы

Arduino Mega 2560
Любой Arduino должен работать
× 1
4-значный 7-сегментный дисплей
× 1
Кнопка
× 4
Зуммер
× 1
Перемычки (общие)
× 21
Беспаечный макет, полный размер
× 1

Об этом проекте

Таймер обратного отсчета, наверное, самый естественный проект для 4-х разрядного 7-сегментного дисплея. Изучая то, что доступно в Интернете, я нашел несколько проектов, но не нашел тот, который имел в виду, а именно автономный регулируемый таймер обратного отсчета, который можно удобно настроить с помощью кнопок (а не путем загрузки измененного кода). Поэтому я решил сделать такой.

Я потратил некоторое время на написание кода, который упростит использование и настройку таймера, чтобы его можно было использовать на практике.

Включенный код также может быть использован в других проектах с 4-значным 7-сегментным дисплеем. В частности, у него есть функция, которая отображает заданное число (0-9999) для заданного временного интервала. Возможно, этот функционал есть в некоторых библиотеках, но быстрый поиск его не выявил. Поскольку программирование этого дисплея немного сложно (поскольку вы можете отображать только одну цифру за раз), такая функция действительно удобна.

Код

  • Таймер обратного отсчета с 4-значным 7-сегментным дисплеем
Таймер обратного отсчета с 4-значным 7-сегментным дисплеем C / C ++
Код содержит функцию таймера обратного отсчета, которая запускает обратный отсчет, отображаемый на 4-значном 7-сегментном дисплее. Он также имеет полезную функцию PrintNumber, которая показывает заданное 4-значное число на дисплее в течение заданного времени. Его можно использовать в других проектах.
 #include  int digit_pin [] ={6, 9, 10, 11}; // ШИМ Отображение цифровых выводов слева направоint SpeakerPin =15; #define DIGIT_ON LOW #define DIGIT_OFF HIGHint segA =2; int segB =3; int segC =4; int segD =5; int segE =A0; // вывод 6 используется bij display 1 для его функции pwm int segF =7; int segG =8; // int segPD =; int button1 =13; int button2 =12; int button3 =16; int button4 =17; int countdown_time =60; struct struct_digits {int digit [4]; }; void setup () {pinMode (segA, ВЫХОД); pinMode (segB, ВЫХОД); pinMode (segC, ВЫХОД); pinMode (сегД, ВЫХОД); pinMode (сегмент, ВЫХОД); pinMode (segF, ВЫХОД); pinMode (сегГ, ВЫХОД); для (int я =0; я <4; я ++) {pinMode (digit_pin [я], ВЫХОД); } pinMode (динамикPin, ВЫХОД); pinMode (button1, INPUT_PULLUP); pinMode (button2, INPUT_PULLUP); pinMode (button3, INPUT_PULLUP); pinMode (button4, INPUT_PULLUP);} void playTone (int tone, int duration) {for (long k =0; k  0; q -) {PrintNumber (q, del); если (digitalRead (button2) ==LOW) {return false; }} PrintNumber (0,0); playTone (1519,1000); return true;} void reset () {int м, нули, d, нажата3 =0, нажата4 =0; m =время обратного отсчета; struct struct_digits цифра; dig =IntToDigits (время обратного отсчета); while (digitalRead (button1) ==HIGH) {для (int j =0; j <4; j ++) {SwitchDigit (j); lightNumber (цифра. цифра [j]); задержка (5); } if (digitalRead (button3) ==LOW) {if (loaded3 ==0 || loaded3> 30) {if (countdown_time> 0) {countdown_time - =1; } dig =IntToDigits (countdown_time); } нажал3 + =1; } else if (digitalRead (button4) ==LOW) {if (loaded4 ==0 || loaded4> 30) {if (countdown_time <9999) {countdown_time + =1; } dig =IntToDigits (countdown_time); } нажал4 + =1; } если (digitalRead (button3) ==ВЫСОКИЙ) {нажатый3 =0; } если (digitalRead (button4) ==ВЫСОКИЙ) {нажатый4 =0; }}} недействительный цикл () {сброс (); в то время как (! Обратный отсчет (countdown_time, 962)) {сброс (); } while (digitalRead (button2) ==1) {};} 

Схема


Производственный процесс

  1. Жидкокристаллический дисплей (ЖКД)
  2. Перегрузка метода C#
  3. Экспонат:первичный дисплей
  4. Kuman TFT 3.5 RetroPie 2018
  5. Верилог Задача
  6. Игра Arduino Pong - OLED-дисплей
  7. Что такое сторожевой таймер?
  8. Игровой автомат ATmega на тему пришельцев
  9. Игра с дисплеем Nextion
  10. Взгляд на регулируемые амортизаторы