Мазмуну:

Arduino Hall эффекти сенсору менен үзгүлтүктөр: 4 кадам
Arduino Hall эффекти сенсору менен үзгүлтүктөр: 4 кадам

Video: Arduino Hall эффекти сенсору менен үзгүлтүктөр: 4 кадам

Video: Arduino Hall эффекти сенсору менен үзгүлтүктөр: 4 кадам
Video: Геркон и датчик холла 2024, Ноябрь
Anonim
Image
Image
Hall Effect Sensor деген эмне?
Hall Effect Sensor деген эмне?

Салам баарына, Бүгүн мен сизге залдын эффект сенсорун Arduino менен кантип туташтырып, аны үзгүлтүккө учуратуу керектигин көрсөтөм.

Видеодо колдонулган шаймандар жана материалдар (Өнөктөштүк шилтемелери): Arduino Uno:

Холл эффектинин сенсорлору:

Ар кандай резисторлор:

1 -кадам: Hall Effect Sensor деген эмне?

Hall Effect Sensor деген эмне?
Hall Effect Sensor деген эмне?
Hall Effect Sensor деген эмне?
Hall Effect Sensor деген эмне?
Hall Effect Sensor деген эмне?
Hall Effect Sensor деген эмне?

Холл эффекти сенсору - бул магнит талаасынын чоңдугун өлчөө үчүн колдонулуучу аппарат. Анын чыгуу чыңалуусу магнит талаасынын күчүнө түз пропорционалдуу.

Холл эффекти сенсорлору жакындыкты сезүү, жайгашуу, ылдамдыкты аныктоо жана учурдагы сезүү колдонмолору үчүн колдонулат.

Мен бүгүн иштей турган нерсе 3144 деп белгиленген, бул биринчи кезекте жогорку температура жана автоунаа үчүн колдонулат. Анын өндүрүмдүүлүгү демейки боюнча жогору жана магнит талаасынын катышуусунда бир жолу азаят.

Сенсор 3 казыктары бар, VCC, жер жана чыгаруу. Эгерде сиз сенсорду этикеткалары менен кармай турган болсоңуз, аларды ошол тартипте аныктай аласыз. VCC сол жакта, ал эми чыгуу оң жагында. Ар кандай чыңалуунун кетишин болтурбоо үчүн, VCC менен чыгаруу ортосунда конфигурациядагы 10k каршылыгы колдонулууда.

2 -кадам: Үзгүлтүк деген эмне?

Үзгүлтүк деген эмне?
Үзгүлтүк деген эмне?
Үзгүлтүк деген эмне?
Үзгүлтүк деген эмне?

Сенсорду Arduino менен туташтыруу үчүн, биз үзгүлтүккө учуратуу деген жөнөкөй, бирок абдан күчтүү мүмкүнчүлүктү колдонобуз. Үзгүлтүккө учуроо - бул процессор маанилүү окуяларга тез жооп берерине ынануу. Белгилүү бир сигнал табылганда, үзгүлтүк (аты айтып тургандай) процессор эмне кылып жатканын үзөт жана Arduinoго берилүүчү тышкы сигналдарга жооп берүү үчүн иштелип чыккан кээ бир кодду аткарат. Бул код бүткөндөн кийин, процессор эч нерсе болбогондой баштапкы иштерине кайтып келет!

Мунун таң калыштуусу, бул сиздин системаңызды программалык камсыздоону алдын ала көрүү оңой болбогон маанилүү окуяларга тез жана эффективдүү жооп берүү үчүн түзөт. Баарынан маанилүүсү, ал процессордун көрсөтүлүшүн күтүп жатканда башка нерселерди жасоо үчүн бошотот.

Arduino Unoдо биз үзгүлтүктөр катары колдоно турган эки түйрөөч бар, алар 2 жана 3 -пинтер. Биз пинди үзгүлтүккө учуратуу үчүн каттаган функцияны attachInterrupt деп атайбыз, анда биз колдонуучу пинге биринчи параметр катары жөнөтөбүз, экинчи параметр үзгүлтүк табылганда биз чакыргысы келген функциянын аты жана үчүнчү параметр катары биз үзгүлтүктүн иштешин каалаган режимде жөнөтөбүз. Бул функциянын толук шилтемесине видео сүрөттөмөсүндө шилтеме бар.

3 -кадам: Байланыштар жана код

Байланыштар жана код
Байланыштар жана код
Байланыштар жана код
Байланыштар жана код
Байланыштар жана код
Байланыштар жана код

Биздин мисалда, биз залдын эффект сенсорун Arduinoдогу 2 -пинге туташтырабыз. Эскиздин башталышында, биз орнотулган LEDдин пин номери үчүн өзгөрмөлөрдү аныктайбыз, үзүү пини, ошондой эле биз үзгүлтүк аркылуу өзгөртүү үчүн колдонула турган байт өзгөрмөсү. Муну биз туруксуз деп белгилөөбүз өтө маанилүү, ошондуктан компилятор анын үзгүлтүккө учуроо аркылуу негизги программанын агымынан тышкары өзгөртүлүп жатканын билиши мүмкүн.

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

Негизги ыкма боюнча, биз жөн гана LED пинге абалдын өзгөрмөсүн жазабыз жана процессордун туура иштеши үчүн убактысы болушу үчүн өтө кичине кечигүүнү кошобуз.

Биз үзгүлтүккө тиркелген жерде, биз экинчи параметр катары blinkти белгиледик жана бул функциянын аталышы. Ичинде биз мамлекеттик бааны тескери бурабыз.

AttachIntertupt функциясынын үчүнчү параметри - ал иштеген режим. Бизде аны ӨЗГӨРТҮҮ болгондо, жарк этүү функциясы үзгүлтүккө учураган абал өзгөргөн сайын аткарылат, ал магнитти сенсорго жакындаткандан кийин чакырылат жана аны алып салгандан кийин кайра иштетилет. Магнитти сенсорго жакын кармап турганда, LED күйүп турат.

Эгерде биз азыр режимди RISING деп өзгөртсөк, анда сигналдын көтөрүлүүчү чети үзүлүү пининде көрүнгөндө гана жаркылдоо функциясы иштей баштайт. Эми биз магнитти сенсорго жакындаткан сайын, же светодиод өчөт же күйөт, андыктан биз магниттик өчүргүчтү жасадык.

Биз аракет кыла турган акыркы режим LOW. Анын жардамы менен, магнит жакын болгондо, жаркылдоо функциясы дайыма иштей баштайт жана анын жарыгы өчүп калат, анын абалы дайыма тескери болот. Магнитти алып салганыбызда, мамлекеттин акыры кандай болорун алдын ала айтуу мүмкүн эмес, анткени бул убакыттан көз каранды. Бирок, бул режим чындап эле пайдалуу, эгерде биз баскычты канча убакыт басылганын билишибиз керек, анткени биз муну аныктоо үчүн убакыт функцияларын колдоно алабыз.

4 -кадам: Андан аркы аракеттер

Кошумча аракеттер
Кошумча аракеттер

Үзгүлтүктөр - бул сиздин системаңыз убакыттын сезимтал тапшырмаларына жооп берүүчү жөнөкөй жол. Алар ошондой эле тутумдагы кээ бир негизги тапшырмаларга көңүл буруу үчүн негизги "loop" () "бошотуунун кошумча пайдасына ээ. (Мен муну колдонуп жатканда, бул менин кодумду бир аз жакшыраак кылат деп ойлойм - коддун негизги бөлүгү эмне үчүн иштелип чыкканын көрүү оңой, ал эми үзгүлтүктөр мезгилдүү окуяларды башкарат.) Бул жерде көрсөтүлгөн мисал эң көбү жөнүндө үзгүлтүктү колдонуу үчүн негизги жагдай - сиз аларды I2C түзмөгүн окуу, зымсыз маалыматтарды жөнөтүү же алуу, же моторду иштетүү же токтотуу үчүн колдоно аласыз.

Эгерде сизде үзгүлтүк же холл эффекти сенсорун кызыктуу колдонуу болсо, анда бул комментарийлерде мага билдирүүнү унутпаңыз, ушул Нускаманы жактырыңыз жана бөлүшүңүз, жана дагы менин YouTube каналыма жазылууну унутпаңыз, бул жерде дагы сонун сабактар жана долбоорлор бар. келечек.

Салам жана көргөнүңүз үчүн рахмат!

Сунушталууда: