датчик MQ135 и iskra js

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем TrashPony, 16 фев 2018.

  1. TrashPony

    TrashPony Нуб

    Добрый день имеется датчик mq 135 в вики сказано что он поддерживается библиотекой http://wiki.amperka.ru/js:gas-sensor

    но при компиляции с параметром model: MQ135 выдает ошибку "Function "preheat" not found!"

    залез в библиотеку на гит хаб https://github.com/amperka/espruino-modcat/blob/master/modules/@amperka/gas-sensor.js
    и там нечего нету про MQ 135 и CO2

    код использую из вики:
    Код (Javascript):
    var gasSensor = require('@amperka/gas-sensor').connect({
      dataPin: A0, // разъём SVG
      heatPin: P13, // разъём GHE
      model: 'MQ135'
    });

    gasSensor.preheat(function() {
      var basePpm = gasSensor.calibrate();
      print('PPM base in current environment: ', basePpm);

      setInterval(function() {
        var val = gasSensor.read('LPG');
        print('LPG PPM =', val);
      }, 1000);
    });
    что я делаю не так и как быть? :(
     
  2. sys

    sys Оракул

    действительно, в самом коде модуля gas-sensor нет описания свойств для MQ135...

    попробуйте http://www.espruino.com/MQ135
     
  3. dpro

    dpro Нерд

  4. TrashPony

    TrashPony Нуб

    Спасибо за ответы буду пробовать
     
  5. Ampermeter

    Ampermeter Нерд

    Получилось ли что-нибудь?
    Пытаюсь получить что-то с Тройка-модуля MQ135.

    У меня с той библиотекой с сайта Espruino получается ерунда.
    Ведь, как минимум, не ясны номиналы согласующего резистора на тройка-модуле.
    У меня получились довольно разумно с кодом, взятым отсюда.
    Открыл сейчас окно и ppm упало до 850., а так было в районе 1300.
    Пока установил mqR = 10000;

    Кстати, по неопытности, перепутал и установил тройка модуль в тройка-слот шилд наоборот и мерил напряжение питания :oops: Сейчас перевернул датчик в контактах и заработало как надо :cool:

    Я новичок в arduino-мире, и мне не ясен такой момент:
    функция
    Код (Javascript):
    analogRead(PIN);
    для Iskra JS возвращает значение [0,1]
    А в классическом Arduino - там [0, 1023]
    Поэтому я изменил в коде, взятом из блога Davide Gironi, пересчёт следующим образом:
    Код (Javascript):
    let adcRaw = analogRead(mqInput);
    let rS = mqR * (1/adcRaw - 1);
    Напряжение E.getAnalogVRef(), которое также можно видеть в формуле библиотеки от Амперки не нужно, т.к. оно сокращается, присутствуя и в числителе и в знаменателе формулы.

    В указанной выше библиотеке для Espruino там тоже домножение на 1023 и абсолютно "левые" результаты на выходе.

    Пока не ясен номинал mqR. Он там 10к на тройка-модуле? Или 22к, как у автора блога...

    А вообще, представители Amperka это читают?
    Хотелось бы иметь поддержку MQ135 в виде тройка-модуля от Амперки в той же штатной JS-библиотеке от Амперки, тем более что нас вводят в заблуждение описанием в Wiki, что поддержка данного датчика имеется.
     
    Последнее редактирование: 3 мар 2018
    arkadyf нравится это.