- Необхідні матеріали:
- Датчики ефекту Холла:
- Електрична схема та пояснення:
- Код Arduino датчика ефекту Холла:
- Робота датчика ефекту Холла Arduino:
Датчики завжди були життєво важливим компонентом будь-якого проекту. Це ті, які перетворюють дані навколишнього середовища в реальному часі в цифрові / змінні дані, щоб їх можна було обробити електронікою. На ринку доступно багато різних типів датчиків, і ви можете вибрати один із них відповідно до ваших вимог. У цьому проекті ми дізнаємося, як використовувати датчик Холла, він же датчик ефекту Холла, з Arduino. Цей датчик здатний виявляти магніт, а також полюс магніту.
Навіщо виявляти магніт ?, можете запитати. Ну, є багато програм, які практично використовують датчик ефекту Холла, і ми, можливо, ніколи їх не помічали. Одним із загальних застосувань цього датчика є вимірювання швидкості на велосипедах або будь-яких обертових машинах. Цей датчик також використовується в двигунах BLDC для визначення положення магнітів ротора і відповідно спрацьовує котушки статора. Програми нескінченні, тож давайте дізнаємося, як інтерфейсувати датчик ефекту Холла Arduino, щоб додати ще один інструмент у наш арсенал. Ось декілька проектів із датчиком Холла:
- DIY спідометр за допомогою Arduino та обробки додатка Android
- Цифровий контур спідометра та одометра за допомогою мікроконтролера PIC
- Віртуальна реальність за допомогою Arduino та обробки
- Вимірювання напруженості магнітного поля за допомогою Arduino
У цьому навчальному посібнику ми будемо використовувати функцію переривання Arduino для виявлення магніту біля датчика Холла та свічення світлодіода. Більшу частину часу датчик Холла буде використовуватися лише з перериваннями через їх програми, в яких потрібна висока швидкість читання та виконання, отже, давайте також використовуватимемо переривання в нашому навчальному посібнику.
Необхідні матеріали:
- Датчик ефекту Холла (будь-яка цифрова версія)
- Arduino (будь-яка версія)
- Резистор 10 кОм та 1 К Ом
- СВІТЛОДІОДНИЙ
- Підключення проводів
Датчики ефекту Холла:
Перш ніж ми заглибимося у зв’язки, є кілька важливих речей, які ви повинні знати про датчики ефекту Холла. Насправді існує два різних типи датчиків Холла, один - цифровий датчик Холла, а інший - аналоговий датчик Холла. Цифровий датчик Холла може виявляти лише наявність магніту чи ні (0 або 1), але вихід аналогового датчика Холла змінюється залежно від магнітного поля навколо магніту, тобто він може визначати, наскільки сильний або як далеко знаходиться магніт. У цьому проекті буде націлено лише на цифрові датчики Холла, оскільки вони є найбільш часто використовуваними.
Як випливає з назви, датчик ефекту Холла працює за принципом "ефекту Холла". Відповідно до цього закону, «коли провідник або напівпровідник зі струмом, що протікає в одному напрямку, був введений перпендикулярно магнітному полю, напруга могла вимірюватися під прямим кутом до шляху струму». За допомогою цієї техніки датчик Холла зможе виявити наявність магніту навколо нього. Досить теорії, давайте займемося обладнанням.
Електрична схема та пояснення:
Повну електричну схему взаємодії датчика Холла з Arduino можна знайти нижче.
Як бачите, принципова схема датчика ефекту Холла arduino досить проста. Але місце, де ми часто допускаємо помилки, полягає у з’ясуванні контактних номерів датчиків Холла. Помістіть показання до себе, і перший штифт зліва - це Vcc, а потім земля і сигнал відповідно.
Ми збираємось використовувати переривання, як вже було сказано раніше, отже вихідний штифт датчика Холла підключений до виводу 2 Arduino. Штифт підключений до світлодіода, який буде ввімкнено при виявленні магніту. Я просто встановив зв’язки на макетній дошці, і це виглядало приблизно так, як це було зроблено нижче.
Код Arduino датчика ефекту Холла:
Повний Arduino код всього кілька рядків, і його можна знайти в нижній частині цієї сторінки, які можуть бути безпосередньо завантажені на ваш Arduino рада. Якщо ви хочете знати, як працює програма, читайте далі.
У нас є один вхід, який є датчиком, і один вихід, який є світлодіодом. Датчик повинен бути підключений як вхід переривання. Отже, всередині нашої функції налаштування ми ініціалізуємо ці висновки, а також змушуємо Pin 2 працювати як переривання. Тут контакт 2 називається Hall_sensor, а контакт 3 - LED .
void setup () {pinMode (LED, OUTPUT); // світлодіод - це вихідний pin pinMode (датчик_залу, INPUT_PULLUP); // Датчик Холла - це вхідний штифт attachInterrupt (digitalPinToInterrupt (Hall_sensor), toggle, CHANGE); // Пін другий - це переривник, який викликатиме функцію перемикання}
Коли виявляється переривання, функція перемикання буде викликана, як зазначено у наведеному вище рядку. Існує безліч параметрів переривань, таких як Toggle , Change, Rise, Fall тощо, але в цьому посібнику ми виявляємо зміну вихідних даних датчика Холла.
Тепер усередині тумблера функції, ми використовуємо змінну « стан », яке буде просто змінити свій стан 0, якщо вже 1 і 1, якщо вже нуль. Таким чином ми можемо змусити світлодіод увімкнути або вимкнути.
void toggle () {state =! state; }
Нарешті, всередині нашої функції циклу , нам просто потрібно керувати світлодіодом. Змінний стан змінюватиметься кожного разу, коли буде виявлено магніт, отже, ми використовуємо його, щоб визначити, чи повинен світлодіод залишатися ввімкненим або вимкненим.
void loop () {digitalWrite (світлодіод, стан); }
Робота датчика ефекту Холла Arduino:
Після того, як ви готові до свого обладнання та коду, просто завантажте його на Arduino. Я використовував акумулятор 9 В для живлення всієї установки, яку ви можете використовувати будь-яке бажане джерело живлення. Тепер наблизьте магніт до датчика, і ваш світлодіод буде світитися, і якщо ви заберете його, він вимкнеться.
Примітка: Датчик Холла чутливий до полюса, тобто одна сторона датчика може виявляти або лише Північний полюс, або лише Південний полюс, а не обидва. Отже, якщо ви наблизите південний полюс до північної зондуючої поверхні, ваш світлодіод не буде світитися.
Що насправді відбувається всередині, коли ми наближаємо магніт до датчика, датчик змінює свій стан. Цю зміну відчуває штифт переривання, який викликає функцію перемикання, всередині якої ми змінюємо змінну “стан” з 0 на 1. Отже, світлодіод увімкнеться. Тепер, коли ми відсунемо магніт від датчика, знову вивід датчика зміниться. Цю зміну знову помічає наш оператор переривання, і отже змінна “стан” буде змінена з 1 на 0. Таким чином, світлодіод, якщо вимкнено. Те саме повторюється кожного разу, коли ви наближаєте магніт до сенсора.
Повний робочий відео проекту можна знайти нижче. Сподіваюся, ви зрозуміли проект і сподобалося будувати щось нове. Якщо інше, будь ласка, використовуйте розділ коментарів нижче або форуми для допомоги.