风筝
发表于: 2020-4-10 15:30:58 | 显示全部楼层

在本篇文章中,我们使用Arduino开发板和LCD显示屏制作了一个简单的秒表,带有启动、停止和复位按钮。常见的秒表有2种模式,开始和停止模式。我们制作的秒表添加了复位功能。这可以通过按下Arduino的复位按钮来完成。


Arduino代码中自带的millis函数使Arduino可以以毫秒为单位显示,十分精确。


所需的组件

我们只需要这些组件中的几个就可以组装电路,如下所示。

●    Arduino UNO开发板

●    1602 LCD显示屏

●    按钮

●    面包板

●    连接跳线


连接电路图

如下图所示组装电路,并进行连接。

Circuit-Diagram.png


将LCD的引脚4、6、11、12、13、14分别连接到Arduino开发板的引脚7、6、5、4、3、2。将两个按钮分别连接到Arduino的数字引脚8和9。


工作过程

将代码上传到Arduino开发板后,它将显示“press start”。因此,只需按开始按钮,然后时间就会开始走。要停止时间,只需按另一个按钮,即Stop按钮。这样,秒表将停止。现在,如果您想复位电路,只需按下Arduino UNO开发板的复位按钮。

1-3.jpg


Stopwatch-Using-Arduino-LCD.jpg


源代码/程序

以下是使用Arduino和LCD显示屏制作的秒表的代码。复制并上传到您的Arduino UNO开发板。

  1. #include <LiquidCrystal.h>
  2. LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

  3. void setup()
  4. {
  5. lcd.begin(16, 2);
  6. lcd.clear();

  7. Serial.begin(9600);

  8. pinMode(8, INPUT);
  9. digitalWrite(8, HIGH);
  10. pinMode(9, INPUT);
  11. digitalWrite(9, HIGH);
  12. }
  13. double i = 0;
  14. double a = millis();
  15. double c ;

  16. void loop()
  17. {
  18. lcd.clear();
  19. lcd.print("press start");
  20. delay(100);

  21. if(digitalRead(8) == LOW)
  22. {

  23. lcd.clear();
  24. a = millis();
  25. while(digitalRead(9) == HIGH)
  26. {

  27. c = millis();
  28. i = (c - a) / 1000;
  29. lcd.print(i);
  30. lcd.setCursor(7,0);
  31. lcd.print("Sec's");
  32. lcd.setCursor(0,0);
  33. Serial.println(c);
  34. Serial.println(a);
  35. Serial.println(i);
  36. Serial.println("......");
  37. delay(100);
  38. }

  39. if(digitalRead(9) == LOW)
  40. {
  41. while(digitalRead(8) == HIGH)
  42. {
  43. lcd.setCursor(0,0);
  44. lcd.print(i);
  45. lcd.setCursor(11,0);
  46. lcd.print("");
  47. lcd.setCursor(0,0);
  48. delay(100);
  49. }
  50. }
  51. }
  52. }
复制代码

跳转到指定楼层
小明叔叔
发表于: 2022-4-22 10:59:47 | 显示全部楼层

楼主,可以帮一下忙吗,有偿
回复

使用道具 举报

风筝
发表于: 2022-4-22 14:23:00 | 显示全部楼层

小明叔叔 发表于 2022-4-22 10:59
楼主,可以帮一下忙吗,有偿

可以加我的QQ:1470127216(风筝)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 700 | 回复: 1483



手机版|

GMT+8, 2024-5-11 00:07 , Processed in 0.048397 second(s), 8 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表