Например TDA7294

Форум РадиоКот • Просмотр темы - Аквасторож
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 23:56:19

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 124 ]     ... , , , 6,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Вт апр 01, 2014 16:52:23 
Друг Кота
Аватар пользователя

Карма: 117
Рейтинг сообщений: 1531
Зарегистрирован: Ср сен 18, 2013 10:08:26
Сообщений: 4732
Откуда: Санкт-Петербург
Рейтинг сообщения: 1
seval писал(а):
Пытаюсь.

Попробуйте вообще датчик отключить. Все равно глючит?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Вт апр 01, 2014 19:42:55 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт мар 04, 2014 20:09:54
Сообщений: 132
Откуда: Орёл
Рейтинг сообщения: 0
Gisteresis писал(а):
Попробуйте вообще датчик отключить. Все равно глючит?

Попробую. Напишу потом.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Чт апр 03, 2014 14:50:42 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт мар 04, 2014 20:09:54
Сообщений: 132
Откуда: Орёл
Рейтинг сообщения: 0
Gisteresis писал(а):
Попробуйте вообще датчик отключить. Все равно глючит?

Отключил. Не глючит. Как быть?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Пт апр 04, 2014 13:12:27 
Друг Кота
Аватар пользователя

Карма: 117
Рейтинг сообщений: 1531
Зарегистрирован: Ср сен 18, 2013 10:08:26
Сообщений: 4732
Откуда: Санкт-Петербург
Рейтинг сообщения: 1
seval писал(а):
Отключил. Не глючит. Как быть?

Надо почитать как длинные провода подключать.
Возможно это наводки какие то.

ПС: Исчезну на неделю в командировку.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Пт апр 04, 2014 13:55:02 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт мар 04, 2014 20:09:54
Сообщений: 132
Откуда: Орёл
Рейтинг сообщения: 0
Пытаюсь освоить программирование. Написал скетч в самом Arduino IDE.
Спойлер
Код:
int leak0 = 0;//датчики протечки
int leak1 = 1;
int leak2 = 2;
int leak3 = 3;
int leak4 = 4;
int lalrm = 5;//лампа аварии
int lcls = 6;//лампа закрыто
int lopn = 7;//лампа открыто
int brst = 8;//кнопка сброс
int bcls = 9;//кнопка закрыть
int bopn = 10;//кнопка открыть
int in1 = 11;//команда закрыть
int in2 = 12;//команда открыть
bool alrm = 0;
//bool cls = 0;
//bool opn = 0;
  void setup ()
  {
    pinMode (leak0 , INPUT);
    pinMode (leak1 , INPUT);
    pinMode (leak2 , INPUT);
    pinMode (leak3 , INPUT);
    pinMode (leak4 , INPUT);
    pinMode (lalrm , OUTPUT);
    pinMode (lcls , OUTPUT);
    pinMode (lopn , OUTPUT);
    pinMode (brst , INPUT);
    pinMode (bcls , INPUT);
    pinMode (bopn , INPUT);
    pinMode (in1 , OUTPUT);
    pinMode (in2 , OUTPUT);
    int in1 = HIGH;
    int in2 = HIGH;
    clse();
    alarm();
    opne();
    }
   
    void loop()
    {
      if (digitalRead (leak0) == HIGH)
      {
        alrm = 1;
        //cls = 1;
        clse();               
      }
     
      if (alrm == 1)
      {
        alarm();
      }
     
      if (digitalRead (bcls) == HIGH)
      {
        //cls = 1;
        clse();       
      }
     
      if (digitalRead (brst) == HIGH)
      {
        alrm = 0;
      }
     
      if ((digitalRead (bopn) == HIGH) && (alrm == 0))
      {
        opne();
        //opn = 1;
      }
     
    }
       
    void clse()
    {
      digitalWrite (in1, LOW);
      digitalWrite (lopn, LOW);
      digitalWrite (lcls, HIGH);
      //opn = 0;
      delay (4000);
      digitalWrite (in1, HIGH);     
    }
   
    void opne()
    {
      digitalWrite (in1, HIGH);
      //cls = 0;
      digitalWrite (in2, LOW);
      digitalWrite (lcls, LOW);
      digitalWrite (lopn, HIGH);
      delay (4000);
      digitalWrite (in2, HIGH);
    }
   
    void alarm()
    {
      digitalWrite (lalrm, HIGH);
      delay (500);
      digitalWrite (lalrm, LOW);
      if (alrm == 1)
      {
        alarm();
      }
     
    }
     

Разбил функции по подпрограммам. Будет ли так работать? Будет ли работать блок alarm? Хочется что бы при срабатывании аварии лампа моргала, а при нажатии Сброс все возвращалось все в исходное состояние.

Gisteresis писал(а):
Возможно это наводки какие то.

Походу надо провод экранированный?


Последний раз редактировалось seval Пт апр 04, 2014 18:25:55, всего редактировалось 1 раз.

Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Сб апр 05, 2014 20:43:05 
Друг Кота
Аватар пользователя

Карма: 117
Рейтинг сообщений: 1531
Зарегистрирован: Ср сен 18, 2013 10:08:26
Сообщений: 4732
Откуда: Санкт-Петербург
Рейтинг сообщения: 1
seval писал(а):
Будет ли так работать?

Надо прошить и попробовать. Если будет что то не так, будем разбираться. В начале я бы не подключал мощные нагрузки, протестил бы из заменив светодиодом с резистором последовательно. Если все гуд, пробуем уже на реальных устройствах.
С языком ардуино не знаком, сильно в код не вникал (знаю кучу других языков), но с виду все вроде нормально.

seval писал(а):
Походу надо провод экранированный?

Тут тоже сложно сказать, нужно пробовать.
Возможно промежуточный усилитель надо поставить.

Вы уже читали про длинные провода, как там делают?
Если у вас не получится, приеду почитаю, что там к чему. Мне это тоже понадобится.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Сб апр 05, 2014 21:04:49 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт мар 04, 2014 20:09:54
Сообщений: 132
Откуда: Орёл
Рейтинг сообщения: 0
Gisteresis писал(а):
Надо прошить и попробовать.

Я сегодня попробовал. Галиматья какая то. При запуске через 4 секунды срабатывает Авария.
Мне должно было прийти две Ардуино, но пришла одна. Одна глючит с протечкой :) , а второй нет что бы эксперементировать.
Жду когда придет.
Gisteresis писал(а):
Тут тоже сложно сказать, нужно пробовать.

На днях куплю провод экранированный и попробую.
Я еще подумал - а может как то программно это убрать? Типа защиты от дребезга?
Gisteresis писал(а):
Возможно промежуточный усилитель надо поставить.

Надо почитать на досуге что это такое.

Gisteresis писал(а):
Вы уже читали про длинные провода, как там делают?

Нет еще. Усиленно изготавливал вторую версию печатной платы. Сегодня запустил ее. Теперь ничего не греется. :)

P.S. Добавил защиту от дребезга. И немного переписал под новую печатку. Опять же писал в FLProg, потому мало что понимаю в том что написано. :))
Спойлер
Код:
bool _bounse1S = 0;
bool _bounse1O = 0;
unsigned long _bounse1P = 0;
bool _k1 = 0;
bool _k2 = 0;
bool _k3 = 0;
bool _tim1I = 0;
bool _tim1O = 0;
unsigned long _tim1P = 0;
bool _ktim1 = 0;
bool _k4 = 0;
bool _k5 = 0;
bool _tim2I = 0;
bool _tim2O = 0;
unsigned long _tim2P = 0;
bool _ktim2 = 0;
bool _k6 = 0;
bool _bounseInput7S = 0;
bool _bounseInput7O = 0;
unsigned long _bounseInput7P = 0;
void setup()
{
pinMode(7, INPUT);
pinMode(1, OUTPUT);
pinMode(6, OUTPUT);
pinMode(4, INPUT);
pinMode(2, INPUT);
pinMode(0, OUTPUT);
pinMode(5, OUTPUT);
pinMode(3, INPUT);

_bounseInput7O =  digitalRead(7);
}
void loop()
{

bool  _bounceTmp7 =  (digitalRead (7));

if (_bounseInput7S)
    {
     if (millis() >= (_bounseInput7P + 40))
         {_bounseInput7O= _bounceTmp7; _bounseInput7S=0;}
     }
else
    {
     if (_bounceTmp7 != _bounseInput7O )
         {_bounseInput7S=1; _bounseInput7P = millis();}
      }


bool  _bounceTmp1 = _bounseInput7O;

if (_bounse1S)
    {
     if (millis() >= (_bounse1P + 40))
         {_bounse1O= _bounceTmp1; _bounse1S=0;}
     }
else
    {
     if (_bounceTmp1 != _bounse1O )
         {_bounse1S=1; _bounse1P = millis();}
      }
_k1 = _bounse1O;
_k2 = ((((_k1) || (_k2))) &&((!_k4)));
digitalWrite (1, ((_k2) || (_ktim1)));
_k3 = ((_k2) || ((digitalRead (3))));
if (_k3)
{
_tim1O  = 1;
_tim1I  = 1;
}
else
{
if (_tim1I)
{
_tim1I = 0;
_tim1P = millis();
}
else
{
if (_tim1O)
{if ( _isTimer(_tim1P, 4000)) _tim1O = 0;
}
}
}
if(_tim1O)
{_ktim1 = 1;}
else
{_ktim1 = 0;}
digitalWrite (6, (!_ktim1));
_k4 = (digitalRead (4));
_k5 = (((digitalRead (2))) &&((!_k2)));
_k6 = ((((_k6) || (_k5))) &&((!_k2)));
if (_k5)
{
_tim2O  = 1;
_tim2I  = 1;
}
else
{
if (_tim2I)
{
_tim2I = 0;
_tim2P = millis();
}
else
{
if (_tim2O)
{if ( _isTimer(_tim2P, 4000)) _tim2O = 0;
}
}
}
if(_tim2O)
{_ktim2 = 1;}
else
{_ktim2 = 0;}
digitalWrite (0, _ktim2);
digitalWrite (5, (!_ktim2));


}
bool _isTimer(unsigned long startTime, unsigned long period )
  {
  unsigned long endTime;
  endTime = startTime+period;
  return (millis() >= endTime);
  }

Посмотрим как будет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Пн апр 07, 2014 21:34:46 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт мар 04, 2014 20:09:54
Сообщений: 132
Откуда: Орёл
Рейтинг сообщения: 0
seval писал(а):
Посмотрим как будет.

Два дня полет нормальный. Завтра буду подключать еще пару датчиков.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Чт апр 10, 2014 20:34:32 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт мар 04, 2014 20:09:54
Сообщений: 132
Откуда: Орёл
Рейтинг сообщения: 0
Добавил "плюшку" в виде моргающего индикатора Аварии при срабатывании датчика протечки.
Спойлер
Код:
bool _k1 = 0;
bool _tim1I = 0;
bool _tim1O = 0;
unsigned long _tim1P = 0;
bool _ktim1 = 0;
bool _k2 = 0;
bool _k3 = 0;
bool _k4 = 0;
bool _k5 = 0;
bool _tim2I = 0;
bool _tim2O = 0;
unsigned long _tim2P = 0;
bool _ktim2 = 0;
bool _gen1I = 0;
bool _gen1O = 0;
unsigned long _gen1P = 0;
bool _kgen1 = 0;
bool _k6 = 0;
bool _bounseInput8S = 0;
bool _bounseInput8O = 0;
unsigned long _bounseInput8P = 0;
bool _bounseInput7S = 0;
bool _bounseInput7O = 0;
unsigned long _bounseInput7P = 0;
void setup()
{
pinMode(7, INPUT);
pinMode(1, OUTPUT);
pinMode(3, INPUT);
pinMode(6, OUTPUT);
pinMode(4, INPUT);
pinMode(2, INPUT);
pinMode(5, OUTPUT);
pinMode(0, OUTPUT);
pinMode(8, INPUT);

_bounseInput8O =  digitalRead(8);
_bounseInput7O =  digitalRead(7);
}
void loop()
{

bool  _bounceTmp8 =  (digitalRead (8));

if (_bounseInput8S)
    {
     if (millis() >= (_bounseInput8P + 40))
         {_bounseInput8O= _bounceTmp8; _bounseInput8S=0;}
     }
else
    {
     if (_bounceTmp8 != _bounseInput8O )
         {_bounseInput8S=1; _bounseInput8P = millis();}
      }
bool  _bounceTmp7 =  (digitalRead (7));

if (_bounseInput7S)
    {
     if (millis() >= (_bounseInput7P + 40))
         {_bounseInput7O= _bounceTmp7; _bounseInput7S=0;}
     }
else
    {
     if (_bounceTmp7 != _bounseInput7O )
         {_bounseInput7S=1; _bounseInput7P = millis();}
      }


_k1 = ((_bounseInput7O) || (_bounseInput8O));
_k2 = ((((_k1) || (_k2))) &&((!_k4)));
digitalWrite (1, ((_ktim1) || (_k6)));
_k3 = ((_k1) || ((digitalRead (3))));
if (_k3)
{
_tim1O  = 1;
_tim1I  = 1;
}
else
{
if (_tim1I)
{
_tim1I = 0;
_tim1P = millis();
}
else
{
if (_tim1O)
{if ( _isTimer(_tim1P, 4000)) _tim1O = 0;
}
}
}
if(_tim1O)
{_ktim1 = 1;}
else
{_ktim1 = 0;}
digitalWrite (6, (!_ktim1));
_k4 = (digitalRead (4));
_k5 = (((digitalRead (2))) &&((!_k2)));
if (_k5)
{
_tim2O  = 1;
_tim2I  = 1;
}
else
{
if (_tim2I)
{
_tim2I = 0;
_tim2P = millis();
}
else
{
if (_tim2O)
{if ( _isTimer(_tim2P, 4000)) _tim2O = 0;
}
}
}
if(_tim2O)
{_ktim2 = 1;}
else
{_ktim2 = 0;}
digitalWrite (0, _ktim2);
digitalWrite (5, (!_ktim2));

if (((_k2) &&((!_k4))))
   {
   if (! _gen1I)
      {
      _gen1I = 1;
      _gen1O = 1;
      _gen1P = millis();
      }
   }
else
   {
   _gen1I = 0 ;
   _gen1O= 0;
   }
if (_gen1I )
   {
   if ( _isTimer ( _gen1P , 500 ))
      {
      _gen1P = millis();
      _gen1O = ! _gen1O;
      }
   } 
if(_gen1O)
{_kgen1 = 1;}
else
{_kgen1 = 0;}
_k6 = _kgen1;


}
bool _isTimer(unsigned long startTime, unsigned long period )
  {
  unsigned long endTime;
  endTime = startTime+period;
  return (millis() >= endTime);
  }

Родилась у меня мысль - Как заставить Ардуино реагировать на оторванный датчик протечки?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Пт апр 11, 2014 08:59:45 
Друг Кота
Аватар пользователя

Карма: 117
Рейтинг сообщений: 1531
Зарегистрирован: Ср сен 18, 2013 10:08:26
Сообщений: 4732
Откуда: Санкт-Петербург
Рейтинг сообщения: 1
seval писал(а):
Родилась у меня мысль - Как заставить Ардуино реагировать на оторванный датчик протечки?

Надо подумать.
В промышленных аналоговых датчиках например используют формат 4-20мА, можно диагностировать обрыв.
Можно не на IO вход подавать а на АЦП что то похожее замутить.

Я вообще думал проверку просто делать через каждые пару месяцев.

С длинными проводами то разобрались?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Пт апр 11, 2014 10:57:19 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт мар 04, 2014 20:09:54
Сообщений: 132
Откуда: Орёл
Рейтинг сообщения: 0
С длинными проводами вроде разобрался. Защиту от дребезга внедрил в программу. Все не когда датчиков еще поставить. Всего планируется 6 датчиков. Поставлю все и тогда буду ждать глюки :)
Как съездили?

P.S. Решил все это дело сделать по красивее. Заказал корпуса. Переделал под эти корпуса схему.
Изображение
Как корпуса придут буду рисовать печатку.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Пн апр 14, 2014 12:30:47 
Друг Кота
Аватар пользователя

Карма: 117
Рейтинг сообщений: 1531
Зарегистрирован: Ср сен 18, 2013 10:08:26
Сообщений: 4732
Откуда: Санкт-Петербург
Рейтинг сообщения: 1
seval писал(а):
С длинными проводами вроде разобрался. Защиту от дребезга внедрил в программу.

То есть защита от дребезга решила проблему? Усиливать сигнал не пришлось.

seval писал(а):
Решил все это дело сделать по красивее.

Да. Схема мне нравится. Осталось только простой МК поставить вместо ардуины :wink:

ПС:
Как съездили?
Хорошо, ездил в Дагестан. Обстановка там стала гораздо тише, мирнее по сравнению с прошлыми годами.
Отведал местные блюда :hunger: Очень вкусно готовят.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Пн апр 14, 2014 18:50:38 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт мар 04, 2014 20:09:54
Сообщений: 132
Откуда: Орёл
Рейтинг сообщения: 0
Gisteresis писал(а):
То есть защита от дребезга решила проблему?

Вроде решила. Посмотрим как дальше будет. Добавил еще один датчик. Пока работает как надо.
Gisteresis писал(а):
Осталось только простой МК поставить вместо ардуины

Хочу. Только вот надо сначала написать программу аналогичную в Arduino IDE. Что бы понять как вообще писать код.
Еще не могу сообразить что нужно для старта? Купить пару МК? И программатор? А как же задушить земноводное, что бы потратить пару тысяч на программатор?
Но все таки хочу. :))
Gisteresis писал(а):
Отведал местные блюда

Завидую. :kill:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Ср апр 16, 2014 16:29:14 
Друг Кота
Аватар пользователя

Карма: 117
Рейтинг сообщений: 1531
Зарегистрирован: Ср сен 18, 2013 10:08:26
Сообщений: 4732
Откуда: Санкт-Петербург
Рейтинг сообщения: 1
seval писал(а):
Что бы понять как вообще писать код.

Попробуйте CodeVisionAVR, там есть генератор начального кода, останется только функцию main заполнить по аналогии с вашей программой.
Настройки периферии делает генератор по вашим установкам в меню генератора.
Настройки фуз битов можно делать по калькулятору, набираем в поисковике "калькулятор фуз битов авр"
Вот например вроде удобный:
http://homes-smart.ru/fusecalc/
Думаю для старта самое оно. Дальше если не понравится то можно перейти и на другие по вкусу.

Программатор я в начале сделал самопальный STK200/300, схема простая, ставим буфер и пару резисторов, практически и весь программатор.
"5 проводков" не пробовал, это уж совсем по моему топор :)))
Видел реализацию программатора из клавиатуры. Сердито.
На покупной перешел только потому, что надоело задумываться над фузами и делать переходные панельки под разные корпуса микросхем. В итоге у меня получилась куча плат.
Если это не напрягает, то я думаю STK200/300 + AVRDoctor самое оно. Можно отдельно сделать и плату отладчика.
Что то делать более сложное времени уйдет больше, тут надо серьезно заморочиться.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Вс апр 20, 2014 14:09:49 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт мар 04, 2014 20:09:54
Сообщений: 132
Откуда: Орёл
Рейтинг сообщения: 0
Gisteresis писал(а):
Попробуйте CodeVisionAVR,

Обязательно попробую. Тем боле что теща скоро переедет в новую квартиру, и у меня теперь грант на исследования своей системы. :))
С праздником всех котов и кошек.
У меня чего то не получается самому написать скетч. Может кто подскажет?
Спойлер
Код:
int leak1 = 3;//датчик протечки
int lopn = 7;//LED Открыто
int lcls = 8;//LED Закрыто
int lalrm = 9;//LED Авария
int bopn = 12;//кнопка Открыть
int bcls = 11;//кнопка Закрыть
int brst = 10;//кнопка Сброс
int in1 = 2;//Выход Закрыть
int in2 = 13;//Выход Открыть
bool l1 = 0;//Переменная Протечка
bool a2 = 0;//Переменная Авария
bool c3 = 0;//Переменная Закрыть
bool r4 = 0;//Переменная Сброс
bool o5 = 0;//Переменная Открыть
bool f6 = 0;//Переменная Моргать

void setup()
   {
   pinMode (leak1 , INPUT);
    pinMode (bopn , INPUT);
    pinMode (bcls , INPUT);
    pinMode (brst , INPUT);
    pinMode (lopn , OUTPUT);
    pinMode (lcls , OUTPUT);
    pinMode (lalrm , OUTPUT);
    pinMode (in1 , OUTPUT);
    pinMode (in2 , OUTPUT);
    alrme ();
    //blnk ();
    cls ();
    //opn ();
    //rst ();
   }
void loop()
   {
   l1 = (digitalRead (leak1));//Присваиваем переменной l1 значение входов датчиков протечки
   r4 = (digitalRead (brst));//Присваиваем переменной r4 значение входа 10
   if (l1)//Если протечка
      {
      alrme ();//то идем в блок Авария alrme
      }
   }
void alrme ()
   {
   a2 = ((((l1) || (a2))) &&((!r4)));//Присваиваем переменной a2 значение l1, делаем самоподхват и блокировку сбросом r4
   digitalWrite (lalrm, ((a2) || (f6)));//Включаем индикатор Аварии и заставляем его моргать от f6
   if (a2)//Если Авария
      {
      cls ();//то идем в блок cls
      }
   }
void cls ()
   {
   c3 = ((((digitalRead (bcls))) || (a2)));//Присваиваем переменной c3 значение кнопки Закрыть или значение переменной Авария a2
   if (c3)//Если есть команда закрыть
      {
      digitalWrite (in1, c3);// то закрываем задвижку
      digitalWrite (lcls, HIGH);// зажигаем диод Закрыто
      delay (4000);//Ждем 4 секунды
      digitalWrite (in1, LOW);//убираем напряжение с задвижки
      digitalWrite (lcls, LOW);// гасим диод Закрыто
      }
   }

   

Чего у меня Сброс не срабатывает? Куда эту строчку надо встроить?
Код:
r4 = (digitalRead (brst));


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Пн апр 21, 2014 10:28:14 
Друг Кота
Аватар пользователя

Карма: 117
Рейтинг сообщений: 1531
Зарегистрирован: Ср сен 18, 2013 10:08:26
Сообщений: 4732
Откуда: Санкт-Петербург
Рейтинг сообщения: 1
seval писал(а):
Чего у меня Сброс не срабатывает?

Имена переменных соответствуют пинам ардуины?
По схеме 3,4,5 кнопки, а в программе 12,11,10?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Пн апр 21, 2014 10:53:12 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт мар 04, 2014 20:09:54
Сообщений: 132
Откуда: Орёл
Рейтинг сообщения: 0
Gisteresis писал(а):
Имена переменных соответствуют пинам ардуины?
По схеме 3,4,5 кнопки, а в программе 12,11,10?

Схему забыл перерисовать. Пины подгонял под корпуса которые еще не пришли.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Чт окт 01, 2015 12:10:53 
Родился

Зарегистрирован: Чт окт 01, 2015 12:08:05
Сообщений: 1
Рейтинг сообщения: 0
Приветствую. Очень заинтересовала ваша разработка, понравились схемы и реализация. Хотелось бы узнать чем все закончилось и если можно увидеть финальные "чертежи" устройства.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Пт окт 02, 2015 14:44:35 
Встал на лапы
Аватар пользователя

Зарегистрирован: Вт мар 04, 2014 20:09:54
Сообщений: 132
Откуда: Орёл
Рейтинг сообщения: 3
proDream писал(а):
если можно увидеть финальные "чертежи" устройства.

Как таковых чертежей нет. Сейчас все живет вот в таком Изображение корпусе. Там две латы. Одна основная и одна лицевая.
Есть платы нарисованные. Схему не рисовал. Если нужно нарисую как освобожусь.
И программы сейчас под рукой нет, что бы выложить. Но практически ничего не изменилось.
Изображение
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Аквасторож
СообщениеДобавлено: Сб дек 26, 2015 13:39:36 
Встал на лапы

Зарегистрирован: Вс дек 20, 2015 21:03:39
Сообщений: 90
Рейтинг сообщения: 3
Продаваемые на рынке готовые комплекты Аквасторож, Нептун и Гидролок годами соревнуются в ненадежности.. Стоят конечно дорого если взглянуть на внутренности.
Не маленькие вы резисторы поставили последовательно с площадками датчика? Вода не такой уж может быть хороший проводник.
У АС еще конденсатор параллельно обкладкам стоит - это позволяет контроллеру контролировать обрыв датчика и закрывать воду по этому событию. Я считаю это очень нужным. Про систему забываешь. Ну и контроль положения шара нужен - не смог закрыть при тестовом провороте - так хоть сигнал чтобы подал. А еще круче - иметь возможность замера тока - тогда можно контролировать деградацию крана и закрыть воду до того как.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 124 ]     ... , , , 6,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 35


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y