Датчик холла + ардуино нано. Как заставить считать обороты?

День добрый.
пришла в голову мысль сделать виниловый проигрыватель под управлением ардуины.
для начала стабилизацию вращения (шим и всё такое). но что-то не могу понять почему импульсы считает не верно. один раз за 5 сек подношу и убираю магнит на долю секунд, а счетчик выдает 2. два раза подношу - выдает 4.

int rot = 0; // переменная для хранения количества оборотов

void setup() {
Serial.begin(9600); //открыл порт
attachInterrupt(0,detect,RISING); // прерывание если на втором порту сигнал стал выше
pinMode(3, OUTPUT); // пин для питания датчика холла
digitalWrite(3, HIGH); // 5 вольт на 3 пин, вкл датчик
}

void loop() //цикл раз в 5 сек выдавать сколько импульсов было
{
Serial.println(rot);
rot=0;
delay(5000);
}

void detect() //счетчик импульсов
{
rot++;
}

  1. А просто поделить на 2 не судьба?
  2. Если Вы задаетесь такими вопросами, логический анализатор Вам в помощь. И не надо писать на форум, пока Вы сами это не проверили.

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

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

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

2 лайка

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

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

не отвечайте, пожалуйста мне, пусть тема умрет со временем.


Меньше кредитки. Тяжко ему стоять на полке.

Там не требовали оформлять код по правилам? Серьезно?

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

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

Похоже что вы невнимательно прочитали методичку по прерываниям.

Переменные, изменяемые в прерываниях, должны быть описана как volatile

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

PS @MichaelS надеюсь вы не родственник Михаила123 с Амперки.

1 лайк
  1. Если Вы не способны понять, что Вам написали, это еще не значит, что ответ невнятный. Почему-то другие отчетливо поняли, о чем идет речь.
  2. За “строчками кода” - это в платный раздел.

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

Как мертвому припарка.
Что-то по изощреннее нужно.
К примеру - Первые 10-30 сообщений модерируются (в том числе и создание тем).
Модерировать могут все, кто имеет уровень не ниже ** такого-то **

Не помню уже что за форум был, но там при регистрации нужно было пройти тестовое задание…

1 лайк

Мда. Вы тоже, надеюсь, читаете ВСЕ лицензионные соглашения при установке программ?

1 лайк

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

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

Я вот про это.
https://forum.arduino.ru/badges/101/liczenzirovannyj-uchastnik

Имеет место быть. Но… к этому я Вам расскажу анекдот:

-Доктор, пришейте мне член ко лбу.
Доктор с крайней степенью удивления: -Зачем?
-Ну во первых это красиво…

Вот так и тут - во первых: не будет так весело.

Ещё подушню, как молодежь говорит, и регистрацию через ГосУслуги сделать, а то сидит там типа Гавер, скучает и пишет с новых аккаунтов постоянно. :grinning:

Вот ещё Вам веселье, конечно же в новых у Вас видно, но всё же.