Модули Амперки и JavaScript

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем Искранавт, 16 июн 2016.

  1. Купил Искру и несколько модулей амперки к ней. В частности Силовой ключ. Поставил Iskra JS. Работает нормально. Завел скетч из описания модуля Амперки. Интерпретатор отказывается читать void setup ( как я понял это Ардуиновское ). Посмотрел другие скетчи к модулям - то же самое - везде присутствует void...Наверное кто-то уже сталкивался с этим. Хотел бы попросить разработчиков и более опытных форумчан подсказать как переписать Ардуиновские скетчи под модули Амперки, в частности под Силовой ключ. Заранее спасибо!
     
  2. Unixon

    Unixon Оракул Модератор

  3. ИгорьК

    ИгорьК Гуру

    Посмотрите здесь. Может пригодится.

    Что касается кода со страницы Амперки, то вот он:
    Код (Javascript):
    var led = P9;  // ножка, куда присоединить ключ
    var brightness = 0;  // начальное значение яркости
    var fadeAmount = 5;  // изменение яркости

    setInterval(function(){ // "setInterval" - функция, которая устанавливает интервал вызова функции "function()"
        analogWrite(led, brightness/100);  // пишем значение яркости. Значение должно быть в диапазоне 0 - 1
        brightness = brightness + fadeAmount; // меняем значение
        if (brightness === 0 || brightness === 100) { // меняем направление изменения значения
            fadeAmount = -fadeAmount ;
        }
    }, 30); // интервал вызова "function()" - 30 мс
     
    Этот код даже лучше, чем со страницы Амперки, потому что АВТОМАТИЧКСКИ решает одну неявную задачу: изменения яркости будут происходить без задержки самой программы. Вы можете писать код дальше не задумываясь ни о чем: повторить код для другого ключа и он будет работать самостоятельно.
    Для Си независимое зажигание двух лампочек - это уже непростая проблема.

    Почему такая странная арифметика? Действительно, было бы проще менять значения в пределах 0 -1 с шагом 0.05, однако тогда бы мы сравнивали цифры с плавающей точкой, и, как это ни удивительно, выражение (0.95 + 0.05) могло бы оказаться не равным единице. Да точно не оказалось бы.
    Добро пожаловать в удивительный мир JS, который Вам теперь придется изучать. Лучше всего читать здесь.
    Однако...
    Вот здесь, один товарищ уверенно обещал программировать Iskra JS на Си - вы его держитесь, может будет делиться опытом.

    Опс. А у Амперки на странице http://wiki.amperka.ru/js:iskra_js нет даже информации, к какой ноге присоединен "Светодиод свободного назначения."...

    ПыСы. Я это написал на коленке без проверки, так что если что-то не так - спрашивайте.
     
    Последнее редактирование: 16 июн 2016
    Искранавт нравится это.
  4.  
  5. Спасибо за оперативность и широту освещения темы! Углубимся;)
     
  6. ИгорьК

    ИгорьК Гуру

    Да я сам только месяц как JS изучаю :)
    Очень нравится по сравнению с Си для МК, но есть некоторые темы пока не ясные в принципе.
     
  7. r1000ru

    r1000ru JS-технократ

    А вот и нет :) Ну тут нужно проматывать страницу до раздела "Распиновка".

    В Сети достаточно много примеров начала работы с чипами STM32. Но достичь легкости программирования уровня Arduino - практически не возможно. Либо придется отказываться от большого функционала чипов, либо досконально изучать библиотеки.
     
  8. ИгорьК

    ИгорьК Гуру

    А чтобы проматывать страницу после таблицы, надо истово верить что в разделе Распиновка есть информация :) Я действовал при помощи Ctrl+F по словам LED и светодиод. Не помогло.
    Но один то уже побежал...