亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
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}; // PWM 显示数字引脚从左到右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; //pin 6 用于 bij display 1 for its pwm functionint 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, OUTPUT); pinMode(segB,输出); pinMode(segC,输出); pinMode(segD,输出); pinMode(segE,输出); pinMode(segF,输出); pinMode(segG,输出); for (int i=0; i<4; i++) { pinMode(digit_pin[i], OUTPUT); } pinMode(speakerPin, OUTPUT); pinMode(button1,INPUT_PULLUP); pinMode(button2,INPUT_PULLUP); pinMode(button3,INPUT_PULLUP); pinMode(button4,INPUT_PULLUP);}void playTone(inttone, int duration) { for (long k =0; k 0; q--){ PrintNumber(q,del); if (digitalRead(button2)==LOW) { return false; } } PrintNumber(0,0);播放音(1519,1000); return true;}void reset() { int m, zeros, d,pressed3 =0,pressed4 =0; m=倒计时时间; struct struct_digits 挖; dig =IntToDigits(countdown_time); while (digitalRead(button1)==HIGH) { for (int j=0; j<4; j++) { SwitchDigit(j); lightNumber(dig.digit[j]);延迟(5); } if (digitalRead(button3)==LOW) { if (pressed3 ==0 ||pressed3> 30) { if (countdown_time> 0) { countdown_time -=1; } dig =IntToDigits(countdown_time); } 按下 3 +=1; } else if (digitalRead(button4)==LOW) { if (pressed4 ==0 ||pressed4> 30) { if (countdown_time <9999) { countdown_time +=1; } dig =IntToDigits(countdown_time); } 按下 4 +=1; } if (digitalRead(button3)==HIGH) { press3=0; } if (digitalRead(button4)==HIGH) { press4=0; } }}void loop(){ reset(); while (!Countdown(countdown_time,962)) { reset(); } while (digitalRead(button2)==1){};}

示意图


制造工艺

  1. 液晶显示器 (LCD)
  2. C# 方法重载
  3. 展览:原始展示
  4. Kuman TFT 3.5 RetroPie 2018
  5. Verilog 任务
  6. Arduino Pong Game - OLED 显示器
  7. 什么是看门狗定时器?
  8. ATmega 外星人主题老虎机
  9. 玩 Nextion Display
  10. Arduino 倒数计时器
  11. 真空荧光显示控制器
  12. 一瞥可调式减震器