Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 18.12.2015, 20:15
Аспирант
Отправить личное сообщение для allexmak Посмотреть профиль Найти все сообщения от allexmak
 
Регистрация: 13.12.2015
Сообщений: 45

3- как вариант неплохой, но это будет занимать еще выхода на контроллере, думал программно проще)
Ответить с цитированием
  #42 (permalink)  
Старый 18.12.2015, 20:40
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от allexmak
1- я думаю 1-2 небудут приводить к досбрасыванию
2- этот момент думаю можно добавить: "перед окончанием минуты до 1-2 единицы+/- - повторное срабатывать должно ?"
Ну можно попробовать создать второй триггер после запуска с собственным порогом, и уже им генерировать продление(если превышен порог.
=======================
Еще раз - амплитуда до окончания Первого цикла подстветки - приводит к перезапуску или только достаточная амплитуда на границе окончания Первой подсветки ?
========================================
Или любая достаточно сильная амплитуда колебаний реостата (независимо когда она происходит в течении подстветки или на границе окончания) приводит к автопродлению еще на минуту ???
=======================================
И всё таки самое надежное - Вариант три, с фотоэлементом (ибо тут мы будем практически интуитивно апроксимировать реакцию реальной подсветки.
Всё таки нужен эксперимент с дерганием плавно и медленно и рывками реостата и график сработки реальной подсветки планшета (и % реостата), (при уже запущенном реле вкл-выкл)

Последний раз редактировалось Deff, 18.12.2015 в 20:44.
Ответить с цитированием
  #43 (permalink)  
Старый 18.12.2015, 21:37
Аспирант
Отправить личное сообщение для allexmak Посмотреть профиль Найти все сообщения от allexmak
 
Регистрация: 13.12.2015
Сообщений: 45

а можно пока сделать, без 2го тригера
просто добавить это:
Сообщение от Deff Посмотреть сообщение
Или любая достаточно сильная амплитуда колебаний реостата (независимо когда она происходит в течении подстветки или на границе окончания) приводит к автопродлению еще на минуту ???
а дальше практика покажет что еще добавить
Ответить с цитированием
  #44 (permalink)  
Старый 18.12.2015, 22:01
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Хорошо, я подумаю, седни уже мозг взопрел...
================================
Хотя всё таки, я думаю вы вручную, используя включение релюшки могли бы точно определить:
При нахождении времени от начала подсветки на середине (30 сек) и всплеске(резком колебании ползунка реостата в течении 1-2 секунд) и затем полной недвижимости ползунка: Общее время подсветки планшета будет 1.5 минуты или все таки 1 минута ? Ибо для второго варианта сейчас скрипт работает практически так же

Хотелось бы, чтобы Вы провели такой тест! И доложили результат

Последний раз редактировалось Deff, 18.12.2015 в 22:14.
Ответить с цитированием
  #45 (permalink)  
Старый 19.12.2015, 12:01
Аспирант
Отправить личное сообщение для allexmak Посмотреть профиль Найти все сообщения от allexmak
 
Регистрация: 13.12.2015
Сообщений: 45

Deff,
я понял наконец ваш ход мыслей))//утро творит чудеса)
в таком случае как выше^^:
1,5минуты, если реостат передвинулся выше trigDelta
Ответить с цитированием
  #46 (permalink)  
Старый 19.12.2015, 14:58
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

allexmak,
Осталось внимательно продумать и ответить на следущий вопрос:
Реле(ВКЛ-Выкл) при этом будут на 30 секунде вновь срабатывать ?
Или на весь цикл подсветки(в 1,5 минуты в данном примере) срабатывание ВКЛ-Выкл лишь единственное в Начале цикла ?
Ответить с цитированием
  #47 (permalink)  
Старый 19.12.2015, 15:28
Аспирант
Отправить личное сообщение для allexmak Посмотреть профиль Найти все сообщения от allexmak
 
Регистрация: 13.12.2015
Сообщений: 45

Deff,
Лишь единственное в Начале цикла.
Ответить с цитированием
  #48 (permalink)  
Старый 19.12.2015, 15:29
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Ок, (К ночи нарисую, пока отвлекают

Последний раз редактировалось Deff, 19.12.2015 в 17:01.
Ответить с цитированием
  #49 (permalink)  
Старый 19.12.2015, 22:22
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

См. Спойлер:
<!DOCTYPE HTML>
<html>
<meta charset="utf-8" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
</head>
<body>
<style type="text/css">
#Lamp{
  border: rgba(56,185,53,.7) solid 2px;
  height: 123px;
  background: transparent url(http://s2.uploads.ru/t/BJc5O.jpg) center no-repeat;
}
#Lamp.set{
  border-color: rgba(255,0,0,.4) !important;
  background-image: url(http://s7.uploads.ru/t/yxOtG.jpg) !important;
}
.btn-group {
  position: relative;
}
/*Загородил кнопки от клика*/
.btn-group img {
  position: absolute;
  z-index: 1000;
  width: 100%;
  height: 100%;
}
</style>


	<br>
	<br>
        <table width=600>
	<tr><td id="Lamp"  colspan="2" valign="top"><!--Типо Лампа--></td></tr>
        <tr><td>
	<br>
	<br>
	<input style="width:300px;" type="range" min="0" max="100" step="1" value="50" id="polzunok1" oninput="inputRezistor(this)">
	<br>
	<br>
Текущее значение R1 = <span id="itog1" >0</span>;</td><td>Значение Включения = <span id="Pcheck1" >??</span> ±<span id="trigDelta">1</span></td></tr>
        </table>
	<br>
	<br>
	<div class="btn-group">
          <img src="http://forum.mybb.ru/i/blank.gif" alt="Загораживалка кнопок от клика">
	  Вкл<input type="radio" name="on-off" class="btn btn-default botaoEnvia" id="009"/>
	  Выкл<input type="radio" name="on-off" class="btn btn-default botaoEnvia" id="010" checked/>
	</div>



<script>
 window.onload = function(){
 var T_подсветки = 10*1000;		//Пока 10 сек//Время задержки на время подсветки планшета
 var T_зaдержВкл = 1000;		//Задержка отключения Вкл.
 var Lamp = false;			//Подсветка включена/выключена;
 var trigDelta = 3;			//Дельта сработки от начального значения ползунка при выключенной подсветке [>0];
 var R1 = $('#polzunok1');		//Элемент ползунок;
 var itog = $("#itog1");		//Отображающий элемент текущего значения ползунка;
 var pcheck1 = false;			//Значение ползунка для подключения подсветки 
 var elPcheck1 = $('#Pcheck1');		//Отображающий элемент Значение ползунка для подключения подсветки;
 var elTrigDelta = $("#trigDelta");	//Отображающий элемент Дельта сработки;	
 elTrigDelta.text(trigDelta);

  setTimeout(function(){ //Дожидаемся autocomplete для id="polzunok1";

    function addLampRestart() { //Индикатор повторного перезапуска/продления/ подсветки;
      $('#restart-Lamp').remove();
      $('#Lamp').append('<img id="restart-Lamp" src="http://s2.uploads.ru/t/0ZAIE.png" style="float:right" alt="Дозапуск подсветки">');
      setTimeout(function(){$('#restart-Lamp').remove()},700);
    }
   
    var timID; //ID таймера подсветки;
    function tstLampOnOff (x) {
      if(pcheck1===false)return false;
      if(Math.abs(+x-pcheck1)<trigDelta)return false;

      //Переустановка пункта отсчёта;
      elPcheck1.text(x);
      pcheck1 = +x;

      //Дергаем реле:
      if(!Lamp){
         $('#009').click(); $('#Lamp').addClass('set');
         setTimeout(function(){$('#010').click()},T_зaдержВкл);
      }
      //Тест на перезапуск(автопродление) при наличии подсветки;
      if(Lamp){
        clearTimeout(timID);
        addLampRestart();
      }
      //Зажигаем!
      Lamp = true;
      timID = setTimeout(function(){
           clearTimeout(timID);
           Lamp = false;
           busy = false;
           $('#Lamp').removeClass('set');
           inputRezistor(R1[0]);
      },T_подсветки);
    }

    var busy = false;
    function setStartLampZn (x) {  //Установка начального отсчёта включения [pcheck1]
      if(busy||Lamp) return false;
      busy = true;
      elPcheck1.text(x);
      pcheck1 = +x;
    }

    function setItog (x) {
      itog.text(x);
      setStartLampZn (x)
    }

    inputRezistor = function(el) {
      var x = el.value;
      setItog (x);
      tstLampOnOff(x);
    }
 
    inputRezistor(R1[0]);

  },1200);
};
</script>


</body>
</html>

Последний раз редактировалось Deff, 19.12.2015 в 22:28.
Ответить с цитированием
  #50 (permalink)  
Старый 20.12.2015, 00:24
Аспирант
Отправить личное сообщение для allexmak Посмотреть профиль Найти все сообщения от allexmak
 
Регистрация: 13.12.2015
Сообщений: 45

Deff,
Это действительно то что нужно, спасибо, ты как настоящий програмист неотступаешь)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как визуализировать структуру кода? dkudrin Общие вопросы Javascript 2 22.08.2014 19:12
Дождаться завершения функции и продолжить выполнение кода XRASER Events/DOM/Window 4 10.04.2014 16:39
скрыть из исходного кода часть javascript кода. javasc Javascript под браузер 10 12.03.2014 09:32
Пример кода сохранения в базу html страницы генерированного посредством JavaScripts wayzer Серверные языки и технологии 2 06.09.2012 16:46
setTimeout и переход на новую страницу Kubik129 Общие вопросы Javascript 3 03.02.2012 18:21