Насколько адекватен мой скетч?

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем tureg1, 19 сен 2019.

  1. tureg1

    tureg1 Нуб

    Сделал скетч для детектора дыма. Хотелось бы узнать насколько он говтов к реальным условиям.
    Обратил внимание на параметр val - со временем он уменьшается и стремиться к нулю, почему так происходит и что с этим делать? Вот скам код:

    Код (C++):
    var SSID = 'setb';
    var PASSWORD = 'pass';
    var NAME = 'tureg123456789';

    var temp = require('@amperka/thermometer').connect(A2);
    var dweet = require('@amperka/dweetio').connect(NAME);

    var led = require('@amperka/led').connect(A1);

    var gasSensor = require('@amperka/gas-sensor').connect({
      dataPin: A4, // разъём SVG
      heatPin: P7, // разъём GHE
      model: 'MQ2'
    });

    var myBuzzer = require('@amperka/buzzer').connect(P8);

    /*
    function run() {
      setInterval(function() {
       
       
       
      }, 1000);
    }

    */


    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);
        dweet.send({
          temperature: temp.read('C'),
          gas: val
        });
        if (val > 20) {
       
        myBuzzer.turnOn();
        myBuzzer.frequency(4000);
        myBuzzer.toggle();
        myBuzzer.beep(0.5, 0.5);
        }
        led.blink(0.1, 0.9);
      }, 1000);
    });




    var wifi = require('@amperka/wifi').setup(function(err) {
      wifi.connect(SSID, PASSWORD, function(err) {
        print('Click this link', dweet.follow());
        //run();
      });
    });

     
     
  2. ИгорьК

    ИгорьК Гуру

    Неадекват 100%, ибо на JavaScript скетчи не пишут.
     
    NikitOS нравится это.
  3. tureg1

    tureg1 Нуб

    а для Iskra JS, можно на чем то другом написать код?
     
  4. ИгорьК

    ИгорьК Гуру

    Нельзя. Начните с того, что на JavaScript пишут СКРИПТЫ!
     
  5. tureg1

    tureg1 Нуб

    ;)
    а по алгоритму есть мысли?
     
  6. NikitOS

    NikitOS Король шутов Администратор

    Работает - не трогай :)
     
  7. ИгорьК

    ИгорьК Гуру

    Весь алгоритм заключен в одной функции:

    Код (Javascript):
    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);
        dweet.send({
          temperature: temp.read('C'),
          gas: val
        });
        if (val > 20) {
     
        myBuzzer.turnOn();
        myBuzzer.frequency(4000);
        myBuzzer.toggle();
        myBuzzer.beep(0.5, 0.5);
        }
        led.blink(0.1, 0.9);
      }, 1000);
    });
    Именно она телебонькает ваш датчег и выдает что-то не то.
    Значит нужно смотреть библиотеку, что вы применяете, сравнивать ее с даташитом и делать выводы.

    И кто должен этим заниматься?
     
  8. ИгорьК

    ИгорьК Гуру

    Навскидку, я бы попробовал уменьшить интервал опроса датчеГа. Посмотрите по даташиту как часто можно его тренькать.
     
  9. tureg1

    tureg1 Нуб

    где это смотреть?

    сейчас пытаюсь переделать код под датчик MQ-9, не могу понять исходя из этого мануала http://wiki.amperka.ru/js:gas-sensor#cycleheat кроме замены prehead на cycleheat, нужно что то еще делать или нет? Опять же какой интервал задать? Боюсь сделать что то неправильно, вдруг потом боком выйдет, перегреется и сам будет причиной пожара :eek:
     
  10. parovoZZ

    parovoZZ Гуру

    а он уже умеет задымление определять? :eek:
     
  11. tureg1

    tureg1 Нуб

    не знаю, а какой может? Он может определять угарный газ, а это больше имеет отношение пожару чем MQ2, разве нет?
     
  12. parovoZZ

    parovoZZ Гуру

    датчик дыма

    ну так это датчик угарного газа и прочих горючих газов. Дым здесь причем? СО может образоваться и вовсе без дыма, как и дым без СО. При пожаре и хорошем доступе кислорода CO выгорает до CO2.
     
  13. tureg1

    tureg1 Нуб

    окей, тогда посоветуй что лучше использовать для пожарной сигнализации, желательно конкретные модели
     
  14. parovoZZ

    parovoZZ Гуру

    ДИП-31
     
  15. tureg1

    tureg1 Нуб

    как его подключать к искре js? библиотеки же нет для него
     
  16. NikitOS

    NikitOS Король шутов Администратор

    Если нет библиотеки, это не значит, что нельзя подключить
    Смотрим документацию и пишем код
     
  17. parovoZZ

    parovoZZ Гуру

    На датчик подать напряжение через резистор. МК отслеживать напряжение в линии. Как только упало, значит датчик сработал. Какое напряжение подать в линию - смотрим паспорт на датчик.