Агуулгын хүснэгт:

Тасалдал бүхий Arduino Hall эффект мэдрэгч: 4 алхам
Тасалдал бүхий Arduino Hall эффект мэдрэгч: 4 алхам

Видео: Тасалдал бүхий Arduino Hall эффект мэдрэгч: 4 алхам

Видео: Тасалдал бүхий Arduino Hall эффект мэдрэгч: 4 алхам
Видео: MKS Gen L — датчик Холла 2024, Долдугаар сарын
Anonim
Image
Image
Холл эффект мэдрэгч гэж юу вэ?
Холл эффект мэдрэгч гэж юу вэ?

Бүгдээрээ сайн уу, Өнөөдөр би танхимын эффект мэдрэгчийг Arduino -той хэрхэн холбож, тасалдалтай ашиглахыг танд үзүүлэх болно.

Видеонд ашигласан багаж хэрэгсэл, материал (Түншлэлийн линкүүд): Arduino Uno:

Танхимын эффект мэдрэгч:

Төрөл бүрийн эсэргүүцэл:

Алхам 1: Холл эффект мэдрэгч гэж юу вэ?

Холл эффект мэдрэгч гэж юу вэ?
Холл эффект мэдрэгч гэж юу вэ?
Холл эффект мэдрэгч гэж юу вэ?
Холл эффект мэдрэгч гэж юу вэ?
Холл эффект мэдрэгч гэж юу вэ?
Холл эффект мэдрэгч гэж юу вэ?

Холлын эффект мэдрэгч нь соронзон орны хэмжээг хэмжих төхөөрөмж юм. Түүний гаралтын хүчдэл нь соронзон орны хүчээр шууд пропорциональ байна.

Танхимын эффект мэдрэгчийг ойролцоо мэдрэх, байршил тогтоох, хурдыг илрүүлэх, одоогийн мэдрэгч ашиглахад ашигладаг.

Өнөөдөр миний ажиллах гэж буй төхөөрөмжийг 3144 гэж тэмдэглэсэн бөгөөд энэ нь голчлон өндөр температур, автомашины хэрэглээнд зориулагдсан танхимын эффект унтраалга юм. Түүний гаралт нь анхдагчаар өндөр байдаг бөгөөд соронзон орон байгаа тохиолдолд нэг удаа буурдаг.

Мэдрэгч нь 3 голтой, VCC, газардуулга, гаралттай. Хэрэв та мэдрэгчийг шошготой байрлуулсан бол тэдгээрийг дарааллаар нь тодорхойлж болно. VCC нь зүүн талд, гаралт нь баруун талд байна. Аливаа хүчдэлийн шилжилтээс урьдчилан сэргийлэхийн тулд VCC ба гаралтын хооронд 10 к эсэргүүцэл ашигладаг.

Алхам 2: Тасалдал гэж юу вэ?

Тасалдал гэж юу вэ?
Тасалдал гэж юу вэ?
Тасалдал гэж юу вэ?
Тасалдал гэж юу вэ?

Arduino дээрх мэдрэгчийг холбохын тулд бид Interrupt гэж нэрлэгддэг энгийн боловч маш хүчирхэг функцийг ашиглах болно. Тасалдлын ажил бол чухал үйл явдалд процессор хурдан хариу өгөх эсэхийг шалгах явдал юм. Тодорхой дохиог илрүүлэх үед тасалдал (нэрнээс нь үзэхэд) процессор юу хийж байгааг тасалдуулж, Arduino -д өгч буй гадны ямар нэгэн өдөөлтөд хариу үйлдэл үзүүлэх зориулалттай зарим кодыг ажиллуулдаг. Энэ кодыг дуусгасны дараа процессор юу ч болоогүй юм шиг хийж байсан зүйлдээ буцаж орно!

Гайхамшигтай зүйл бол програм хангамжийн хувьд урьдчилан таамаглахад амаргүй чухал үйл явдлуудад таны системийг хурдан бөгөөд үр дүнтэй хариу үйлдэл үзүүлэх бүтэц юм. Хамгийн шилдэг нь, энэ нь таны процессорыг үзүүлж буй үйл явдлыг хүлээж байхдаа бусад зүйл хийхээс чөлөөлдөг.

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

Алхам 3: Холболт ба код

Холболт ба код
Холболт ба код
Холболт ба код
Холболт ба код
Холболт ба код
Холболт ба код

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

Тохиргооны функц дээр бид эхлээд ашигласан тээглүүр дээрх горимуудыг зааж өгөөд дараа нь тайлбарласны дагуу тасалдлыг хавсаргана. Энд бидний ашигладаг өөр нэг функц бол digitalPinToInterrupt бөгөөд нэрний хувьд зүү дугаарыг тасалдлын дугаар руу хөрвүүлдэг.

Үндсэн аргын хувьд бид зөвхөн LED зүү дээр төлөвийн хувьсагчийг бичээд маш бага саатал нэмдэг тул процессор зөв ажиллах хугацаатай болно.

Тасалдлыг хавсаргасан газарт бид blink -ийг хоёр дахь параметр болгон зааж өгсөн бөгөөд энэ нь дуудагдах функцийн нэр юм. Дотор нь бид зөвхөн улсын үнэ цэнийг эргүүлдэг.

AttachIntertupt функцийн гурав дахь параметр нь түүний ажиллаж буй горим юм. Бид үүнийг ӨӨРЧЛӨЛТ гэж үзвэл тасалдлын төлөв өөрчлөгдөх бүрт анивчих функцийг гүйцэтгэх бөгөөд соронзыг мэдрэгчид ойртуулсны дараа үүнийг дуудаж, түүнийг салгасны дараа дахин асаах болно. Ийнхүү бид соронзыг мэдрэгчийн ойролцоо барьж байх үед LED асаалттай байна.

Хэрэв бид одоо горимыг RISING болгож өөрчилвөл анивчих функц нь таслалтын зүү дээр дохионы өсөн нэмэгдэж буй ирмэгийг харсны дараа л идэвхжих болно. Одоо бид соронзыг мэдрэгч рүү ойртуулах бүрт LED нь унтрах эсвэл асах тул бид соронзон унтраалга хийсэн.

Бидний туршиж үзэх эцсийн горим бол LOW юм. Үүнтэй хамт соронз ойрхон байх үед анивчих функц байнга асах бөгөөд LED нь анивчих бөгөөд түүний төлөв үргэлж урвуу байх болно. Бид соронзыг салгахад тухайн цаг хугацаа хэрхэн дуусах нь цаг хугацаанаас хамаардаг тул үнэхээр дуусах нь урьдчилан таамаглах аргагүй юм. Гэсэн хэдий ч хэрэв бид товчлуурыг хэр удаан дарсан болохыг мэдэх шаардлагатай бол энэ горим нь үнэхээр хэрэгтэй байдаг, учир нь бид үүнийг тодорхойлохын тулд цагийн функцийг ашиглаж болно.

Алхам 4: Цаашдын арга хэмжээ

Цаашдын арга хэмжээ
Цаашдын арга хэмжээ

Тасалдал нь таны системийг цаг хугацааны хувьд чухал үүрэг гүйцэтгэдэг ажлуудад илүү хариу үйлдэл үзүүлэх энгийн арга юм. Тэд мөн системийн зарим үндсэн ажилд анхаарлаа төвлөрүүлэхийн тулд таны үндсэн `loop () ' - ийг чөлөөлөх нэмэлт давуу талтай. (Энэ нь миний кодыг ашиглахад энэ нь миний зохион байгуулалтыг арай илүү зохион байгуулалттай болгоход хүргэдэг гэж би бодож байна. Кодын үндсэн хэсэг нь юунд зориулагдсан болохыг харахад хялбар байдаг. Тасалдал нь үе үе тохиолддог үйл явдлуудыг зохицуулдаг.) Энд үзүүлсэн жишээ нь хамгийн тасалдлыг ашиглах үндсэн тохиолдол - та тэдгээрийг I2C төхөөрөмжийг унших, утасгүй өгөгдөл илгээх, хүлээн авах, мотор асаах эсвэл зогсооход ашиглаж болно.

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

Баяр хүргэе, үзсэнд баярлалаа!

Зөвлөмж болгож буй: