Конечные автоматы, зажигание светодиода на определенное время

sadman41
Offline
Зарегистрирован: 19.10.2016

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

if (age > 100) then age = 16; 

Зачем это было сделано - никто объяснить не смог. Так что квоновский свич на true/false/default - не самое худшее, что может быть написано...

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

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

if (age > 100) then age = 16; 

Зачем это было сделано - никто объяснить не смог. Так что квоновский свич на true/false/default - не самое худшее, что может быть написано...

как зачем, программист был в теме, что в таком возрасту уже впадают в детство

bwn
Offline
Зарегистрирован: 25.08.2014

Ворота пишет:

Прекратил.

Владимир, как-то Вы, действительно зверствуете. Я из другого исхожу, по нынешним стандартам, о полиции, они все с верхним образованием. Гляжу на морды в фотографиях, там не то что образования, там ума не хватит, чтобы найти, где ответ спросить. Но где-то им дипломы выдают?????
А здесь пацан и впрямь, сразу код запостил. Здря, Вы, так. ИМХО.

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

bwn, не дразните его. У него очень болезненное неприятие таких "студентов", старая личная история, в это лучше не лезть. Захочет - сам расскажет.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

arlover - жду ваших комментариев по коду Квона

arlover
Offline
Зарегистрирован: 16.03.2019

ua6em пишет:

arlover - жду ваших комментариев по коду Квона

Спасибо, что переживаете.

По коду Квона, если в void set(state_t s) я разобрал нужность автомата, то зачем код ниже использовать в loop'e я не понял, переделал на if под себя - все ок. 

switch (btn) {
      case false:
        if (!digitalRead(btnPin)) {
          btnPast = millis();
          btn = true;
          up();
          Serial.println("Tuck");
        }
        break;
      case true:
        if (digitalRead(btnPin)) {
          btnPast = millis();
          btn = false;
        }
        break;
    }
 
qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Вы код не полный поймали Вот так надо

if (millis() - btnPast >= 100) {
    switch (btn) {
      case false:
        if (!digitalRead(btnPin)) {
          btnPast = millis();
          btn = true;
          up(); //< - Вот это есть вызов обработчика функции 
          Serial.println("Tuck");
        }
        break;
      case true:
        if (digitalRead(btnPin)) {
          btnPast = millis();
          btn = false;
        }
        break;
    }
  }

ПС: Удивительно что вы с этими темами не ознакомились. Тогда впечатлений было больше. http://arduino.ru/forum/programmirovanie/tsifrovye-avtomaty-v-klassakh-po-qwone
http://arduino.ru/forum/programmirovanie/klassy-arduino-po-qwone-dlya-ch...
Ну после них уже ясно откуда ноги растут.

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

arlover, Вас уже дважды просили - не трогайте Ворота. Его просили не трогать Вас и он это делает. Вы же провоцируете срач. На бан нарываетесь? Я удалил Ваш пост уже во второй раз.

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

Я Вам в третий раз говорю, уймитесь.

Я не удалю ни Ваших постов, ни его, написанных ДО ТОГО, как я попросил Вас обоих прекратить срач. С того момента я тру всё, где вы упоминаете друг друга (потому что последует ответ, ответ на ответ и ... срач). До сих пор ни одного его поста мне тереть не пришлось, а Ваш уже третий. Вы действительно хотите быть забаненым? Если нет, то просто вот прямо сейчас прекратите и больше не упоминайте его в этой теме. Разговор окончен.

arlover
Offline
Зарегистрирован: 16.03.2019

Ок, играю по вашим правилам.

Тогда повторю что было в посте, но другими словами.Спасибо, qwone, Вы очень помогли. 

И вот такой возник вопрос, почитал код из ваших темы, там задержка около 5, сейчас же предпочли 100

if (millis() - btnPast >= 100)

Почему?

Проверил, и так, и так. Работает адекватно.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Ну нет у меня осцилографа замерить дительность реального дребезга. Вот до страховки и поставил 0,100 секунды. И дребезг зависист от реальных микриков или что там у людей. Тем более код расчитан на широкую публику и все то дерьмо которое они могут использоваться и орать что скеч криво работает.

arlover
Offline
Зарегистрирован: 16.03.2019

Понял, спасибо!

bwn
Offline
Зарегистрирован: 25.08.2014

arlover пишет:

Есть ветка "Песочница", прочитайте в ней начало головной темы, и все станет ясно. Я её не в пьяном бреду писал. Будете продолжать, грохну всю тему.
Ворота, уважаемый человек на форуме, примите это как данность.

arlover
Offline
Зарегистрирован: 16.03.2019

bwn пишет:

arlover пишет:

Есть ветка "Песочница", прочитайте в ней начало головной темы, и все станет ясно. Я её не в пьяном бреду писал. Будете продолжать, грохну всю тему.
Ворота, уважаемый человек на форуме, примите это как данность.

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

Ну и раз здесь администратор: увидел опечатку. "расечатать" вместо "распечатать" в syntaxhighlighter

Удачи.

bwn
Offline
Зарегистрирован: 25.08.2014

arlover пишет:

Удачи.

И вам не хворать.

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

ua6em пишет:

я к свитч конструкциям еще даже не подступался...

Вот как раз в коде из сообщений №30, 33 switch совершенно не нужен.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

andriano пишет:

ua6em пишет:

я к свитч конструкциям еще даже не подступался...

Вот как раз в коде из сообщений №30, 33 switch совершенно не нужен.

только ли? не пониаю что эта функция делает и как -      run = [] {};

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Автор, посмотри ещё вот сюда: http://arduino.ru/forum/programmirovanie/tsifrovye-avtomaty-dlya-qwone тут есть и пример для сложного светодиода. :)

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

ua6em пишет:

andriano пишет:

ua6em пишет:

я к свитч конструкциям еще даже не подступался...

Вот как раз в коде из сообщений №30, 33 switch совершенно не нужен.

только ли? не пониаю что эта функция делает и как -      run = [] {};

это пухомагия

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

DetSimen пишет:

это пухомагия

Во-во. А ТС собрался квонокод сдавать :) 

Если только преподаватель не на всё забил, то я бы на такую сдачу даже билет бы купил, будь возможность :)

dionistor
Offline
Зарегистрирован: 18.03.2019

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

 

b707
Offline
Зарегистрирован: 26.05.2017

dionistor пишет:

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

 

во -первых, - зачем постить в тему. которая никаким боком к вашему вопросу?

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

Варианта у вас два - либо начинать изучать программирование, либо заплатить программисту за решение задачи

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

DetSimen пишет:

ua6em пишет:

andriano пишет:

ua6em пишет:

я к свитч конструкциям еще даже не подступался...

Вот как раз в коде из сообщений №30, 33 switch совершенно не нужен.

только ли? не пониаю что эта функция делает и как -      run = [] {};

это пухомагия

скетч проверил, работает как задумывалось, хотелось бы постичь азы этой Магии )))

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

dionistor пишет:

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

Сиди там, унутре, с ружьем, контролируй.  Пока сидишь, читай книги по С++. 

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

ua6em пишет:

скетч проверил, работает как задумывалось, хотелось бы постичь азы этой Магии )))

в Николаеве рассадник.  Придёца совершить хадж. 

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

DetSimen пишет:

Сиди там, унутре, с ружьем, контролируй.  Пока сидишь, читай книги по С++. 

А чё самому? Можно нанять кого-нибудь. Нехай сидит.

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

Ворота пишет:

DetSimen пишет:

Сиди там, унутре, с ружьем, контролируй.  Пока сидишь, читай книги по С++. 

А чё самому? 

Время будет по С++ больше 0 стать. 

dionistor
Offline
Зарегистрирован: 18.03.2019

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

 

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

dionistor пишет:

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

 

bwn
Offline
Зарегистрирован: 25.08.2014

Дида, хренистор сказал, грызть тебя начинать, ты как, готов?))))

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

bwn пишет:

Дида, хренистор сказал, грызть тебя начинать, ты как, готов?))))

ХТО?  О_О  

И за шо?  

bwn
Offline
Зарегистрирован: 25.08.2014

Та, хрен его знает: "всем спасибо грызитесь тут дальше".

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

А, ну да.  Если поможет, надо грысть. 

bwn
Offline
Зарегистрирован: 25.08.2014

Неа, ему не поможет, он вумных не любит, а это есть разновидность классовой ненависти, Маркс, однако.))))

b707
Offline
Зарегистрирован: 26.05.2017

dionistor пишет:

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

 

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

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

dionistor пишет:

пришел на форум за советом

Так Вам и дали совет: изучать матчасть. Чем Вы недовольны? Вы чего-то другого ждали? 

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

b707 пишет:
сразу то что надо нашел.
Так, селёдка ж действует!