Помогите написать скетч для несложного устройства

АлексейТ
Offline
Зарегистрирован: 24.06.2016

Buzzer2010 пишет:

Navigator пишет:
АлексейТ

ДЛЯ новичка наверно будет проще посмотреть видеоуроки Джероми БЛУМА. Например на сайте Амперка. ОН РАССКАЗЫВАЕТ КАК ПОДКЛЮЧИТЬ КНОПКИ И РЕЛЕ И Т Д. ЗАТЕМ уроки ДМИТРИЯ ОСИПОВа.  В первых уроках Дмитрий подробно рассказывает как заливать скетчи, устанавливать библиотеки. СКАЧАЙТЕ описание своей ардуинки, разберитесь с назначением выходов и входов. ПОКА не используйте выводы Д0 и Д1.

Я вспоминаю себя, когда пришёл на форум первый раз. У меня тогда и ардуины не было еще... Так вот оно как, оказывается: тебе дают реально полезные советы, ссылки, ключевые слова для поиска нужной инфы, а ты смотришь на это всё и думаешь: "А какое это, вообще, всё имеет отношение к тому что мне просто хочется поигратьтся с ардуиной и если не осилю - забыть как страшный сон?" А потом, когда получился первый скетч, когда светодиодик-таки замигал, экран засветился да еще и показал "Hello world!"... А уже было поздно: меня уже "причесали" под гребенку ламера и на мои посты никто внимания уже не обращал. И вот тогда-то, как раз, если действительно хочется и действительно интересно - листаешь свои старые посты, где тебе пытались помочь, идёшь по тем ссылкам... И приходит прозрение, можно сказать... И понятно теперь почему народ злится: потому что как ласково тебя не просят сделать чужую работу, на это всё же надо потратить время, нервы на бесмысленные объяснения для ТС да и вообще.

Одно могу сказать совершенно определенно, АлексейТ: "Помогите написать скетч для несложного устройства" - это подразумевает что какую-то часть Вы уже осилили и просто уткнулись в неизвестные Вам особенности программирования. Но Вы-таки приложили какой-то труд, проделали работу и просто просите подсказать дальнейшее напраление. А сейчас получается, что Вас, для начала, нужно еще посвящать в самые азы? Так может Вы сперва поднимите свой уровень до понимания смысла происходящего, а уже потом мы с Вами будем разговаривать, хотя бы, как с человеком "в теме"?

Топик надо переименовать в "Хочу овладеть навыками программирования", либо переместить его в "Ищу исполнителя", потому что то, к чему Вы нас тут склоняете, называется одним нехорошим словом...


Спасибо! Вы реально мне очень помогли. Отбросим нехорошие слова и вернёмся к программированию))))

АлексейТ
Offline
Зарегистрирован: 24.06.2016

Navigator пишет:

АлексейТ

ДЛЯ новичка наверно будет проще посмотреть видеоуроки Джероми БЛУМА. Например на сайте Амперка. ОН РАССКАЗЫВАЕТ КАК ПОДКЛЮЧИТЬ КНОПКИ И РЕЛЕ И Т Д. ЗАТЕМ уроки ДМИТРИЯ ОСИПОВа.  В первых уроках Дмитрий подробно рассказывает как заливать скетчи, устанавливать библиотеки. СКАЧАЙТЕ описание своей ардуинки, разберитесь с назначением выходов и входов. ПОКА не используйте выводы Д0 и Д1.

 


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

АлексейТ
Offline
Зарегистрирован: 24.06.2016

DIYMan пишет:

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


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

АлексейТ
Offline
Зарегистрирован: 24.06.2016

В хим производстве использовать не собираюсь. Нужно сугубо для личного пользования в домашних целях

АлексейТ
Offline
Зарегистрирован: 24.06.2016

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

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

АлексейТ пишет:
И ещё. Раньше когда в селе сгорал дом, то все

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

АлексейТ
Offline
Зарегистрирован: 24.06.2016

Клапауций 232 пишет:

АлексейТ пишет:
И ещё. Раньше когда в селе сгорал дом, то все

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


Не правда

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

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

Вот об этом тебе и талдычат! ОСНОВЫ потрудись сам разобрать.

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

Понятия: программа, функция, переменная, константа, адрес, присваивание, операция... и т.д.

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

Вот ссылка на Кернигана и Ричи, мог бы и сам найти, но считай это авнсом: http://people.toiit.sgu.ru/Sinelnikov/PT/C/Kern_Ritch.pdf это pdf-ка. Вот fb2:http://profilib.com/book/31/brayan-kernigan-yazyk-programmirovaniya-si-izdanie-3-e-ispravlennoe.fb2.zip.

Закачай в смартфон и читай по дороге на работу. Если на машине ездишь - читай хоть в сортире. Хотя бы 4 первые главы, до "Указатели и массивы". Это совсем не трудно. Я впервые читал ее в 15 лет... в 1984-ом... с распечатки АЦПУ, заботливо сшитой нитками.

Поставь компилятор себе на комп. Пакет называется MinGW, сайт mingw.org. Это точно такой компилятор, как описан в книге и, как ни странно, именно он применяется в среде Ардуино IDE. Это компилятор GCC, MinGW - реализация для Windows компилятора GCC, изначально юниксового. Простые примеры из Кернигана-Ричи напишешь на своем компе. Сам поймешь потом, почему это необходимо.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

АлексейТ пишет:

Извините за программу инт. Эта терминология. Если я вас спрашу как называется устройство для накачки авто или вело шин, что вы ответите?

Мы ответим "насос". Или есть другой термин и Вы нас хотите таким образом подловить?

АлексейТ
Offline
Зарегистрирован: 24.06.2016

Насос не верно, это компрессор

АлексейТ
Offline
Зарегистрирован: 24.06.2016

Хотя я тоже его называю насос

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

АлексейТ пишет:
Хотя я тоже его называю насос

ты кем на химзаводе работаешь, погорелец?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

АлексейТ пишет:
Насос не верно, это компрессор

Не соглашусь с Вами. Ключевые моменты выделил жирным.

Насос - машина, устройство для накачивания или выкачивания жидкостей, газов. (Этимологический словарь современного русского языка: в 2 т, Том 1).

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

Компрессор (от лат. comprimere - сжимать, сдавливать) - устройство для сжатия и подачи воздуха, газа под давлением (Т.Ф. Ефремова Новый словарь русского языка. Толково- словообразовательный)

Компрессор - устройство для сжатия и подачи какого-либо газа под давлением не ниже 115 кПа. По принципу действия компрессоры аналогичны соответствующим насосам (Современный толковый словарь изд. «Большая Советская Энциклопедия»)

Компрессор - машина для сжатия воздуха, газов, паров до избыточного давления (С.И. Ожегов, Н.Ю. Шведова Толковый словарь русского языка)

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

Так, ну ладно. Давайте уже по существу. Человек согласен стараться понимать - это уже, значит, не просто так зашёл. 

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

wdrakula пишет:
...Я впервые читал ее в 15 лет... в 1984-ом... с распечатки АЦПУ, заботливо сшитой нитками.
Прям как я в 89-м PL\1 с ISPF зубрил по ночам на перфопортянках, таки -да - сшитыми обычными нитками.)))) Проги хранил на специально выделеннной бобине. А на отладку выходил, преимущественно ночью, захватив с собой много свежего пива и одну свежую операторшу, что б не скушно было )))))))

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

int  это имя типа в декларации. Можно обозвать ключевым словом, начинающий может назвать оператором.

Так что у тебя не в терминах ошибка, а в понимании.

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

---------------------------------

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

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

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

wdrakula пишет:

Таким образом - в шиномонтаже - компрессор, а у велосипедиста - все таки насос,

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

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

АлексейТ пишет:
передо мной поставлена мною же задача собрать устройство.

Поставлена - выполняйте!

Как? Вам чётко и правильно объяснили в посте №1.

АлексейТ пишет:
Изучив весь курс программирования я потрачу вагон времени, если есть  ...

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

 

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Jeka_M пишет:

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

а, на паровой и лошадиной тяге - как называется?

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

АлексейТ, не отвлекайтесь на всякие там насосы. Те кто зашел сюда язык об колено почесать - с них станется.Задача Ваша не настоьько сложная что бы не осилить ее рамках этого топика. Есть одна проблема: кнопок и релюшек таких как у Вас нет в наличии. Так что придется отлаживать скетч на вашем комплекте. Ну и, справедливости ради - мне тоже пригодится с релюшками разобраться )))))

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

о насосах и компрессорах для общего образования:

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

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

*тема велосипедного насоса, который компрессор, т.к. рабочее тело газ - не раскрыта.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Buzzer2010 пишет:

Задача Ваша не настоьько сложная что бы не осилить ее рамках этого топика.

Buzzer2010, не трать время на хитреца и лентяя - его задача, развести тебя на рабочий код.

*давай о насосах и компрессорах - почему велосипедный насос, а не компрессор?

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

Клапауций 232 пишет:

Buzzer2010 пишет:

Задача Ваша не настолько сложная что бы не осилить ее рамках этого топика.

Buzzer2010, не трать время на хитреца и лентяя - его задача, развести тебя на рабочий код.

*давай о насосах и компрессорах - почему велосипедный насос, а не компрессор?

Да пусть разводит наздоровье. Я нахожусь на той же стадии развития что и он. Мне только полезно будет поковыряться в чужих задачах, а то я уже и ардуины свои в дальнюю коробочку сложил. Аскому сбил и успокоился. Браться за серьезные обсуждения типа "Титановый велосипед" мне еще рановато. Пока еще хочу по азам побродить.

inspiritus
Offline
Зарегистрирован: 17.12.2012

Алексей! Скажу Вам по секрету, что блинк, который мигает светодиодом так же бодро будет щелкать реле, если его прицепить на 13 -й пин ( конечно не напрямую, у Вас ведь есть шильд ? Вот его и цепляйте ... ПРАВИЛЬНО ТОЛЬКО) . А если в начале программы ( скетч - слово непристойное) найти 13 и поменять на номер пина , Куда Вы прицепили реле, то оно тоже будет щелкать. Функцией delay (1000) задается задержка в тысячу миллисекунд ( то есть секунда)  . С этим тоже можно поиграться.

хехе.... Так сказать ДЗ

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

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

inspiritus пишет:
...сыграйте на двух реле чечетку и приходите, расскажу как быть с кнопками.

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

------------------

Тогда, значит как-то так:



void setup() {

}

void loop() {
  int Button1 = analogRead(A1); // Кнопка1 - на аналоговый пин А1
  int Button2 = analogRead(A2); // Кнопка2 - на аналоговый пин А2
  int Button3 = analogRead(A3); // Кнопка3 - на аналоговый пин А3
  if (Button1) {                               // Если нажата Кнопка1
    digitalWrite(12, 1);                   // включить цифровой пин 12
  }
  if (Button2) {                               // Если нажата Кнопка2
    digitalWrite(13, 1);                  // включить цифровой пин 13
  }
}

Только у меня сомения насчёт "if" - оно, как-то не всегда срабатывает или я его не всегда к месту тулю что ли . . .

inspiritus
Offline
Зарегистрирован: 17.12.2012

Почитайте еще ТУТ, много интересного и очень доходчиво :)

тэг arduinoBasicConnections.pdf

вот и посмотрим падаван он , или халявщик ;)

АлексейТ
Offline
Зарегистрирован: 24.06.2016

Буквально пару слов. В случае насоса и компрессора для велосипедных шин мы наши термины объединили в групппу синонимов, но с технической точки зрения это совершенно разные устройства. И не зависимо от привода устройство для накачивания шин называется компрессором именно потому что давление в камере выше115 кПа. А если б было ниже называлось бы воздуходувка или вентилятор в зависимости от давления. Работаю я как раз таки с этими устройствами компрессорами и насосами. Если интересует должность скажу оператором (по нормативной документации машинист). Простите если кого то задел. По поводу ардуинки спасибо за книжки изучу, так как устройство мне необходимо собрать (написать скетч в ближайшее время), так как проблема в следующем: когда я разместил объявление о том, что ищу программиста на соседнем форуме, все как полагается на платной основе, люди откликнулись, но прочитав тех задание либо назвали нереальную цифру, либо не гарантировали, что будет результат какой я хочу, либо собирались запрограммировать устройство не имея используемых компонентов. Короче не смог найти исполнителя. Ещё раз убеждпюсь, что твою работу лучше тебя никто не выполнит. Начало положено осталось дойти до конца. То что в этом топике написано, задание это наверное 30% всего устройства. Если кто-то поможет с этими 30% процентами скажу спасибо. Если кто-то хочет реализовать все 100% пишите на мейл les1986@mail.ru .Вышлю ТЗ. Просьба беспокоить только людям имеющим опыт и след комплектующие ардуино нано 328p , блок реле на 4 нагрузки, матрицу состоящую из 4-х led матриц на процессоре max7219, подтягивающие резисторы на 5 позиций номиналом 4.7 кОм. Продолжаем тему спасибо!

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

не, ну я полюбому почитаю . . .  )))))

АлексейТ
Offline
Зарегистрирован: 24.06.2016

inspiritus пишет:

Алексей! Скажу Вам по секрету, что блинк, который мигает светодиодом так же бодро будет щелкать реле, если его прицепить на 13 -й пин ( конечно не напрямую, у Вас ведь есть шильд ? Вот его и цепляйте ... ПРАВИЛЬНО ТОЛЬКО) . А если в начале программы ( скетч - слово непристойное) найти 13 и поменять на номер пина , Куда Вы прицепили реле, то оно тоже будет щелкать. Функцией delay (1000) задается задержка в тысячу миллисекунд ( то есть секунда)  . С этим тоже можно поиграться.

хехе.... Так сказать ДЗ

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


Честно говоря именно этим способом я проверял её, так сказать убедился что китаец прислал рабочий комплект

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

АлексейТ пишет:
А если б было ниже называлось бы воздуходувка или вентилятор в зависимости от давления. Работаю я как раз таки с этими устройствами компрессорами и насосами.

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

inspiritus
Offline
Зарегистрирован: 17.12.2012

Вот и славно , а кнопки сделать как в pdf-е ? Сможете?

и еще не помешало бы текст из первого топика превратить в алгоритм и изобраззить его в виде блок-схемы

а то в Ваши эпистолярии  совершенно нет времени вникать, а алгоритм в виде блок-схемы это уже на 60% программа.

кстати ! В первом посте ничего не говорилось про индикацию и led матрицу :)

к вопросу о ТЗ, аппетитах и жабе

АлексейТ
Offline
Зарегистрирован: 24.06.2016

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

inspiritus
Offline
Зарегистрирован: 17.12.2012

В письме есть ссылка, чтобы отписаться от уведомлений

АлексейТ
Offline
Зарегистрирован: 24.06.2016

*электронку

АлексейТ
Offline
Зарегистрирован: 24.06.2016

inspiritus пишет:

В письме есть ссылка, чтобы отписаться от уведомлений


Оооо кажись получилось. Спс

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

inspiritus пишет:

Почитайте еще ТУТ, много интересного и очень доходчиво :)

тэг arduinoBasicConnections.pdf

вот и посмотрим падаван он , или халявщик ;)

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

АлексейТ
Offline
Зарегистрирован: 24.06.2016

inspiritus пишет:

Вот и славно , а кнопки сделать как в pdf-е ? Сможете?

и еще не помешало бы текст из первого топика превратить в алгоритм и изобраззить его в виде блок-схемы

а то в Ваши эпистолярии  совершенно нет времени вникать, а алгоритм в виде блок-схемы это уже на 60% программа.

кстати ! В первом посте ничего не говорилось про индикацию и led матрицу :)

к вопросу о ТЗ, аппетитах и жабе


Так как задача поставил я сам себе, не хочу ею пока забивать голову, устройство будет работать и без него. Блок схему нарисую , размещу возможно опять неправильно, но ещё раз повторюсь я не программист и не электрлнщик, что помню так сказать. Изз школы. Пдф посмотрю по кнопкам

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

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

АлексейТ
Offline
Зарегистрирован: 24.06.2016

Аппетит и жаба соглашусь

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

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

без головы?

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

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

АлексейТ пишет:
Это реально полезные ролики. Честно смотрел. Не внимательно, но смотрел. Пытался найти мне необходимую штуку, не нашёл. Ещё читал Виктора Петина и заходил на его сайт. Проблема в том, что они начинают писать скетч, но толком новичку не объесняют каждую строчку, зачем и почему. Не хватает этого

Это проблема исключительно Ваша.

Как ее решить я уже писал - прочесть сначала Фаронова, а потом Кернигана с Ритчи.

Прочтете - возвращайтесь на форум.

Впрочем, скорее всего, Вы ВДРУГ обнаружите, что прекрасно понимаете, что и зачем делают Блум и Петин.

АлексейТ
Offline
Зарегистрирован: 24.06.2016
andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Buzzer2010 пишет:

Тогда, значит как-то так:


void setup() {

}

void loop() {
  int Button1 = analogRead(A1); // Кнопка1 - на аналоговый пин А1
  int Button2 = analogRead(A2); // Кнопка2 - на аналоговый пин А2
  int Button3 = analogRead(A3); // Кнопка3 - на аналоговый пин А3
  if (Button1) {                               // Если нажата Кнопка1
    digitalWrite(12, 1);                   // включить цифровой пин 12
  }
  if (Button2) {                               // Если нажата Кнопка2
    digitalWrite(13, 1);                  // включить цифровой пин 13
  }
}

Только у меня сомения насчёт "if" - оно, как-то не всегда срабатывает или я его не всегда к месту тулю что ли . . .

1. Если собираетесь что-то выводить на пины, нужно сначала сконфигурировать их на выход.

2. Зачем объявлять лишние переменные и вызывать медленные функции вместо быстрых безо всякой необходимости?

void setup() {
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}

void loop() {
  if (digitalRead(A1)) {                               // Если нажата Кнопка1
    digitalWrite(12, 1);                   // включить цифровой пин 12
  }
  if (digitalRead(A2)) {                               // Если нажата Кнопка2
    digitalWrite(13, 1);                  // включить цифровой пин 13
  }
}

PS. Я не уверен, что Вы написали именно то, что хотели (пины однократно переключаются в высокий уровень и остаются там до выключения питания или резета).

std
Offline
Зарегистрирован: 05.01.2012

АлексейТ пишет:
Не правда

Чот напомнило...

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

std пишет:

АлексейТ пишет:
Не правда

Чот напомнило...

а, какого цвета у неё трусы были?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

АлексейТ пишет:
http://arduino.ru/sites/default/files/u21217/2016625214743.jpg вроде так

В Вашем алгоритме логическая ошибка: если А1>0 и не нажаты А2 и А3, попадам в бесконечный цикл, из которого не выбраться НИКОГДА.

Собственно, мы нигде даже не пытаемся читать состояние А2 и А3.

inspiritus
Offline
Зарегистрирован: 17.12.2012

Керниган и трупСтрауса :)

MacSim
Offline
Зарегистрирован: 28.11.2012

inspiritus пишет:

'Работаю на серьезном химическом производстве.' писал ТС в одном из постов. Хорошо, что не на атомной электростанции :)

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

При таких раскладах поостерегся бы экспериментировать.

и потенциальных исполнителей бы тоже предостерег бы

При устройстве на работу кандидата спрашивают о его последнем местеработы: где работали?

- в Академии наук.

- а точнее?

- в отделе подготовки материалов к исследованиям.

- а еще точнее?

-да что вы привязались, мух я для опытов ловил.

OlegM
Offline
Зарегистрирован: 14.06.2016

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

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

OlegM пишет:

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

давай, Buzzer2010, на тебя вся надежда... оператора насоса и моя.

Buzzer2010
Buzzer2010 аватар
Offline
Зарегистрирован: 10.03.2016

andriano пишет:
1. Если собираетесь что-то выводить на пины, нужно сначала сконфигурировать их на выход.

2. Зачем объявлять лишние переменные и вызывать медленные функции вместо быстрых безо всякой необходимости?





void setup() {
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}

void loop() {
  if (digitalRead(A1)) {                   // Если нажата Кнопка1
    digitalWrite(12, 1);                   // включить цифровой пин 12
  }
  if (digitalRead(A2)) {                  // Если нажата Кнопка2
    digitalWrite(13, 1);                  // включить цифровой пин 13
  }
}

PS. Я не уверен, что Вы написали именно то, что хотели (пины однократно переключаются в высокий уровень и остаются там до выключения питания или резета).

Вот она - оптимизация кода )))) Спасибо!

Насчет "именно того" - я не вникал еще в смысл постановки, потому что он автором еще не совсем ясно выражен. Тоесть для самого ТС постановка ясна как день, но не для нас всех. Извиняйте:  блок-схемы понимать не умею. Ну всё я делаю наоборот, ну так я устроен. Мне бы лучше "на пальцах". Вернемся к началу:

АлексейТ пишет:
Устройство состоит из ардуинки нано 328, трёх кнопок и блока релюшек. Алгоритм такой кнопкой 1 я посылаю импульсы на устройство одно нажатие 1 импульс
 Другими словами "Кнопка1" никак не влияет на работу имеющихся реле, а просто отсылает импульсы, заданные числом нажатий?

АлексейТ пишет:
Далее нажимая кнопку 2 замыкается реле 1 на время равное 1 минута равна 1 импульс (1 импульс равен 60 секунд).
Вторая кнопка, значит, связана с реле1 и просто включает его на 1 минуту, что является еденицей измерения импульсов.

АлексейТ пишет:
При нажатии на кнопку 3 замыкается реле 1 и 2, а 1 минута равна 2 импульсам.
Тут, более-менее, понятно всё. Одно нажатие на "Кнопку3" замыкает оба реле, но на полимпульса - 30сек.

АлексейТ пишет:
Количество импульсов можно добавлять во время работы устройства нажатием на кнопку 1, а режима кнопки1 и кнопки 2 можно переключаться сколько угодно раз пока количество импульсов положительное и больше 0. После достижения 0 устройство выключает все реле, кнопки 2 и 3 перестают быть активными, переходит в режим ожидания и после подачи импульса вновь возобнавляет работу.
 Эта часть для меня непостижима. Хотелось бы попросить автора более членораздельно выразить свою идею.