|
新的PM2.5 支持串口和电压输出,比以前好用多了。
测试代码:
串口连10,11
电压输出口,连A0
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(9600);
Serial.println("Goodnight moon!");
// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
Serial.println(0x05, HEX);
Serial.println(0xFE, HEX);
pinMode(A0,INPUT);
query();
}
void query() {
// 05FEF503
uint8_t q_str[5];
q_str[0] = 0x05;
q_str[1] = 0xFE;
q_str[2] = 0xF5;
q_str[3] = 0x03;
mySerial.write(q_str,4);
}
int val1, val2, value;
void loop() // run over and over
{
query();
delay(1000);
int sensorValue = analogRead(A0);
// map it to the range of the analog out:
int outputValue = map(sensorValue, 0, 1023, 20, 500);
Serial.print("sensor = " );
Serial.print(sensorValue);
Serial.print("\t output = ");
Serial.println(outputValue);
while(mySerial.available() > 3) {
if ( mySerial.read() == 6) {
val1 = mySerial.read();
val2 = mySerial.read();
value = val1*256 + val2;
Serial.print(6, HEX);
Serial.print(' ');
Serial.print(val1, HEX);
Serial.print(' ');
Serial.print(val2, HEX);
Serial.print(' ');
Serial.println(value);
}
}
}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|