ардуино в туалете

mantiss
Offline
Зарегистрирован: 18.10.2014

Всем привет! Я недавно зарегистрировался, многого не понимаю, но есть желание разобраться, поэтому прошу отнестись с пониманием. Давно хотел собрать станок с ЧПУ на ардуине, но пока это слишком для меня сложно, вот решил начать с малого. Ардуино купил, светодиодами помигал, хочется чего-то большего))

Появилась такая задумка: сделать автоматику в туалете. Я подобную тему видел, но у меня маленько другое. Вот как я это вижу:

заходит человек в туалет - включается свет - подходит к унитазу - делает свои дела - выходит - свет гаснет - унитаз смывает. Я в инете глянул, там устройства для автосмыва стоят каких-то космических денег. Как мне кажется на ардуине все решается элементарно, может только тонкости какие есть.. Напротив входа стоит ультразвуковой датчик, меряет расстояние(допустим от датчика до двери примерно 1м), если расстояние больше 90см и меньше метра - ничего не делаем, свет выключен. Интервал опроса можно выставить побольше. Как только расстояние становится больше 1метра(открылась дверь) или меньше 90см - включаем свет, ждем. Как только расстояние стало меньше 50см начинаем ждать пока расстояние опять не станет от 90см до метра(дверь закрыта). Далее смываем и выключаем свет. Смывать можно с помощью сервопривода нажимая на кнопку унитаза или с помощью винтовой передачи.

Свет будет из светодиодных лент, питание от компьютерного БП, управление через реле(?). А вот как сервоприводом управлять не совсем понятно.. И по поводу программы, реально ли организовать такой алгоритм на ардуино? Или я вообще через чур нагородил?(с программированием только по-наслышке)

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Нуачитесь пользоваться поиском и будет Вам счастье! Эта тема тут широко обсуждалась.

mantiss
Offline
Зарегистрирован: 18.10.2014

http://arduino.ru/forum/proekty/umnye-tualet-i-vannaya?page=8

нашел только эту тему, но меня больше интересует вопрос механики/электрики смыва. И вообще, можно что-то по теме?

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

Что Вы хотите прочитать? Как сервоприводом управлять? Про алгоритм - если сможете написать на листочке, то и на ардуино релизуем.

vvadim
Offline
Зарегистрирован: 23.05.2012

Смыв на электрике может и годится где то, но дома надо ещё и ёршиком пользоваться - смыв кнопкой, ёршик в руки, а вот дальше вкл вентиляторов и выкл света - это уже можно и дуней

mantiss
Offline
Зарегистрирован: 18.10.2014

ну как сервой управлять я примерно понимаю, прочитал про библиотеку servo. у меня уно, там пишут, что 9, 10 пины будут отключены, но другие-то будут работать, я так понял? Серву от внешнего питания через ардуино в качестве ключа, правильно? Свет через твердотельное реле, ток небольшой, греться не будет. А вот реле куда подключать? Выходы ардуино что выдают? А общую блок-схему я ща нарисую быстренько))

Coolerr
Offline
Зарегистрирован: 30.06.2014

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

mantiss
Offline
Зарегистрирован: 18.10.2014

да понятно, я же в качестве обучающего проекта, что попроще.. Привод надо поглядеть, он там как работает? Питание подал, шток вылез и давит, потом обратную полярность и шток улез? Просто у меня на унитазе пока кнопку жмешь - смывает, отпустил - нет. И смывать не обязательно каждый раз, если покурить, например зашел.. Вытирание жопы реализую потом может, сейчас бы с этим разобраться))

Kлапаyций 99.99
Offline
Зарегистрирован: 11.10.2014

Coolerr пишет:

нахрена для того чтоб посрать ардуино?????

ну, как это нахнена? - если в доме существует хоть один мудак, который не смывает за собой, то это проблема.

Coolerr
Offline
Зарегистрирован: 30.06.2014

Питание подал, шток вылез и давит, потом обратную полярность и шток улез. Да.

mantiss
Offline
Зарегистрирован: 18.10.2014

не программист ни разу, вот такая схемка. Есть, правда, сомнения в правильности))

Coolerr
Offline
Зарегистрирован: 30.06.2014

А если пару раз нужно смыть, ну случаи бывают разные :-)

mantiss
Offline
Зарегистрирован: 18.10.2014

тогда надо просто перезайти)) или экстренную кнопку предусмотреть.

Kлапаyций 99.99
Offline
Зарегистрирован: 11.10.2014

Coolerr пишет:

А если пару раз нужно смыть, ну случаи бывают разные :-)

нужно выйти два раза.

art100
Offline
Зарегистрирован: 09.03.2014

ребята вам не кажется что вы давно попу от авна не вытирали?

1 смывать нужно столько сколько нужно вам и уборщице раз два непрерывно независимо и т.д. никакой автоматики кроме ну может таймера на раз

2 свет да автоматизируем ик или уз считаем щелкаем 

3 струи воды в женскую и мужскую попу лить надо под разнымы углами как на крути 2 выдвигаемы поливалки 2 краника 1 насос

4 сушить попу феном можно одним

короче от 1500$ за заводской экземпляр

не ну дети сходите в интернет 

велосипеды изобретают

вот когда попополивалновыдвигающиеся краники наладит китай за 20$ вот тогда цена поползет вниз

глядишь если по 500$ будут думаю первыми общественные места гостиницы и вокзалы поставят

это вообще нет проблем с авнобумагой в принципе

вода пришла вода на очистные сооружения ушла

а пока не трогайте попы чужого пола займитесь лампочками и таймерами

faraddin
Offline
Зарегистрирован: 11.08.2013

Как говорил один, довольно известный на ютьюбе, строитель - никакой автоматики на включение. Далее он приводил кучу примеров, почему автоматика это плохо.

JollyBiber
JollyBiber аватар
Offline
Зарегистрирован: 08.05.2012

mantiss пишет:

не программист ни разу, вот такая схемка. Есть, правда, сомнения в правильности))

неплохая попытка, но неправильно :)

в диапазоне 0,9-1,0 у Вас наступает темное время суток :)

Попробуйте сначала просто пошагово описать, а потом сделаем из этого алгоритм.

И не слушайте злые языки, судя по Вашим комментариям Вам и самому понятно что идея не жизненная, а на чем учиться - пофигу.

mantiss
Offline
Зарегистрирован: 18.10.2014

в диапазоне 0,9 - 1,0 и должно быть темно - это значит, что дверь закрыта и никого нет. когда дверь закрыта и занято, то расстояние будет меньше.

по поводу жизнеспособности данного проекта я не заморачиваюсь, ардуино уно есть, уз датчик есть, мелочевку найду, останется только привод к бачку приколхозить, бюджет минимален. соберу на макетке, а там поглядим, дальше попробую эмбилайт соорудить, но там денег больше надо.

есть сомнения в предпоследнем шаге алгоритма, если переход по нет и еще раз нет.

Coolerr
Offline
Зарегистрирован: 30.06.2014

Я собирал как-то шкафы управления для биотолчков Москвы. Промышленные контроллеры с 4я цифровыми и 2я аналоговыми модулями расширения, а выговорите Ардуино. Один шкаф себестоимость 80тр.

mantiss
Offline
Зарегистрирован: 18.10.2014

вот немного переделал алгоритм, добавил проверку забытой открытой двери. программисты, гляньте, нормально? и еще я не уверен в блоке проверки неподвижности двери..

faraddin
Offline
Зарегистрирован: 11.08.2013

А как Ваша программа узнает, что Вы съели чебурек по дороге домой и от этого Вам стало так плохо, что Вы нагрузили унитаз на 100% и Вам нужно срочно смыть, ведь рядом на кухне гости? будет у Вас ручной смыв? А если Вы напились на дне рождения друга и блюете, что встать не можете и датчик Вас не видит и выключит свет, вы ему в таком состоянии рукой махать будете? 

Kлапаyций 99.99
Offline
Зарегистрирован: 11.10.2014

mantiss пишет:

 

добавил проверку забытой открытой двери.

аха... раньше гадёнышь забывал смывать, а теперь будет забывать закрывать дверь в туалете - предлагаю блокировать выход из туалета до нажатия кнопки смыва. будет не автоматично, но гигиенично.

mantiss
Offline
Зарегистрирован: 18.10.2014

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

что же вы все не по теме?? меня интересуют особенности использования ардуино, а не туалета!!!

faraddin
Offline
Зарегистрирован: 11.08.2013

mantiss пишет:

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

что же вы все не по теме?? меня интересуют особенности использования ардуино, а не туалета!!!

Так это все связано. Там если не нужно особенных алгоритмов, и вас устраивает г***о в унитазе пока вы не откроите дверь то там нет никаких особенностей в использовании ардуины. Код будет прост как 3 копейки.

Coolerr
Offline
Зарегистрирован: 30.06.2014

Мы исходим из факторов использования туалета. А программирование и подразумевает отсутствие условностей, и наличие четкой логики исключая всяческие но. Как антидребезг, вроде хрень, но при определенном стечении обстоятельств без него никак, прога ведет себя неадекватно.

Kлапаyций 99.99
Offline
Зарегистрирован: 11.10.2014

mantiss пишет:

что же вы все не по теме?? меня интересуют особенности использования ардуино, а не туалета!!!

при чём тут дуино, если не понятно, каким образом и кто(или что) будет контролировать качество процесса смыва.

если по теме дуино, то вмонтировал бы кпопку смытия и отключения света в наружную ручку двери - что бы нажималась при закрытии двери. можно придумать скрытый контруктив или явный - красная кнопка на ручке, закрыл, нажал. дуино снова неприделах - ёпаная пичалька.

mantiss
Offline
Зарегистрирован: 18.10.2014

ну это для вас код простой как две копейки, а я в этом почти не шарю. а факторы совершенно обычные, как и у всех. на случай чрезвычайных ситуаций будет предусмотрена программа глубокой очистки путем многократного смывания.

faraddin
Offline
Зарегистрирован: 11.08.2013

mantiss пишет:

ну это для вас код простой как две копейки, а я в этом почти не шарю. 

Тогда Вам в Ищу исполнителя. Или надеетесь, что за Вас целиком его напишут?

mantiss
Offline
Зарегистрирован: 18.10.2014

ну а почему бы и нет? если он простой как две копейки?

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

или давайте по-другому, мы сейчас будем и дальше обсуждать особенности дефекации в условиях средней полосы и ее влияние на работу ардуино. потом обсуждение постепенно сойдет на нет, я вместо того, чтобы заниматься саморазвитием начну бухать, однажды мне не хватит на бутылку и я продам свою ардуино, так и не подключенную к унитазу и долгими зимними вечерами, блюяя после дня рождения друзей буду смывать за собой слабой дрожащей рукой...

Kлапаyций 99.99
Offline
Зарегистрирован: 11.10.2014

mantiss пишет:

давайте так, кто понимает, смотрит на мою блок-схему и говорит можно ли ее реализовать методами ардуино. 

я же вам предложил простую и надёжную схему:

закрытие двери туалета с обратной стороны -> смыв, выключение света.

всё.

faraddin
Offline
Зарегистрирован: 11.08.2013

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

mantiss
Offline
Зарегистрирован: 18.10.2014

faraddin то есть до этого вы мне помогали? По вашему я тут на форуме вчера зарегистрировался, чтобы с вами мило поболтать, и, осознав свое невежество, внезапно научиться програмиировать? Мне тогда не совсем понятно в чем помощь форума должна заключаться? В том, чтобы помочь понять мне, что мои идеи г...но? Или в том, чтобы помочь вам самоутвердиться, заявляя как все просто, что даже не заслуживает внимания?

ATkRnr
Offline
Зарегистрирован: 22.10.2013

Не обращай внимания на "Базар вокзал" который тут любят. Пиши свои примеры алгоритма, народ кто сможет поможет. Но и прислушивайся о чем советуют - правда много мусора который надо отсеивать.

То что выше писали действительно сушесвует - и дребезг контактов с которым тебе еще предстоит столкнуться.

И разные условия и события которые могут произойти надо не забыть описать в алгоритме.

Общий алгоритм какой? -

1. дверь открываешь (фиксируем в программе) и что должно произойти .

2.Вошел (фиксируем в программе) дверь закрылась (фиксируем или нет это от тебя зависит надо оно тебе или нет ) Бывает что дверь осталась приоткрытой - будет описан этот случай у тебя в алгоритме или нет - это тоже от тебя - надо оно тебе или нет.

И Вобщем таких бывает или нет много может набежать. Я бы посоветовал для простого примера ВКЛ ВЫКЛсвет и ВКЛ ВЫКЛ Вентиляор вытяжки. А уже потом добавляй и реализуй остальные идеи. 

3. Ну и т.д. и  т.п.

 

После описания основного алгоритма действий, добавляй и редактируй уже нюансы написания самого кода порграммы , который будет  заливаться в ардуину.

mantiss
Offline
Зарегистрирован: 18.10.2014

Откуда дребезг контактов в твердотельном реле? Включать/выключать вентилятор и основной свет мне неудобно, потому что силовую разводку нужно делать, а в моем случае достаточно будет протянуть один провод для блока питания, который будет питать и ардуино, и светодиодные ленты и серву.

mantiss
Offline
Зарегистрирован: 18.10.2014

Повтор

ATkRnr
Offline
Зарегистрирован: 22.10.2013

Дребезг возникает везде где есть разрыв  эл.цепи. А именно в мехнических реле, кнопках, выключателях и т.п.

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

Ты решил все запитать от 12 вольт - я так понял. И свет и привод да и вентилятор можно тоже. Тогда блок питания расчитай чтобы все это тянул без проблем с запасом.

Еще подумай как установить серву- потому что если ты ее запихаешь под крышку в бачек, то через некоторое время она может сдохнуть из-за конденсата и высокой влажности. Либо как то загерметезировать ее.  

 

toc
Offline
Зарегистрирован: 09.02.2013

mantiss, ещё почитайте по теме "конечный автомат"

art100
Offline
Зарегистрирован: 09.03.2014

Что-то много букав ни о чем осилить не могу.

Итак начнем дети сказку:

Жили Иван царевич и Василиса премудрая. И повелевала Василиса. Сделай мне Иван лампадку в погребе, а то не ровен час в темноте Кащей безсмертный похитит.

По видимому надо придать целесуказательного оформительного...

схема(фото):

код:

//art100 to write 20141019 для Мантиса
//pins-входы будем слево--------------------------------
#define KNOPKABATTONOPTOVSYAKORAZNOSENSOR A0//начнем с классики "батон" кнопка
//-выходить будем справо правильно дорогой идем товарищи
#define RELE 2//начнем с классики "relay"-ей-ей-ей-ей релюха с попроще микруха втыканем
//consts-- переменки постояннки в работе ---------------------
int var1=0;//
//-первичная классическая инициализация в этом стиле називается сеТУПнеТУП-----------------------------------------------
void setup(){
  pinMode(KNOPKABATTONOPTOVSYAKORAZNOSENSOR,INPUT_PULLUP);//мы че лохи внутренний резак не юзать и с забываем про дребезг контактов
  pinMode(RELE,OUTPUT);//
  Serial.begin(9600);//test для отладки всегда посмотреть на ногах 0 и 1
}
//=с-ишный main он и в африке маин в утотшем стиле ПоЛУУПим микрушку============================
void loop(){
  var1=digitalRead(KNOPKABATTONOPTOVSYAKORAZNOSENSOR);//что цикл грядущий нам готовит
  if(var1==LOW){//если подтянутая кнопка к плюсу вдруг на корпус закоротила
    digitalWrite(RELE,HIGH);// да здравствует солнеце лучистое
    Serial.println("kakoyto gad ne zakril dver");
  }
  else{
    digitalWrite(RELE,LOW);// да будет свет сказал электрик и перерезал провода
    Serial.println("ligth off");
  }  
  delay(500);//постоим покурим нафик не нужно но на всякий случай тормозок конкретный
}  
//=================================================
//че тут подпрограммы расписывать-------------
//мшщв ЬфнфЬтщпщкфящмфнфЧкут(int var100, boolean var101){Serial.println("бла-бла-бла");}
//-----------------------------------

результат:

https://yadi.sk/i/bdsvI3Doc8Dzu

поразвлекался 30 минут спасибо :)

архивчик:

 https://yadi.sk/d/W-BLKQmDc8Dvs

Вот и сказочке конец, а кто повторил молодец.

Летит орел Глазун и обозревает с высоты птичьего полета:

Дела праведные делаются на землице русской.

 

faraddin
Offline
Зарегистрирован: 11.08.2013




пусть L=0 // показание датчика
пусть i=0 // ожидание закрытия двери
константа K=30 //секунд мы будем ждать закрытие двери
константа S=20 //минимальное время присутствия, после которого будет смыв
погнали()
{
}

крутим бесконечный цикл()
{

 {
	пристваиваем L значение показания датчика;
 }	повторяем пока (L>0.9 и L<1);

 включаем свет;
 {
	пристваиваем L значение показания датчика;
 }	повторяем пока (L>1);
 
 i=0;
 {
	пристваиваем L значение показания датчика;
	S=S+1;
	ждем 1 секунду;
 }	повторяем пока (L<0.9);
 
 если i>S смываем;
 i=0;
 
 повторяем пока (L>1 и i<k){
	пристваиваем L значение показания датчика;
	i=i+1;
	ждем 1 секунду;
 };// дверь закрылась или прошло 30 секунд
 
 если (L>0.9 и L<1) то выключить свет; //надо проверить, вдруг кто то зашел
 повторяем пока (L>1){
	пристваиваем L значение показания датчика;
 };// Ждем закрытия двери или входа в туалет с выключеным светом
 
}

Вот Вам псевдокод. Если Вы и его не сможете перевести на язык, понятный ардуине....

 

vvadim
Offline
Зарегистрирован: 23.05.2012

Не, по поводу разных способов смыва болтовню развели. А в сортире для гигиены главное ЁРШИК, а про него ни слова.

Kлапаyций 99.99
Offline
Зарегистрирован: 11.10.2014

vvadim пишет:

А в сортире для гигиены главное ЁРШИК, а про него ни слова.

ну, расскажите про сортир и ёршик.

mantiss
Offline
Зарегистрирован: 18.10.2014

Art100, у меня глаза вытекли, но до этого, что я смог понять, это код для кнопки?

art100
Offline
Зарегистрирован: 09.03.2014

mantiss пишет:
Art100, у меня глаза вытекли, но до этого, что я смог понять, это код для кнопки?

КоментарИЯв мало? Еще десяточек строчек. Меня на мат может прорвать. Не боимся красного словца?

 

art100
Offline
Зарегистрирован: 09.03.2014

Продолжим дети сказку о авне или будем исходить авном или авненное обсуждение авна.

Пока авнюк сидит на толчке то есть на концевике. Можно страждущих за дверью поразвлекать часами.

Мне тут доползли часы и сбылась мечта идиота. Наш путь часы реалтайм делать самим ;) Так что авнотестер часов.

Схема

Код

//art100 to write 20141019 tester Tiny RTC I2C module DS1307
#include <Wire.h>//I2C SDA-A4 SDL-A5 GND-GND
#include <RTClib.h>// for RTC.now();
#include <LiquidCrystal.h>// LCD1602
//pins-входы будем слево--------------------------------
#define BUTTON1 A0//начнем с классики "батон" кнопка
//-выходить будем справо правильно дорогой идем товарищи
#define RELE1 2//начнем с классики "relay"-ей-ей-ей-ей релюха с попроще микруха втыканем
LiquidCrystal lcd(8,9,10,11,12,13);//uno
//consts-- переменки постояннки в работе ---------------------
int var1=0;//
RTC_DS1307 RTC;//I2C SDA-A4 SDL-A5
char time_string[20];//for sprintf от мозгов отрежем кусочек
//-первичная классическая инициализация в этом стиле називается сеТУПнеТУП-------
void setup(){
  pinMode(BUTTON1,INPUT_PULLUP);//мы че лохи внутренний резак не юзать и забываем про дребезг контактов
  pinMode(RELE1,OUTPUT);//
  Serial.begin(9600);//test для отладки всегда посмотреть на ногах 0 и 1
  Wire.begin();//I2C
  RTC.begin();// подьем библиотика сейчас будеш секунды выковыриваьть
  lcd.begin(16,2);//rows,columns
  lcd.clear();// стекло протерли
//  lcd.setCursor(0,0);lcd.print("art100 clock");//  
}
//=с-ишный main он и в африке маин в утотшем стиле ПоЛУУПим микрушку======
void loop(){
  var1=digitalRead(BUTTON1);//что цикл грядущий нам готовит ай !батон затоптали!
  if(var1==LOW){//если подтянутая кнопка к плюсу вдруг на корпус закоротила
    digitalWrite(RELE1,HIGH);// да здравствует солнеце лучистое
    Serial.println("kakoyto gad ne zakril dver");// в комп стуканули
    lcd.setCursor(0,0);lcd.print("Mantis"); //он во всем этом виноват
    lcd.setCursor(0,1);lcd.print("Gavnuk is     "); // зачем перводить и так понятно
  }
  else{
    digitalWrite(RELE1,LOW);// да будет свет сказал электрик и перерезал провода
    Serial.println("ligth off");// в компьютер стуканули
    lcd.setCursor(0,0);lcd.print("Mantis"); //он во всем виноват
    lcd.setCursor(0,1);lcd.print("Free for gavna"); // сладкое слово свобода
  }  
  DateTime now = RTC.now();//get-нем Гей Тайма?
  sprintf(time_string, "%02d:%02d:%02d", now.hour(),now.minute(),now.second());//другие стили больше бУкАв
  Serial.println(time_string); //test 
  lcd.setCursor(8,0);//пшел курсор
  lcd.print(time_string);// показали и забыли
  delay(1000); //1 sek постоим покурим  
}  
//=================================================
//че тут подпрограммы расписывать  логика в 25 строк помещается ---------
//void MoyaMnogorasovayaXren(int var100, boolean var101){Serial.println("бла-бла-бла");}
//--уфф устал код писать учишь учишь уму разуму даже спасибо не говорят---

реалтайм

https://yadi.sk/i/NW9Ze5XZc96V6

Осторожно файл очень "большой" 317килобайт 0.1 секунда ;) не устаньте скачивать

art100
Offline
Зарегистрирован: 09.03.2014

да ладно чего вы клапуция обижаете

всю не буду данимать его сегодня

mantiss
Offline
Зарегистрирован: 18.10.2014
[code]
int _ABVAR_1_L;
int _ABVAR_2_i;
int _ABVAR_3_a;
int ardublockUltrasonicSensorCodeAutoGeneratedReturnCM(int trigPin, int echoPin)
{
  int duration;
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(20);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  duration = duration / 59;
  return duration;
}


void setup()
{
digitalWrite( 12 , LOW );

_ABVAR_2_i = 0;
pinMode( 9 , OUTPUT);
_ABVAR_3_a = 0;
_ABVAR_1_L = 0;
}

void loop()
{
_ABVAR_1_L = ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( 12 , 13 ) ;
if (( ( ( _ABVAR_1_L ) > ( 0.9 ) ) && ( ( _ABVAR_1_L ) < ( 1 ) ) ))
{
_ABVAR_2_i = 0 ;
_ABVAR_3_a = 0 ;
digitalWrite( 9 , LOW );
}
else
{
digitalWrite( 9 , HIGH );
}
}

[/code]

начал потихоньку в ardublock ваять что-то, не понятно что должна 

_ABVAR_1_L = ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( 12 , 13 ) ;

возвращать? в каких единицах там считается, а то в IF сравниваю валенки с паровозами и естественно не работает ничего.

if (( ( ( _ABVAR_1_L ) > ( 30 ) ) && ( ( _ABVAR_1_L ) < ( 100 ) ) ))

изменил вот так, это в сантиметрах, как я понимаю, результат немного непонятный, ща видео попробую выложить. https://www.dropbox.com/s/5u4ea10f91iiwz1/VID_20141021_192321.mp4?dl=0

faraddin
Offline
Зарегистрирован: 11.08.2013

Если Вы про тип, то у Вас везде int, если про значения, то подключите терминал и смотрите - калибруйте

mantiss
Offline
Зарегистрирован: 18.10.2014

что значит подключите терминал? я так понял, что в 16 строке длительность переводится в расстояние в сантиметрах, по работе вроде похоже, но вот светодиод моргает и вообще нестабильно работает. Может где задержку добавить надо?

faraddin
Offline
Зарегистрирован: 11.08.2013

подключить терминал это отправлять данные по Serial.println();

mantiss
Offline
Зарегистрирован: 18.10.2014

добавил delay(500) после 38 и 42 строк, подключил монитор порта. вроде работать получше стало, но все равно иногда проскакивают левые значения. может задержку побольше сделать? в принципе, даже в таком виде нормально, там ведь свет не должен гореть только в узком диапазоне расстояний. где нужно сделать задержку, чтобы состояние светодиода изменялось только после того, как значение расстояния будет измерено несколько раз и сами значения будут близкими?

mantiss
Offline
Зарегистрирован: 18.10.2014

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