Arduino开发:LCD显示时间与温度的变化
1、打开Arduino软件
写入第二步代码

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



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


5、过程中遇到的调试问题:
1、直接从word中拷贝到Arduino中会出现字符错误,在Arduino中重新写一遍句子,看看问题能不能解决。尤其是“”和‘’的问题
2、每段之后的“;”很容易忽略或者写成中文的符号
3、注意“”里面是字符串,如果单独想输入一个字符用‘’
4、不要带电接线,容易烧了电路
5、注意循环结构串口输出建议写一个delay(),要不输出太多
6、在程序前写上接线方式和适用的版本