Мазмұны:

Arduino Hall әсерінің сенсоры үзілістермен: 4 қадам
Arduino Hall әсерінің сенсоры үзілістермен: 4 қадам

Бейне: Arduino Hall әсерінің сенсоры үзілістермен: 4 қадам

Бейне: Arduino Hall әсерінің сенсоры үзілістермен: 4 қадам
Бейне: Линейный датчик Холла SS49, AH49, A1349 2024, Қараша
Anonim
Image
Image
Холл әсерінің сенсоры дегеніміз не?
Холл әсерінің сенсоры дегеніміз не?

Бәріне сәлем, Бүгін мен сізге залды әсер ету сенсорын Arduino -ға қалай қосуға болатынын және оны үзіліс кезінде қалай қолдануға болатынын көрсетемін.

Бейнеде қолданылатын құралдар мен материалдар (серіктестік сілтемелер): Arduino Uno:

Холл әсерінің сенсорлары:

Әр түрлі резисторлар:

1 -қадам: Холл әсерінің сенсоры дегеніміз не?

Холл әсерінің сенсоры дегеніміз не?
Холл әсерінің сенсоры дегеніміз не?
Холл әсерінің сенсоры дегеніміз не?
Холл әсерінің сенсоры дегеніміз не?
Холл әсерінің сенсоры дегеніміз не?
Холл әсерінің сенсоры дегеніміз не?

Холл әсерінің сенсоры - магнит өрісінің шамасын өлшеуге арналған құрылғы. Оның шығыс кернеуі ол арқылы өтетін магнит өрісінің кернеулігіне тура пропорционал.

Холлдық эффект сенсорлары жақындықты сезу, позициялау, жылдамдықты анықтау және ағымдағы сенсорлық қосымшалар үшін қолданылады.

Мен бүгін жұмыс жасайтын құрылғы 3144 деп белгіленеді, бұл холл -эффект қосқышы, ол негізінен жоғары температурада және автомобильде қолданылады. Оның шығысы әдепкі бойынша жоғары және магнит өрісінің қатысуымен бір рет төмендейді.

Сенсорда 3 түйреуіш бар, VCC, жер және шығыс. Егер сіз датчикті өзіңізге қаратып ұстасаңыз, оларды сол тәртіппен анықтай аласыз. VCC сол жақта, шығыс оң жақта. Кез келген кернеудің ауытқуын болдырмау үшін ВКК мен шығыс арасында конфигурациялы 10к резистор қолданылады.

2 -қадам: Үзіліс дегеніміз не?

Үзіліс дегеніміз не?
Үзіліс дегеніміз не?
Үзіліс дегеніміз не?
Үзіліс дегеніміз не?

Сенсорды Arduino -ға қосу үшін біз үзіліс деп аталатын қарапайым, бірақ өте қуатты функцияны қолданамыз. Үзіліс - бұл процессор маңызды оқиғаларға тез жауап беретініне көз жеткізу. Белгілі бір сигнал анықталған кезде, үзіліс (аты айтып тұрғандай) процессордың кез келген әрекетін тоқтатады және Arduino -ға берілетін кез келген сыртқы ынталандыруға жауап беретін кодты орындайды. Бұл код аяқталғаннан кейін процессор ештеңе болмағандай бастапқыда жасаған нәрсеге оралады!

Бұл таңқаларлық нәрсе - бұл сіздің жүйеңізді бағдарламалық қамтамасыз етуді болжау оңай емес маңызды оқиғаларға тез және тиімді әрекет ету үшін құрылымдайды. Ең бастысы, ол сіздің процессорды басқа нәрсені жасау үшін босатады, ол оқиға күтілуде.

Arduino Uno -да екі түйреуіш бар, оларды біз үзіліс ретінде қолдана аламыз, түйреуіш 2 және 3. Біз түйреуішті үзіліс ретінде тіркеу үшін қолданатын функция attachInterrupt деп аталады, мұнда бірінші параметр ретінде біз пайдаланылатын түйреуішті жібереміз. үзіліс анықталғаннан кейін шақырғымыз келетін функцияның атауы және үшінші параметр ретінде үзіліс жұмыс істегісі келетін режимде жібереміз. Бейне сипаттамасында осы функцияға толық сілтеме бар.

3 -қадам: Қосылымдар мен код

Қосылымдар мен код
Қосылымдар мен код
Қосылымдар мен код
Қосылымдар мен код
Қосылымдар мен код
Қосылымдар мен код

Біздің мысалда холл эффектілерінің сенсорын Arduino -дегі 2 -ші істікке қосамыз. Эскиздің басында біз светодиодтың істік нөмірінің айнымалы мәнін анықтаймыз, үзіліс түйреуіші, сондай -ақ үзіліс кезінде өзгертуге қолданылатын байт айнымалысы. Біз оны тұрақсыз деп белгілеуіміз маңызды, сондықтан компилятор оның үзіліс арқылы негізгі бағдарлама ағынынан тыс өзгертілгенін білуі мүмкін.

Орнату функциясында біз алдымен қолданылатын түйреуіштердің режимін көрсетеміз, содан кейін үзілісті бұрын түсіндірілгендей бекітеміз. Біз қолданатын тағы бір функция - бұл DigitalPinToInterrupt, ол аты айтып тұрғандай, пин нөмірін үзіліс санына аударады.

Негізгі әдіс бойынша біз жай ғана айнымалы диодты түйреуішке күй айнымалысын жазамыз және процессордың дұрыс жұмыс істеуіне уақыт болуы үшін өте аз кідірісті қосамыз.

Біз үзілісті тіркеген жерде біз екінші параметр ретінде жыпылықтауды көрсеттік және бұл функция атауы. Ішінде біз мемлекеттік мәнді төңкереміз.

AttachIntertupt функциясының үшінші параметрі - ол жұмыс істейтін режим. Бізде ӨЗГЕРТУ болған кезде, жыпылықтау функциясы үзіліс күйі өзгерген сайын орындалады, ол магнит сенсорға жақындаған кезде бір рет шақырылады және оны алып тастағаннан кейін қайтадан іске қосылады. Осылайша, магнитті сенсорға жақын ұстаған кезде жарық диоды қосылады.

Егер біз қазір RISING режимін өзгертетін болсақ, жыпылықтау функциясы үзіліс түйреуішінде сигналдың көтерілген жиегін көргенде ғана іске қосылады. Енді біз магнитті сенсорға жақындатқан сайын, жарық диоды сөнеді немесе қосылады, сондықтан біз магниттік қосқышты жасадық.

Біз сынап көретін соңғы режим - LOW. Магнит жақын болған кезде, жыпылықтау функциясы үнемі іске қосылады және жарық диоды жыпылықтайды, оның күйі үнемі өзгереді. Біз магнитті алып тастағанда, оның қалай болатынын болжау мүмкін емес, өйткені бұл уақытқа байланысты. Алайда, бұл режим шын мәнінде пайдалы, егер біз түйменің қанша уақыт басылғанын білуіміз керек болса, өйткені біз оны анықтау үшін уақыт функцияларын қолдана аламыз.

4 -қадам: Қосымша әрекеттер

Қосымша әрекеттер
Қосымша әрекеттер

Үзілістер - бұл жүйені уақытқа сезімтал тапсырмаларға жауап берудің қарапайым әдісі. Олар сонымен қатар жүйенің кейбір негізгі міндеттеріне назар аудару үшін сіздің негізгі циклды () босатудан қосымша артықшылықтарға ие. (Менің ойымша, бұл менің кодты қолданған кезде сәл реттелген болады - кодтың негізгі бөлігі не үшін жасалғанын көру оңай, ал үзіліс мезгілдік оқиғаларды басқарады.) Мұнда көрсетілген мысал ең көп үзілісті пайдаланудың негізгі жағдайы - оларды I2C құрылғысын оқу, сымсыз деректерді жіберу немесе алу, тіпті қозғалтқышты іске қосу немесе тоқтату үшін пайдалануға болады.

Егер сізде үзіліс немесе холл эффектілерінің сенсоры қызықты болса, онда маған түсініктемелерде хабарлауды ұмытпаңыз, осы нұсқаулықты ұнатыңыз және бөлісіңіз және менің YouTube каналыма жазылуды ұмытпаңыз. келешек.

Сау болыңыз және көргеніңізге рахмет!

Ұсынылған: