Насправді тут Ахім зробив дуже хороший момент.
Існує велика різниця між Reed (магнітним) реле (комутатором) і датчиком ефекту Холла.
Перш за все, реле Reed підключатиме комутатор, коли на нього діє достатня магнітна сила, подаючи сигнал увімкнення / вимкнення. Датчик ефекту Холла забезпечує рівень напруги, що вказує, яка магнітна сила прикладається до нього.
Код, показаний вище, буде "безпосередньо" працювати тільки з реле Рида, що не означає, що він взагалі не буде працювати для датчика ефекту Холла, але і створюватиме додаткові проблеми за допомогою датчика ефекту Холла.
Першочерговим завданням буде те, що ви ставитесь до аналогового пристрою як до цифрового - очікуючи, що він запустить пульс. Тепер сигнал не буде імпульсувати - він буде, як правило, як крива дзвіночка, зі всілякими коливаннями. Ви можете відключитися від мінімальної напруги для високого сигналу (близько 3,5 В, IIRC?) Кілька разів, коли магніт передає датчик ефекту Холла.
Звичайно, наш перший інстинкт при використанні чогось подібного датчика ефекту Холла - це використання АЦП та зчитування рівня напруги на аналоговому штирі. Тим не менш, ви обмежені 10000 прочитаних, приблизно, в секунду на аналоговому штифті (кожне читання займає 100uS). Це також передбачає, що все, що ви робите, - це циклічне читання читання - не залишає у вас багато іншого часу для оновлення дисплея, обчислення тощо. Не кажучи вже про те, що ви читали в неправильний час, ви пропустили сигнал!
Я впевнений, що можна використовувати переривання, якимось чином пов’язані з АЦП, але я не знаю таких знань.
Натомість, якщо ви хочете використовувати фактичний датчик ефекту Холла, я б запропонував подати його в тригер Шмітта, щоб перетворити його на цифровий (увімкнено / вимкнено) сигнал на каліброваному рівні, який вказує "безпосередньо під магнітом". Крім того, залежно від рівня гістерезису, що реалізується в триггері Шмітта, вам може знадобитися зробити деякий відскок, який міняв би швидкість відхилення залежно від поточної швидкості. Тоді ви могли б ставитися до цього, як до звичайної естафети Рида.
! c