MH-Z19B и отключение автокалибровки
- Войдите на сайт для отправки комментариев
Вс, 22/12/2019 - 01:41
Здравствуйте! Имеется датчик MH-Z19B и скетч который я написал на основе чужого. Всё работает- CO2 мерит и даже на LCD выводит, но необходимо добавить возможность отключения/включения функции автокалибровки управляемую тумблером. Мне всё понятно с if-else, но как ввести саму команду? Я пытался разобраться читая материал в инете, но только ещё больше запутался...
#include <SoftwareSerial.h> SoftwareSerial mySerial(14, 15); // A0 - к TX сенсора, A1 - к RX void setup() { Serial.begin(9600); mySerial.begin(9600); } void loop() { 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); x=ppm; }
Вот участок кода который у меня отвечает за работу датчика.
Так же я нашёл эти нужные мне команды в инете:
// Serial3.write("\xFF\x01\x79\x00\x00\x00\x00\x00\x86"); ABC logic off // Serial3.write("\xFF\x01\x79\xA0\x00\x00\x00\x00\xE6"); ABC logic on
Но как конкретно их вставить в код? Так и писать или нужно что то ещё добавить? Просто это не светодиод, а внутренние команды и срабатывание не будет видно невооруженному глазу, поэтому и хочу уточнить у знающих людей...
Но как конкретно их вставить в код? Так и писать или нужно что то ещё добавить?
например так
и потом подставить вместо cmd в код выше
и потом подставить вместо cmd в код выше
mySerial.write(unsigned char cmd_on[], 9);
так?
mySerial.write(unsigned char cmd_on[], 9);
так?
нет.
И после такой строчки желание помогать резко пропало. У нас тут не детский сад, первые пару глав учебника по языку Си никто вам обьяснять не будет.
после такого сразу очевидно. что фраза "скетч который я написал" - чистое вранье.
Ну извините, я не профессионал в языке Си в отличии от вас. К тому же я сказал что я не написал его, а взял чужой за основу, по факту мне не очень понятны некоторые функции с языком Си, иначе бы я написал сам, а не брал чужой модуль. Остальные части кода я писал сам, но я их и не приводил- они проблемы не вызывают и понятны мне, спрашивал только то что не ясно. Не все в отличии от вас могут уделить своему хобби большое количество времени(хотя возможно в вашем случае это и профессия), так что я не понимаю причины вашего высокомерия...
Кто то может подсказать ещё не оскорбляя?
MH-Z19 никак не подтверждает отключение ABC logic и статуса не возвращает.
К тому же, без контрольного прибора нет гарантии, что функция ABC logic будет отключена в необходимый момент, когда сенсор за 400PPM принял действительно 400, а не, к примеру, 800 единиц
Кто то может подсказать ещё не оскорбляя?
Так тебе ж уже подсказали - надо прочитать
Какие ещё подсказки тебе нужны?