Я на днях буду делать видео обзор датчика MQ7 и по питаюсь сделать какой то сигнализатор для СО. Только не понял про считывание данные PWM. Это для чего нужно?Xops писал(а):Нужно вывести показания датчика СО2 на дисплей ТМ1637. С выводом информации на дисплей все ясно. Как считать данные PWM в Flprog не понятно. Хотелось бы создать блок для работы с датчиком- как это сделать?
Код: Выделить всё
#include <SoftwareSerial.h>;
SoftwareSerial mySerial(A0, A1); // A0 - к TX сенсора, A1 - к RX
byte cmd[9] = {0xFF,0x01,0x86,0x00,0x00,0x00,0x00,0x00,0x79};
unsigned char response[9];
Код: Выделить всё
Serial.begin(9600);
mySerial.begin(9600);
Код: Выделить всё
mySerial.write(cmd, 9);
memset(response, 0, 9);
mySerial.readBytes(response, 9);
int i;
byte crc = 0; for (i = 1; i < 8; i++) crc+=response[i];
crc = 255 - crc;
crc++;
if ( !(response[0] == 0xFF && response[1] == 0x86 && response[8] == crc) ) {
Serial.println("CRC error: " + String(crc) + " / "+ String(response[8]));
} else {
unsigned int responseHigh = (unsigned int) response[2]; unsigned int responseLow = (unsigned int) response[3];
unsigned int ppm = (256*responseHigh) + responseLow;
Serial.println(ppm);
}
delay(10000);
пасиб, паржал) а как Ваш блок поймет частоту от датчика? )Xops писал(а):Прикрепления: co2.flp(132Kb)<<