|
在本篇文章中,我们使用Arduino开发板和LCD显示屏制作了一个简单的秒表,带有启动、停止和复位按钮。常见的秒表有2种模式,开始和停止模式。我们制作的秒表添加了复位功能。这可以通过按下Arduino的复位按钮来完成。
Arduino代码中自带的millis函数使Arduino可以以毫秒为单位显示,十分精确。
所需的组件 我们只需要这些组件中的几个就可以组装电路,如下所示。 ● Arduino UNO开发板 ● 1602 LCD显示屏 ● 按钮 ● 面包板 ● 连接跳线
连接电路图 如下图所示组装电路,并进行连接。
将LCD的引脚4、6、11、12、13、14分别连接到Arduino开发板的引脚7、6、5、4、3、2。将两个按钮分别连接到Arduino的数字引脚8和9。
工作过程 将代码上传到Arduino开发板后,它将显示“press start”。因此,只需按开始按钮,然后时间就会开始走。要停止时间,只需按另一个按钮,即Stop按钮。这样,秒表将停止。现在,如果您想复位电路,只需按下Arduino UNO开发板的复位按钮。
源代码/程序 以下是使用Arduino和LCD显示屏制作的秒表的代码。复制并上传到您的Arduino UNO开发板。 - #include <LiquidCrystal.h>
- LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
- void setup()
- {
- lcd.begin(16, 2);
- lcd.clear();
- Serial.begin(9600);
- pinMode(8, INPUT);
- digitalWrite(8, HIGH);
- pinMode(9, INPUT);
- digitalWrite(9, HIGH);
- }
- double i = 0;
- double a = millis();
- double c ;
- void loop()
- {
- lcd.clear();
- lcd.print("press start");
- delay(100);
- if(digitalRead(8) == LOW)
- {
- lcd.clear();
- a = millis();
- while(digitalRead(9) == HIGH)
- {
- c = millis();
- i = (c - a) / 1000;
- lcd.print(i);
- lcd.setCursor(7,0);
- lcd.print("Sec's");
- lcd.setCursor(0,0);
- Serial.println(c);
- Serial.println(a);
- Serial.println(i);
- Serial.println("......");
- delay(100);
- }
- if(digitalRead(9) == LOW)
- {
- while(digitalRead(8) == HIGH)
- {
- lcd.setCursor(0,0);
- lcd.print(i);
- lcd.setCursor(11,0);
- lcd.print("");
- lcd.setCursor(0,0);
- delay(100);
- }
- }
- }
- }
复制代码
|