|
本帖最后由 hebjean 于 2017-7-20 14:24 编辑
用到的模块
2560
3231
18B20
USART HMI
线若干
现在做了一小半了,出现的问题是配方页输入键盘呗刷没了视频可以看出来,不知道咋回事,
再有就是配方页怎么把输入的数据发送给2560啊?阶段升温的程序怎么做呢,还想用上PID..
问题一个比一个头疼,现在是遇到瓶颈了。求大神指导~!!如果视频挂了,请移步.......
http://v.youku.com/v_show/id_XMjg2MjY1MzkyNA==.html?spm=a2h3j.8428770.3416059.1
大神请留下联系方式吧。
附上程序!顺便请各位给梳理下程序
#include <Wire.h>
#include <DS3231.h>
#include <OneWire.h>
#include <DallasTemperature.h>
int a; //定义变量,用于存放温度数据
/****************************************************************************
* 名称:温度传感器
* 功能:
* 参数:
****************************************************************************/
// 定义DS18B20数据口连接arduino的2号IO上
#define ONE_WIRE_BUS 2
// 初始连接在单总线上的单总线设备
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
/****************************************************************************
* 名称:时钟模块
* 功能:DS3231
* 参数:
****************************************************************************/
DS3231 Clock;
bool h12;
bool PM;
bool Century=false;
String comdata = ""; //串口数据字符串
int numdata[7] = {}, mark = 0;
int year, month, date, DoW,week , hour, minute, second,temperature; //时间数据缓存
void setup() {
// 设置串口通信波特率
Serial.begin(9600);
// 初始库
sensors.begin();
// 启动I2C(IIC)接口
Wire.begin();
}
void ReadDS3231()
{
int second,minute,hour,date,month,year,temperature;
second=Clock.getSecond();
minute=Clock.getMinute();
hour=Clock.getHour(h12, PM);
date=Clock.getDate();
month=Clock.getMonth(Century);
year=Clock.getYear();
temperature=Clock.getTemperature();
Serial.print("20");
Serial.print(year,DEC);
Serial.print('-');
Serial.print(month,DEC);
Serial.print('-');
Serial.print(date,DEC);
Serial.print(' ');
Serial.print(hour,DEC);
Serial.print(':');
Serial.print(minute,DEC);
Serial.print(':');
Serial.print(second,DEC);
Serial.print('\n');
}
void loop() {
// put your main code here, to run repeatedly:
sensors.requestTemperatures(); // 发送命令获取温度
Serial.print("page2.t100.txt=\""); //指令
Serial.println(sensors.getTempCByIndex(0));
Serial.print("\"");
Serial.write(0XFF); //结束符
Serial.write(0XFF);
Serial.write(0XFF);
Serial.print("t0.txt=\""); //指令
Serial.print(Clock.getYear());
Serial.print("\"");
Serial.write(0XFF); //结束符
Serial.write(0XFF);
Serial.write(0XFF);
Serial.print("t1.txt=\""); //指令
Serial.println(Clock.getMonth(Century));
Serial.print("\"");
Serial.write(0XFF); //结束符
Serial.write(0XFF);
Serial.write(0XFF);
Serial.print("t2.txt=\""); //指令
Serial.println(Clock.getDate());
Serial.print("\"");
Serial.write(0XFF); //结束符
Serial.write(0XFF);
Serial.write(0XFF);
Serial.print("t3.txt=\""); //指令
Serial.println(Clock.getHour(h12, PM));
Serial.print("\"");
Serial.write(0XFF); //结束符
Serial.write(0XFF);
Serial.write(0XFF);
Serial.print("t4.txt=\""); //指令
Serial.println(Clock.getMinute());
Serial.print("\"");
Serial.write(0XFF); //结束符
Serial.write(0XFF);
Serial.write(0XFF);
Serial.print("t5.txt=\""); //指令
Serial.println(Clock.getSecond());
Serial.print("\"");
Serial.write(0XFF); //结束符
Serial.write(0XFF);
Serial.write(0XFF);
Serial.print("t12.txt=\""); //指令
Serial.println(Clock.getTemperature());
Serial.print("\"");
Serial.write(0XFF); //结束符
Serial.write(0XFF);
Serial.write(0XFF);
a=(int)sensors.getTempCByIndex(0); //将温度数据去除小数
Serial.print("add 8,0,"); //指令
Serial.print(a);
Serial.write(0XFF); //结束符
Serial.write(0XFF);
Serial.write(0XFF);
delay(100); //间隔ms(1000ms=1秒)循环一次。
} |
|