Собираюсь подключить разные датчики, так вот пока что тестировал только два, три и заметил вот что. Значение датчика освещенности влияет на результат датчика газа MQ2. Смотрите кусочек из лога, когда в помещении вечером темно свет 0.99 Lx, а по дыму получаем 17 ppm. стоит мне включить настольную лампу как свет становится 53.36 Lx а дым 5 ppm. Такой же эксперемент проводил днем, открывал и закрывал жалюзи. Моментально значения освещенности влияют на результат по газам. Причем днем была обратная зависимость там дым скакал вверх и до 800 когда жалюзи открыты. Подключаю датчики к тройка шилд. Пробовал подключать как на соседние пины, так и совсем в разных сторонах. Результат всегда удручает. Что делать с этим?
Ну ок попробовал, тестовый код вот такой: Код (C++): void loop() { //1. Датчик освещённости for (int i = 1; i <= 10; i++) { // считывание данных с датчика освещённости delay(1000); } // delay(1000); //2. Датчик газов for (int i = 1; i <= 10; i++) { // считывание данных с датчика освещённости delay(1000); } // delay(1000); //3. Датчик температуры for (int i = 1; i <= 10; i++) { // считывание данных с датчика освещённости delay(1000); } delay(1000); } В целом стало лучше, но по прежнему освещенность влияет на газ, кроме того кое что новое заметил. Этот код по освещенности выводит такую картину: т.е. при каждом считывании то 44 то 50. бл* это же чушь какая то... А это че такое?
Ну хз я тоже так хотел бы думать... Свет выключен, Lx показывают одно значение, а задымленность 16 ppm - 18 ppm. Стоит мне только включит свет как все показания выводят по циклу 10 ppm - 12 ppm.
Ну 20, 30 измерений подряд. В ардуино входы рассчитаны на импеданс в 10к. Если у вас там фоторезистор в 100к, с таким же плечом, то и считайте, сколько раз нужно повторять измерение для входа в 200к. Что такое буферный усилитель есть в гугле. Если в кратце, то такой усилитель, на входе которого большой импеданс, а на выходе близкий к нулю.
Сами поняли что сказали? Естественно я прогреваю MQ2 при старте, если вы это имели ввиду. Ну я их в сниппет и не вставлял чтобы место не занимать. Чтение разумеется есть в коде, там ошибок быть не может. Провел сейчас эксперимент 100 измерений для MQ2 подряд с задержкой в 1с между каждым. Ничего не поменялось. В любой итерации с включенной ламой выдает Smoke: 20 ppm, выключаю свет повышается до 31 ppm. Ну у меня Датчик освещённости (Troyka-модуль) от амперки. Сделаю проще, выкину нафиг MQ2.
Что измеряет этот кот? Код (C++): void loop() { //1. Датчик освещённости for (int i = 1; i <= 10; i++) { // считывание данных с датчика освещённости delay(1000); } // delay(1000); //2. Датчик газов for (int i = 1; i <= 10; i++) { // считывание данных с датчика освещённости delay(1000); } // delay(1000); //3. Датчик температуры for (int i = 1; i <= 10; i++) { // считывание данных с датчика освещённости delay(1000); } delay(1000); }