|
刚开始接触Arduino,之前只有高中的电路知识跟最简单的C基础。
想做一个多路的K型测温方案。
根据如下连接的教程,单路成功了。
http://www.geek-workshop.com/for ... =max6675&page=1
然后根据帖子的回复,尝试两路的测温方案,利用数组进行CS信号的选择。
于是,硬件线路连接如下:
VCC,GND,SO, SCK 全部并联,接在11跟8上面。
CS分别接在9 跟 10.
我的代码如下:
#include <Max6675.h>
int csCount=2; //片选数量
int CS[] = {9,10};
int i;
Max6675 ts(11, CS, 8);
void setup()
{
ts.setOffset(0);
// set offset for temperature measurement.
// 1 stannds for 0.25 Celsius
Serial.begin(9600);
}
void loop()
{
for (i=0; i<csCount; i++) {
Serial.print(CS);
Serial.print("temp. is ");
Serial.print(ts.getCelsius(), 2);
Serial.print(" C /\n");
delay(500);
}
delay(1000);
}
测出来的结果是,温度乱跳:
10temp. is 0.00 C /
9temp. is 0.00 C /
10temp. is 0.00 C /
9temp. is 1.00 C /
10temp. is 0.00 C /
9temp. is 6.75 C /
10temp. is 13.50 C /
9temp. is 27.00 C /
10temp. is 54.00 C /
9temp. is 108.00 C /
10temp. is 216.00 C /
9temp. is 0.00 C /
10temp. is 0.00 C /
9temp. is 0.00 C /
10temp. is 0.00 C /
请大侠指正,万分感谢。 |
|