автомобильный тахометр на ардуино

dronsoft
Offline
Зарегистрирован: 02.06.2011

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

maksim
Offline
Зарегистрирован: 12.02.2012

С помощью катушки зажгания никак.

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

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

Mastino
Offline
Зарегистрирован: 03.12.2011

maksim пишет:

С помощью катушки зажгания никак.

Почему никак? можно минус катушки "читать" или высоковольтный провод который идет в распределитель. Ну так же как это делает стробоскоп.

maksim
Offline
Зарегистрирован: 12.02.2012

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

Тем по подсчету оборотов здесь пруд пруди.

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

Скажите придираюсь? Если человек действительно в чем-то заинтересован и хочет что-то реализовать, то таких вопросов от него не "услышишь". Будут конкретные и четкие вопросы, как, зачем и почему.

Можно было бы еще ответить например так: "Вот так - с помощью посатижей, изоленты и проводов" смысл тот же.

step962
Offline
Зарегистрирован: 23.05.2011

Напялив на себя личину leshak'а (что-то давно его здесь не слышно...), попробую пофилософствовать

maksim пишет:

Скажите придираюсь?

А то ...

Цитата:

Если человек действительно в чем-то заинтересован и хочет что-то реализовать, то таких вопросов от него не "услышишь". Будут конкретные и четкие вопросы, как, зачем и почему.

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

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

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

А вот снимая сигнал с катушки зажигания, и имея правильное ПО, частоту вращения коленвала определить вполне себе можно.

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

Хотя... при чем тут филолог?

maksim
Offline
Зарегистрирован: 12.02.2012

step962 пишет:
Напялив на себя личину leshak'а (что-то давно его здесь не слышно...), попробую пофилософствовать
)))))) 

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

Тот кто здесь хотел собрать тахометр писал бы так:

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

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

В общем не знаю что на меня нашло, можно почистить тему.

Mastino
Offline
Зарегистрирован: 03.12.2011

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

dronsoft
Offline
Зарегистрирован: 02.06.2011

Народ я с вами не согласен в корне. я просчматриваю свои темы по мере возможности и не живу как ВЫ в интернете.

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

А если и задаю вопросы как новичек так и скажу Да Я новичек и что теперь гнобить надо? 

Как видимо этот форум тажа участь затронула, как и многие другие.

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

 

dronsoft
Offline
Зарегистрирован: 02.06.2011

цитата взята в ответе у Step962

"Если человек действительно в чем-то заинтересован и хочет что-то реализовать, то таких вопросов от него не "услышишь". Будут конкретные и четкие вопросы, как, зачем и почему."

Вопрос мой внимательно прочтите и прочтите свои высказывание "КАК"

 

dronsoft
Offline
Зарегистрирован: 02.06.2011

Двигатель за вращение вала дает 4 импульса на катушку 

тоесть получаеся если при 1000 оборотов в минуту двигателя будет показывать 4000

а мне надо на 7 сегмениные диоды, вывести в правильный сигнал  

maksim
Offline
Зарегистрирован: 12.02.2012

И какая же это у вас идея что другие решения вам не подходят?  Так и в чем проблема? 4000 поделить на 4 и получить 1000 ?

И открою вам секрет на катушке зажигания 4 импульса (даже на том самом вазе) происходят за один оборот распредвала и 2 импульса за один оборот коленвала, а так как "обороты двигателя" это обороты коленвала, то делить надо на 2, а не на 4. 

И назовите мне хоть одну машину с 4-х цилиндровым двигателем трамблерного распределения зажигания, у которой не 2 импульса за один "оборот двигателя"? И к какой такой машине не подайдет стандартный китайский цифровой тахометр+вольтметр?

Все что нужно есть на форуме
Индикация
Считывание оборотов
К катушке подключаетесь через делитеть и диод.

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

dronsoft
Offline
Зарегистрирован: 02.06.2011

maksim, Я был не прав ошибочка спасибо за поправку. остальное сейчас гляну заранее спасибо.

dronsoft
Offline
Зарегистрирован: 02.06.2011

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

 

maksim
Offline
Зарегистрирован: 12.02.2012

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

dronsoft
Offline
Зарегистрирован: 02.06.2011

ТОесть через 7805 я правильно понял?

 

maksim
Offline
Зарегистрирован: 12.02.2012

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

dronsoft
Offline
Зарегистрирован: 02.06.2011

Понял. спасибо

 

dronsoft
Offline
Зарегистрирован: 02.06.2011

Сейчас встал вопрос в математических действиях как это реализовать

sitromon
Offline
Зарегистрирован: 13.12.2012

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

dronsoft
Offline
Зарегистрирован: 02.06.2011

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

 

maksim
Offline
Зарегистрирован: 12.02.2012

Ну так код покажите.

dronsoft
Offline
Зарегистрирован: 02.06.2011

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

тоесть действие можно вывести как нажатие тактовой кнопки.

но при 200 оборотах надо сделать деление на половину и как именно это все сделать я понятия не имею поэтому и создал этот топик.

Я не прошу сделать полностью код для меня а подсказать как это можно

 

 

msng
Offline
Зарегистрирован: 07.06.2012

maksim пишет:

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

по схеме, диод перевернут...

maksim
Offline
Зарегистрирован: 12.02.2012

msng пишет:

maksim пишет:

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

по схеме, диод перевернут...

И???...

leshak
Offline
Зарегистрирован: 29.09.2011

step962 пишет:

Напялив на себя личину leshak'а (что-то давно его здесь не слышно...), попробую пофилософствовать

Караул! Грабят! Отдай личину! :)

По философии: вы правы что-бы задать вопрос нужно иметь минимальные знания. Но ведь заставляя более четко сформулировать вопрос мы и подталкиваем к приобретению этих знаний. Благо интернет - это не библиотека. "Сидеть в нем" что-бы выяснить что такое "делитель напряжения" - не нужно.

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

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

Какой подход лучше? А фиг его знает. Индивидуально это. Но IMHO для изобретальско/исследовательских задач - лучше "не ТО". Лучше заставлять формулировать вопросы (то есть самому и ответы находить). Так лучше формируется "умение", а не только "знание".

А по поводу "болезни форума". Ну так это крайне субъективно. Я на например, очень благодарен товарищу который никогда не отвечал на мои вопросы по програмированию "а как ты это сделал?". А молча тыкал в книгу (инета тогда еще небыло) и говорил "там есть ответ" :)

leshak
Offline
Зарегистрирован: 29.09.2011

dronsoft пишет:

Я не прошу сделать полностью код для меня а подсказать как это можно

Идете в раздел Программирование

И желательно читаете целиком. Это как детский конструктор в котором нужно ознакомится со всеми доступными детальками. Что-бы знать "из чего собирать можно". Хотя-бы бегло проглядть "что имеем".

А потом, когда полезете в задачу, уже вспомнится что "что-то подходящие я видел". Опять идет туда и читаем уже кусочек. Вдумчиво и внимательно.

Например: http://arduino.ru/Reference/AttachInterrupt

Смотрим пример. Думаем "а что если вместо мигания диода, мы будем увеличивать какую-то переменную?". А в главном loop, раз в 10-ть сек, например, выводить ее в Serial (отчитались) и обнулять.

msng
Offline
Зарегистрирован: 07.06.2012

maksim пишет:

msng пишет:

по схеме, диод перевернут...

И???...

или с ним всё в порядке?

leshak
Offline
Зарегистрирован: 29.09.2011

msng пишет:

по схеме, диод перевернут...

или с ним всё в порядке?

Давайте порассуждаем: что такое диод? Зачем он там вообще?

Главное полезное свойство диода - запиратся и не пропускать ток (напряжения) от острого носика к тупому концу.

То есть его задача "не пустить какой-то ток(напряжение)". Что он тут у нас может "не пущать"?

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

Изменения у нас могут прийти только со стороны 12V. В идеале между резисторами у нас должно образовыватся не более 5v (что-бы не спалить дуину). Но что если там, вдруг, появится 8v?  (скакнуло напряжение, ошиблись с номиналами резисторов, их точность подгуляла e.t.c)?

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

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

Итак, с ним все в порядке? :)

msng
Offline
Зарегистрирован: 07.06.2012

ну ка, ну ка поподробнее с "номиналом диода" это что?

а вот разберем такую ситуацию на катоде диода +5v, он ведь ничего не пропустит и на аноде нибудет ничего (или почти ничего),

если на катоде 0V то и на аноде 0v, в данной схеме диод ничего пропускать не будет.... я ощибаюсь?

leshak
Offline
Зарегистрирован: 29.09.2011

msng пишет:

ну ка, ну ка поподробнее с "номиналом диода" это что?

Одна из характеристик диода - какое обратное напряжение он может удержать и не  сгореть (и хорошо если он сгорит в "обрыв", а не КЗ). Вы же догадываетесь, что выковырять диод из первой попавшеся бытовой техники и дать на него 10 киловольт - ничем хорошим для него это не закончится :)

msng пишет:

а вот разберем такую ситуацию на катоде диода +5v, он ведь ничего не пропустит и на аноде нибудет ничего (или почти ничего),

Вы верно подметили "почти ничего". Но все-таки будет. В режиме "вход" через мегамный резистор пин, все-таки, подключен к питанию. По идее этого должно хватить что-бы analogRead намерял 1024.

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

Но не далее как вчера именно по такой схеме подключали дуину к автомобилю - всего хватало :)

msng пишет:

если на катоде 0V то и на аноде 0v, в данной схеме диод ничего пропускать не будет.... я ощибаюсь?

Ну не поспоришь :) Если и там и там ноль - вообще никто никуда не идет :) Вопрос только в том, почему на аноде ноль? Ведь в предыдущем примере там было "почти ничего" напряжением в 5v :)

А потому что, когда на аноде "почти ничего", а на катоде 0, то это "почти ничего" очень быстро, через диод, в прямом направлении (туда-то он пропускает) "стекает" в катод (и дальше через резистор в землю). И, в итоге, analogRead на намеряет уже 0. Или "почти ноль". Так как диод в прямом направлении тоже имеет, хоть и не большое, но сопротивление (это его вторая характеристика, чем меньше - тем лучше).

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

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

Если же в трубе давление пропало, то внутренее давление банки открывает клапан наружу и вода из нее выливается. Отсюда вы делаете вывод - "в трубе нет давления".

maksim
Offline
Зарегистрирован: 12.02.2012

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

msng
Offline
Зарегистрирован: 07.06.2012

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

maksim
Offline
Зарегистрирован: 12.02.2012

dronsoft пишет:

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

тоесть действие можно вывести как нажатие тактовой кнопки.

но при 200 оборотах надо сделать деление на половину и как именно это все сделать я понятия не имею поэтому и создал этот топик.

Я не прошу сделать полностью код для меня а подсказать как это можно

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

#define RPMpin 2 // катушка зажигания
volatile long rpm = 0;

void setup() 
{ 
  Serial.begin(9600);
  attachInterrupt(0, RPM, FALLING);
}

void loop() 
{
  Serial.println(rpm, DEC); // об/мин
  delay(100);
}

void RPM ()
{
  static unsigned long micros_prev;
  rpm = (1000000.0/(micros() - micros_prev))*60/2;
  micros_prev = micros();
}

 

dronsoft
Offline
Зарегистрирован: 02.06.2011

maksim, данный код вывыодит на пк инфу, а посредство serial на lcd не вывести вроде.

 

dronsoft
Offline
Зарегистрирован: 02.06.2011

или 7ми сегментники

и еще что за 19 строка что она отрабатывает?

maksim
Offline
Зарегистрирован: 12.02.2012

Это с чего это не выводит, допишите дудет выводить, для LCD так вообще практически только Serial.println заменить на lcd.print. В 19 строке вычисляются те самые обороты двигателя, а в конце строки  /2  и есть то самое деление на 2, которое вам не давало покоя.

dronsoft
Offline
Зарегистрирован: 02.06.2011

понял. сейчас попробую собрать

 

dronsoft
Offline
Зарегистрирован: 02.06.2011

Попробовал собрать код но что то тут не то 

#include <LiquidCrystalRus.h>
#define RPMpin 2 // датчик Холла
volatile long rpm = 0;

LiquidCrystalRus lcd(12, 11, 5, 4, 3, 2);

void setup()
{
lcd.begin(16, 2);
attachInterrupt(0, RPM, FALLING);
}

void loop()
{
lcd.println(rpm, DEC); // об/мин
delay(100);
}
void RPM (){

static unsigned long micros_prev;
rpm = (1000000.0/(micros() - micros_prev))*60/2;
micros_prev = micros();
lcd.setCursor(0, 1);
lcd.print(millis() / 1000);
lcd.print("    "); //необходимо для затирания предыдущих цыфр, если новая короче
delay(200);
}

а еще не нашел на какой пин приходится подключение сигнала

step962
Offline
Зарегистрирован: 23.05.2011

Главное правило при написании ISR - делать внутри этой процедуры как можно меньше и убегать из нее как можно раньше.

И как можно дальше ;)

А вы что делаете:

- получили прерывание от соответствующей ножки

- вошли в процедуру, неторопливо огляделись, два раза подряд вызвали довольно медленную функцию micros(), подумали немного и решили написать поэму

- проинициализировали дисплей, вызвали millis(), поделили на тышшу (весьма медленная операция), видимо собрались вывести это значение в дисплей, но передумали

- устали от вышеописанных трудов - отдохнули две десятых секунды...

А в это время коленвал совершил еще около семнадцати (2500/60*2*0,25, на х.х., естественно, значительно меньше) оборотов, соответствующяя нога 17 (семнадцать!!!) раз попыталась вызвать прерывание, в котором вы так уютно расположились. Однако все это пропало всуе, ибо в микроконтроллерах AVR очередь на обработку прерывания состоит всего-навсего из одногоиеста.

И как результат - эта очередь всегда занята последним пришедшим событием (даже на х.х.), ваше прерывание немедленно вызывается сразу же за завершением предыдущей обработки. У основной программы вообще нет шансов сдвинуться с места. А дисплей будет показывать что-то от 100 до 150 об/мин.

Хотите, чтобы что-то когда-то хоть как-то заработало? Тогда:

- выбрасывайте все из ISR (переносите в основную программу)

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

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

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

- и забудьте, наконец, про функцию delay()!

ЗЫ:  ISR - это Interrupt Service Routine или Процедура Обработки Прерывания. У вас она носит гордое имя RPM.

 

maksim
Offline
Зарегистрирован: 12.02.2012

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

leshak
Offline
Зарегистрирован: 29.09.2011

ну millis() не такая уж и тяжолая. Она просто возвращает переменную-счетчик. Правда внутри прерывания, сколько раз ее не вызови всегда вернуть одно и тоже (стоят часы в этом время).

Расчет - можно и оставить, но соглашусь с step962 лучше так не привыкать. Изначально нужна привычка "в обработчике только РЕГИСТРАЦИЯ факта события. А все обработка - где-то в основном потоке. Тогда не нужно постоянно думать "что там можно, что нельзя".

Ну и явно, мой совет почитать документацию - пропал всуе. Несмотря даже на то что дал ссылку на конкретную функцию - attachInterrupt. Иначе я не могу объяснить как delay() попал в функцию обработчик прерывания. Там по поводу использования millis() и delay() даже шрифтом выделено. Специально.

maksim
Offline
Зарегистрирован: 12.02.2012

leshak пишет:

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

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

 

leshak пишет:

Ну и явно, мой совет почитать документацию - пропал всуе. Несмотря даже на то что дал ссылку на конкретную функцию - attachInterrupt. Иначе я не могу объяснить как delay() попал в функцию обработчик прерывания. Там по поводу использования millis() и delay() даже шрифтом выделено. Специально.

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

maksim
Offline
Зарегистрирован: 12.02.2012

dronsoft пишет:

а еще не нашел на какой пин приходится подключение сигнала

На цифровой вывод 2, если бы вы прочитали, про прерывания, то знали бы, что 0 прерывание на 2 выводе.

maksim
Offline
Зарегистрирован: 12.02.2012

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

dronsoft
Offline
Зарегистрирован: 02.06.2011

Maksim. Я смотрел код по тем страницам но времени не было. но все равно от час ти ты прав

еще вопрос как можно вывести колличество нажатий на кнопку например по такому действию ( digitalWrite(ledPin, HIGH);)

dronsoft
Offline
Зарегистрирован: 02.06.2011

Я просто немного не допонимаю принцып вывода инфы на LCD особенно с математикой . подскажите как можно сделать что бы показывало  сколько нажатий на кнопку на мониторе.

ибо код который с верху у меня отрабатывает и я не понимаю как он работает.

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

maksim
Offline
Зарегистрирован: 12.02.2012

Есть два способа вычисления оборотов:
1. Считать количество срабатываний датчика за единицу времени
2. Считать время между срабатываниями датчика

В коде выше второй способ.

dronsoft
Offline
Зарегистрирован: 02.06.2011

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

maksim
Offline
Зарегистрирован: 12.02.2012

maksim пишет:

Есть два способа вычисления оборотов:
1. Считать количество срабатываний датчика за единицу времени
2. Считать время между срабатываниями датчика

dronsoft
Offline
Зарегистрирован: 02.06.2011

я имею ввиду просто колличество нажатий например на кнопку на за время а вообще просто нажатия например на кнопку но при этом если нет сигнала напрмер через 10 мс брос счетчика