【求教】多个传感器的程序应该怎么写?
arduino吧
全部回复
仅看楼主
level 11
需要用arduino接收和处理多个传感器的数据,单个的我会写,但是多个的不是太明白,我试着单纯叠加每个程序结果编译错误。求指教,还有就是如何保证arduino接收多个种类数据不会有时间差?
谢谢啦
2015年03月31日 10点03分 1
level 8
什麼传感器
2015年03月31日 11点03分 2
温湿度,压力,光强,还有一个lcd显示屏
2015年03月31日 11点03分
level 11
一般就是把程序合起来就行了,你说有错误是什么错误?放程序来看看。
2015年04月01日 12点04分 3
你看楼下
2015年04月01日 12点04分
level 11
光感的
void setup()
{
// 初始化串口
Serial.begin(9600);
}
void loop()
{
// 读出当前光线强度,并输出到串口显示
int sensorValue = analogRead(A0);
Serial.println(sensorValue);
delay(1000);
}
和温湿度感应器的
#include<dht11.h>
dht11 DHT11;
#define DHT11PIN 2
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println("\n");
// 读取传感器数据
int chk = DHT11.read(DHT11PIN);
Serial.print("Read sensor: ");
// 检测数据是否正常接收
switch (chk)
{
case DHTLIB_OK:
Serial.println("OK");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.println("Checksumerror");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.println("Timeout error");
break;
default:
Serial.println("Unknownerror");
break;
}
// 输出湿度与温度信息
Serial.print("Humidity(%): ");
Serial.println(DHT11.humidity);
Serial.print("Temperature (oC): ");
Serial.println(DHT11.temperature);
delay(1000);
上面是单独每个传感器的代码,然后合到一起就发现不能编译
2015年04月01日 12点04分 4
@fish6823 帮我看看吧,谢了
2015年04月01日 12点04分
回复 大白兔和彩虹糖 :你是怎么合起来的?放合起来的程序。
2015年04月01日 13点04分
@fish6823 放到楼下了
2015年04月01日 13点04分
回复 大白兔和彩虹糖 :看了一下这两个程序也不对呀,你确定能运行?
2015年04月01日 13点04分
level 11
#include <dht11.h>
#define DHT11PIN 2
dht11 DHT11;
void setup()
{
Serial.begin(9600);
}
void loop()
{
int sensorValue = analogRead(A0);
Serial.println(sensorValue);
Serial.println("\n");
Serial.print("Read sensor: ");
switch (chk)
{
case DHTLIB_OK:
Serial.println("OK");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.println("Checksum error");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.println("Time out error");
break;
default:
Serial.println("Unknown error");
break;
}
Serial.print("Humidity (%): ");
Serial.println(DHT11.humidity);
Serial.print("Temperature (oC): ");
Serial.println(DHT11.temperature);
int chk = DHT11.read(DHT11PIN);
delay(1000);
2015年04月01日 13点04分 5
最后少了个} 然后int chk = DHT11.read(DHT11PIN);这一句改放到int sensorValue = analogRead(A0);的前面。
2015年04月01日 13点04分
@fish6823 果然成功了,十分感谢啊
2015年04月01日 13点04分
@fish6823 我还有个问题,就是说如果这样把不同传感器的程序加在一起,那么arduino接收每个传感器的数据会不会有时间差?因为我是要做成lcd输出的,所以想问问这样会不会有影响?
2015年04月01日 13点04分
回复
�����úͲʺ���
:不用谢,其实细心点就能看出来的,错误提示也有的。
2015年04月01日 13点04分
level 2
请问你这个DHT11是模块还是单个元器件?我用模块不知道为什么显示乱码😫😫😫
2016年12月29日 11点12分 6
level 2
楼主的问题得到解决了嘛?????
2018年03月13日 02点03分 8
早就解决了啊
2018年07月10日 15点07分
level 1
楼主,代码还在吗?如何实现的呢
2020年12月08日 02点12分 9
1