Arduino开发:LCD显示时间与温度的变化

2025-11-05 20:01:46

1、打开Arduino软件

写入第二步代码

Arduino开发:LCD显示时间与温度的变化

2、#include <LiquidCrystal.h> //LCD1602的库

#include  <Wire.h>  //DS1307需要的库

#include  <RTClib.h>  //DS1307需要的库

RTC_DS1307  DS1307; //给DS1307的库设置对象,对象名DS1307

LiquidCrystal lcd1602(12, 11, 5, 4, 3, 2);//设置Arduino与LCD液晶屏的接口

int potPin = 3;//温度传感器信号输入端是模拟接口3,A3,因为时钟要用A4(SDA)和A5(SCL)

float temperature = 0;//设置一个温度的变量

long val=0;

int hour;

int minute;

int second;

void setup()

{

Serial.begin(9600);

Wire.begin(); //初始化总线

DS1307.begin(); //初始化时钟

DS1307.set(RTC_SECOND, 00);  //初始化时钟的时间

DS1307.set(RTC_MINUTE, 30);

DS1307.set(RTC_HOUR, 07);

DS1307.set(RTC_DAY, 07);

DS1307.set(RTC_MONTH, 10);

DS1307.set(RTC_YEAR, 14);

lcd1602.begin(16, 2);//初始化液晶面板

lcd1602.print("time to temperature");//显示文字

pinMode(13,OUTPUT);

delay(1000);

}

void loop ()

{

   /*读取时间与温度传感器数据*/

val = analogRead(potPin);//从模拟接口A3读取温度传感器的信号

temperature=(100*val*5.0/1024);

DateTime now = DS1307.now();// 获取当前时间给now实例

hour=now.hour();// 获取当前时间小时

minute=now.minute();// 获取当前时间给分钟

second=now.second();// 获取当前时间给秒

/*把信息输出到LCD上*/

lcd1602.clear();

lcd1602.print("  t     Temp  ");//第一行显示的内容

lcd1602.setCursor(0,1) ;//将光标显示在第二行

lcd1602.print(hour);//在LCD第二行上输出hour

lcd1602.print(':');

lcd1602.print(minute);//在LCD上输出minute

lcd1602.print(':');

lcd1602.print(second);//在LCD上输出second

lcd1602.print("     ");//在LCD上输出两个空格

lcd1602.print(temperature);

lcd1602.print('C');

/*与电脑串口通讯,波特率9600*/

    printTime(now);

digitalWrite(13,HIGH);

delay(500);

digitalWrite(13,LOW);

delay(500);

}

void printTime(DateTime dateTime)

{

    Serial.print("data:");

Serial.print(dateTime.year(), DEC); //传送年份,DEC是十进制的表示的含义

Serial.print('/');

Serial.print(dateTime.month(), DEC); //传送月份

Serial.print('/');

Serial.print(dateTime.day(), DEC); //传送月份中的第几天

Serial.print(' ');//显示一个空格

Serial.print(dateTime.hour(), DEC); //传送小时

Serial.print(':');

Serial.print(dateTime.minute(), DEC); //传送分钟

Serial.print(':');

Serial.print(dateTime.second(), DEC); //传送秒

Serial.print(' ');

Serial.print("temperature:");//显示温度

Serial.print(temperature);

Serial.print('C');

Serial.println();

}

3、Arduino断电连线:

LCD1602与Arduino接线

VSS——GND

VCC——5V

VO——1K欧+GND

RS——G12

RW——GND

E——G11

D4——pin5

D5——pin4

D6——pin3

D7——pin2

A——3.3V

K——GND

热电偶与Arduino接线

红线——5V

绿线——GND

黄线——A3

DS1307与Arduino接线

SDA——A4

SCL——A5

实现功能

连接时间和温度传感器

串口输出时间、温度数据

LCD显示时间、温度数据

适用版本:Arduino 1.0.5

Arduino开发:LCD显示时间与温度的变化

Arduino开发:LCD显示时间与温度的变化

Arduino开发:LCD显示时间与温度的变化

4、Arduino板子与电脑连接,把程序编译写入板子,然后就能显示LCD就能显示温度与时间啦,同时电脑端也可以通过串口查看器来显示。

Arduino开发:LCD显示时间与温度的变化

Arduino开发:LCD显示时间与温度的变化

5、过程中遇到的调试问题:

1、直接从word中拷贝到Arduino中会出现字符错误,在Arduino中重新写一遍句子,看看问题能不能解决。尤其是“”和‘’的问题

2、每段之后的“;”很容易忽略或者写成中文的符号

3、注意“”里面是字符串,如果单独想输入一个字符用‘’

4、不要带电接线,容易烧了电路

5、注意循环结构串口输出建议写一个delay(),要不输出太多

6、在程序前写上接线方式和适用的版本

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢