у меня есть arduino uno, xbee pro series 2 b и voc-датчик: tgs 2602. я хочу отправить значение сопротивления датчика через xbee на последовательный монитор от arduino. tgs2602 --> xbee -- xbee --> xbee Shield --> Arduino Uno
Я настраиваю свой первый xbee как маршрутизатор в AT Modus с частотой дискретизации 1000 мс и своим координатором в API. эскиз, который я использовал, выглядит так:
//Remote XBee:AT, Base XBee:API
float voc;
void setup(){
Serial.begin(9600);
};
void loop(){
if(Serial.available() >=21){ //Makesure the frame is all there
if (Serial.read()== 0x7E){ //7E is the start byte
for (int i = 1; i<18; i++) { //Skip ahead to the analog data
byte discardByte = Serial.read();
}
int analogMSB = Serial.read(); // Read the first analog byte data
int analogLSB = Serial.read(); //Read the second byte
int analogReading = analogLSB + (analogMSB * 256);
float volt = analogReading/1023.0 * 5 ; // Rechne die von ADC ausgegebenen Werten in Volt um
float Rs1 = 10*(5-volt)/volt; //Rechne den Widerstandswert
Serial.println(Rs1);
}
}
}
я взял этот код в примере на ютубе.
Данные, которые я получил в последовательном мониторе, - 5105. Это значение не меняется, даже когда я касаюсь датчика.
Почему? Я делаю что-то неправильно.
Мне нужна ваша помощь.
Спасибо
analogMSB
иanalogLSB
? Они различаются? Подключен ли датчик к первому аналоговому входу (A0)? - person tomlogic   schedule 30.04.2014ATD1
как аналоговый вход (установите его на 2), аATD0
как отключенный, если вы используете 2-й аналоговый вход. Или переместите датчик на первый аналоговый вход. - person tomlogic   schedule 05.05.2014