Как правильно считать время удержания контакта?
- Войдите на сайт для отправки комментариев
Втр, 21/11/2017 - 15:29
Всем привет! Заморочился с такой штукой как срабатывание от наводок. Подключен датчик и время от времени на нем нет сигнала, а ардуина ловит наводку на его ноге. Решил обойти это временем опроса сигнала с датчика. Вот код который придумал:
unsigned long timeD7_on = 200; unsigned long timestartD7 = 0; unsigned long timestopD7 = 0; bool stD7=false; bool D7_ON=false; // полезное действие кнопки ... loop() { if ((digitalRead(5)==HIGH) && (st==false)) { stD7=true; // включили счетчик timestartD7=millis(); // запоминаем когда было первое нажатие } if (stD7==true) { if (digitalRead(5)==HIGH) { // пока есть сигнал от кнопки timestopD7=millis(); // записываем текущее значение таймера }else { D7_ON=false; stD7=false; // отключаем счетчик timestopD7=millis(); timestartD7=millis(); } } if (stD7==true) && (timestopD7-timestartD7==timeD7_on) { D7_ON=true; // полезное действие некий флаг stD7=false; timestopD7=millis(); timestartD7=millis(); } }
Как считаете по работоспособности этот кусок удачный?
строгое равенство в строке 26(второе условие) - это неудачный подход. Поставьте вместо него "больше-равно"
Ну да, есть в этом истина )) А в целом оптимизировать код не получится? Допустим что у меня 4 датчика - это на каждого заводить свои переменные получается?
ради чего оптимизировать? - уменьшение размера кода, расхода ОЗУ. ускорение работы?
А если просто так, для красоты - то это замечательное задание для обучения, займитесь этим сами, вам это будет полезно :)
Всем привет! Заморочился с такой штукой как срабатывание от наводок. Подключен датчик и время от времени на нем нет сигнала, а ардуина ловит наводку на его ноге. Решил обойти это временем опроса сигнала с датчика.
Что за датчик такой чудесный? Подтяжка к питанию/земле от помех с эфира, говорят, с этого воскресенья перестала помогать - это на самом деле так, не знаете?
Ну да, есть в этом истина )) А в целом оптимизировать код не получится? Допустим что у меня 4 датчика - это на каждого заводить свои переменные получается?
Мда. Похоже для вас есть хорошее известие. Людям которые задолбались придумывать название перемннных на каждый датчик и придумали классы. Так что почитайте "Библию " от Страуструпа.
Вы с таким усердием, уважаемый qwone, настоятельно рекомендуете всем использовать ООП, что возникает полное ощущение, что вы сами не до конца понимаете его назначение.
Вы точно знаете, что кроме инкапсуляции, которую вы активно используете в своих примерах классов, есть еще два столпа ООП - наследование и полиморфизм?
Вы понимаете, что смешивание функционального программирования и ООП, что вы рекомендуете и используете в своих примерах - не есть хороший тон программирования?
В конечном счете, практически во всех хороших книгах по С++ и ООП так или иначе прослеживается, что "ООП — это и ОО программирование и проектирование. Одно без другого бессмысленно чуть более чем полностью."
Человеку достаточно освоить массивы, идеально - структуры и массивы структур и тогда жизнь его заблестит новыми красками. ООП ему совершенно не обязательно.
///Вы точно знаете, что кроме инкапсуляции, которую вы активно используете в своих примерах классов, есть еще два столпа ООП - наследование и полиморфизм?
Знает он. Точно знает, я ему уже както писал что без наследования и полиморфизма неинтересно. И пример писал с иерархией классов. Так что будте уверены.
///Вы понимаете, что смешивание функционального программирования и ООП, что вы рекомендуете и используете в своих примерах - не есть хороший тон программирования?
Вот тут я бы не соглашался. По краайней мере такое смешивание - точно не есть плохой тон. Все от задачи, где нужно одно, где другое а где и оба подхода. Кстати виринг - тому пример.
// ОО программирование и проектирование. Одно без другого бессмысленно чуть более чем полностью.
))) разслабтесь, форум любительский, от слов проектирование и моделирование у большинства ушки болят, а у буйных крышу сносит. А так вобще оно конечно.
Всем привет! Заморочился с такой штукой как срабатывание от наводок. Подключен датчик и время от времени на нем нет сигнала, а ардуина ловит наводку на его ноге. Решил обойти это временем опроса сигнала с датчика.
Что за датчик такой чудесный? Подтяжка к питанию/земле от помех с эфира, говорят, с этого воскресенья перестала помогать - это на самом деле так, не знаете?
Подтяжки стоят, 10кОм на каждый вход, датчик индуктивности, провод идет через цех длиной окола 10метров. Осцилографа нет, чтоб проверить род помех, но судя по случайным срабатываниям это оно. Прикрутил этот код и полет нормальный. Но мысль развести электрически схему меня не отпускает. Попробую еще ферритовые кольца поставить на провода датчиков.
Подтяжки стоят, 10кОм на каждый вход, датчик индуктивности, провод идет через цех длиной окола 10метров. Осцилографа нет, чтоб проверить род помех, но судя по случайным срабатываниям это оно. Прикрутил этот код и полет нормальный. Но мысль развести электрически схему меня не отпускает. Попробую еще ферритовые кольца поставить на провода датчиков.
Провод экранированный?
Провод экранированный?
Не, от датчика родные провода идут не экранированные, они собираются в распред.коробке а от туда 5-и жильный экранированный идет до ардуины. Каждая жила - датчик
Не, от датчика родные провода идут не экранированные, они собираются в распред.коробке а от туда 5-и жильный экранированный идет до ардуины. Каждая жила - датчик
[/quote]
и при чём здесь программа, если у вас чисто аппаратная борьба с помехами пока не выиграна ?
от самого датчика до дуни всё в экране, экран заземлён.
Что Вы писали - я видел (в Вашей квалификации у меня и тени сомнения нет), то что он знает у меня сомнений более чем достаточно.
Вот тут я бы не соглашался. По краайней мере такое смешивание - точно не есть плохой тон. Все от задачи, где нужно одно, где другое а где и оба подхода. Кстати виринг - тому пример.
))) разслабтесь, форум любительский, от слов проектирование и моделирование у большинства ушки болят, а у буйных крышу сносит. А так вобще оно конечно.
А я и не напрягался )))) Более того, я даже не сильно стараюсь понять логику ответов в этом форуме. По мне так ее просто нет. То человека с нормальным вопросом и знанием азов втаптывают в говно и отсылают к "ищу исполнителя", то полному аутисту с незнанием программирования даже на уровне школьной тройки с минусом начинают помогать всем кагалом.
Но даже на этом уровне форума. Отсылание новичков, которые не знают, что такое массивы и циклы к классам - попахивает дебелизмом недосигаемого уровня. Хотя, конечно, зря я смолчать не смог. Каюсь, больше не буду. Пусть все развлекаются как хотят.
Более того, я даже не сильно стараюсь понять логику ответов в этом форуме. По мне так ее просто нет. То человека с нормальным вопросом и знанием азов втаптывают в говно и отсылают к "ищу исполнителя", то полному аутисту с незнанием программирования даже на уровне школьной тройки с минусом начинают помогать всем кагалом.
в основном это зависит от поведения самого новичка. Если уметь общаться и слегка подыгрывать отвечающему - можно даже самых суровых "гуру" развести на решение своей проблемы...
Кстати. я все время вижу какие-то упоминания "программирования в школьной программе". Спросил у дочери- одиннадцатиклассницы - у них никакого программирования нет и не было. Это какие-то спец-мат-школы имеются в виду?
Строго говоря, вопрос действительно не простой. Говорят даже Алан Кей, когда придумал термин ООП, говорил, что он точно не имел ввиду то, что там у Страуструпа получилось. Хотя, думаю, брешут.
Если вы говорите о классах, то это точно С++. В голом С можно накостылить объекты и даже получить с миллионом оговорок и головной болью наследование и полиморфизм, но классы как термин - это С++.
По любому, отсылание людей с познаниями в программировании ниже массивов, структур и циклов к классам, выглядит или как идиотизм или как извращенное желание потешить свое эго у человека по диагонали прочитавшего Стауструпа.
Извините, если я ошибаюсь, но выглядит со стороны - именно так.
Кстати. я все время вижу какие-то упоминания "программирования в школьной программе". Спросил у дочери- одиннадцатиклассницы - у них никакого программирования нет и не было. Это какие-то спец-мат-школы имеются в виду?
Информатика в обязательных предметах пока вроде числится. Программа информатики, вероятно, отличается в гуманитарных лицеях от физико-математических колледжей, но основф алгоритмизации и программирования, пусть в разных объемах, но должны быть. Если их нет, то думаю, вопросы к руководству учебного заведения должны возникнуть.
Сын, действительно, учился в физ-мат, но сейчас спросил у жены - зауча общеобразовательной школы без всяких уклонов, говорит - факультативно с 1 (!!!!) го класса. Обязательно с 4 или 5-го. Основы программирования и алгоритмизации, пока программу не меняли, с 7-го вроде.
Информатика в обязательных предметах пока вроде числится.
Информатика в школьной программе к программированию, имхо, не имеет ровно никакого отношения. Большинство учителей. преподающих т.н. "информатику", о реальном программировании знают примерно столько же, как местые "новечки", что уж говорить о детях.
в основном это зависит от поведения самого новичка. Если уметь общаться и слегка подыгрывать отвечающему - можно даже самых суровых "гуру" развести на решение своей проблемы...
Ну тогда это не технический форум, а сборище неуравновешанных невротиков DDDDDDD
Ну тогда это не технический форум, а сборище неуравновешанных невротиков DDDDDDD
Это нормально. Это ж обратная зависимость - чем более сложной интеллектуальной деятельностью человек занят, тем хуже у него с душевным равновесием... И наоборот - "меньше знаешь - крепче спишь".
Информатика в школьной программе к программированию, имхо, не имеет ровно никакого отношения. Большинство учителей. преподающих т.н. "информатику", о реальном программировании знают примерно столько же, как местые "новечки", что уж говорить о детях.
Зачем имховать, когда можно открыть учебный план и убедиться, что все там есть. О качестве обучения и пр. распространяться смысла нет.
харе трындеть, кнопками кто то будет заниматься ???????????
Вот я погляжу, что вы пипец какой умный. Так почему вам не занятся помощью новичкам на этом форуме. Если желаете , то даже в разделе программирования. Вот тогда и пощупаете конкретный контингент новичков.Нащупаете лично свой подход к таким ... дарованиям. А на счет учебного плана. Так учителя учат только тех, кто хочет учится. А для всяких коммисий у учителя есть учебный план. И дополнительно заниматься с каждым "дарованием" индивидуально, банально нет сил и времени. Но лично вы можете начать работу "учителя программирования" на этом форуме, что лично написаным учебным планом, что без него.
а тс нифига читать не хочет))))
ему конкретно кто то должен всё расписать...
Вот я погляжу, что вы пипец какой умный. Так почему вам не занятся помощью новичкам на этом форуме. Если желаете , то даже в разделе программирования. Вот тогда и пощупаете конкретный контингент новичков.Нащупаете лично свой подход к таким ... дарованиям.
Так я и попытался что-то сделать, но тут вы влезли с классами. Но в целом, посыл понятен. Как говорится, ухожу мариванна, ухожу, ухожу...
На самом деле есть прекрасный вариант, кажется на stm32duino: хочешь зарегестрироваться - веллкам свои скетчи модераторам. Дебилов и олигофренов от программирования, ровно как и незамутненных девиц отсекает отлично. Остальных заставляет покурить мануалы хотя бы до уровня бигинерс++. Но здесь о таком только мечтать приходится.
А на счет учебного плана. Так учителя учат только тех, кто хочет учится. А для всяких коммисий у учителя есть учебный план. И дополнительно заниматься с каждым "дарованием" индивидуально, банально нет сил и времени. Но лично вы можете начать работу "учителя программирования" на этом форуме, что лично написаным учебным планом, что без него.
Мне это зачем написали? Я это - как раз отлично понимаю. Это у b707 в школе на информатике программирования нет.