Përmbajtje:

Sensori i efektit të sallës Arduino me ndërprerje: 4 hapa
Sensori i efektit të sallës Arduino me ndërprerje: 4 hapa

Video: Sensori i efektit të sallës Arduino me ndërprerje: 4 hapa

Video: Sensori i efektit të sallës Arduino me ndërprerje: 4 hapa
Video: Измерение 5A-30A переменного и постоянного тока с использованием ACS712 с библиотекой Robojax 2024, Nëntor
Anonim
Image
Image
Çfarë është një Sensor i Efektit Hall?
Çfarë është një Sensor i Efektit Hall?

Pershendetje te gjitheve, Sot do t'ju tregoj se si mund të lidhni një sensor të efektit të sallës me një Arduino dhe ta përdorni atë me një ndërprerje.

Mjetet dhe materialet e përdorura në video (Lidhjet e lidhura): Arduino Uno:

Sensorë të efektit Hall:

Rezistenca të ndryshme:

Hapi 1: Çfarë është Sensori i Efektit Hall?

Çfarë është një Sensor i Efektit Hall?
Çfarë është një Sensor i Efektit Hall?
Çfarë është një Sensor i Efektit Hall?
Çfarë është një Sensor i Efektit Hall?
Çfarë është një Sensor i Efektit Hall?
Çfarë është një Sensor i Efektit Hall?

Një sensor efekti Hall është një pajisje që përdoret për të matur madhësinë e një fushe magnetike. Tensioni i daljes së tij është drejtpërdrejt proporcional me fuqinë e fushës magnetike përmes saj.

Sensorët e efektit Hall përdoren për zbulimin e afërsisë, pozicionimin, zbulimin e shpejtësisë dhe aplikimet aktuale të ndijimit.

Ai me të cilin do të punoj sot është etiketuar si 3144 i cili është një ndërprerës i efektit të sallës i përdorur kryesisht për temperatura të larta dhe aplikime automobilistike. Prodhimi i tij është i lartë si parazgjedhje dhe bie i ulët një herë në prani të një fushe magnetike.

Sensori ka 3 kunja, VCC, tokë dhe dalje. Ju mund t'i identifikoni ato në atë mënyrë nëse e mbani sensorin me etiketat drejt jush. VCC është në të majtë, dhe dalja është në anën e djathtë. Për të parandaluar çdo lëvizje të tensionit, një rezistencë 10k po përdoret midis VCC dhe daljes në një konfigurim tërheqës.

Hapi 2: Çfarë është një ndërprerje?

Çfarë është një ndërprerje?
Çfarë është një ndërprerje?
Çfarë është një ndërprerje?
Çfarë është një ndërprerje?

Për të lidhur sensorin në Arduino, ne do të përdorim një veçori të thjeshtë, por shumë të fuqishme të quajtur Interrupt. Një punë e ndërprerjes është të siguroheni që procesori i përgjigjet shpejt ngjarjeve të rëndësishme. Kur zbulohet një sinjal i caktuar, një Ndërprerje (siç sugjeron emri) ndërpret çdo gjë që bën procesori dhe ekzekuton një kod të krijuar për të reaguar ndaj çdo stimuli të jashtëm që i jepet Arduino. Pasi ai kod të përfundojë, procesori kthehet në atë që ishte duke bërë fillimisht sikur asgjë të mos ndodhte!

Ajo që është e mrekullueshme për këtë është se strukturon sistemin tuaj për të reaguar shpejt dhe me efikasitet ndaj ngjarjeve të rëndësishme që nuk janë të lehta të parashikohen në softuer. Më e mira nga të gjitha, ai e liron procesorin tuaj për të bërë gjëra të tjera ndërsa është duke pritur që të shfaqet një ngjarje.

Arduino Uno ka dy kunja që mund t'i përdorim si Ndërprerës, pin 2 dhe 3. Funksioni që ne përdorim për të regjistruar pinin si një ndërprerje quhet attachInterrupt ku si parametër i parë dërgojmë në pin që do të përdoret, parametri i dytë është emrin e funksionit që duam ta thërrasim sapo të zbulohet një ndërprerje dhe si parametër të tretë e dërgojmë në mënyrën në të cilën duam që ndërprerja të funksionojë. Ekziston një lidhje në përshkrimin e videos me referencën e plotë për këtë funksion.

Hapi 3: Lidhjet dhe Kodi

Lidhjet dhe Kodi
Lidhjet dhe Kodi
Lidhjet dhe Kodi
Lidhjet dhe Kodi
Lidhjet dhe Kodi
Lidhjet dhe Kodi

Në shembullin tonë, ne lidhim sensorin e efekteve të sallës me pinin 2 në Arduino. Në fillim të skicës, ne përcaktojmë variablat për numrin pin të LED të integruar, pinin e ndërprerjes si dhe një variabël byte që do të përdorim për të modifikuar përmes ndërprerjes. Crucialshtë thelbësore që ta shënojmë këtë si të paqëndrueshme në mënyrë që përpiluesi të dijë se po modifikohet jashtë rrjedhës së programit kryesor përmes ndërprerjes.

Në funksionin e konfigurimit, ne së pari specifikojmë mënyrat në kunjat e përdorura dhe më pas bashkojmë ndërprerjen siç është shpjeguar më parë. Një funksion tjetër që ne përdorim këtu është digitalPinToInterrupt i cili siç nënkupton edhe emri, përkthen numrin pin në numrin e ndërprerjes.

Në metodën kryesore, ne thjesht shkruajmë ndryshoren e gjendjes në kunjin LED dhe shtojmë një vonesë shumë të vogël në mënyrë që procesori të ketë kohë për të punuar siç duhet.

Aty ku e bashkangjitëm ndërprerjen, ne specifikuam blinkun si parametrin e dytë dhe ky është emri i funksionit që duhet thirrur. Brenda ne vetëm përmbysim vlerën e shtetit.

Parametri i tretë i funksionit attachIntertupt është mënyra në të cilën funksionon. Kur e kemi si NDRYSHIM, funksioni blink do të ekzekutohet sa herë që ndryshon gjendja e ndërprerjes kështu, ai do të thirret një herë pasi ta afrojmë magnetin pranë sensorit dhe të aktivizohet përsëri sapo ta heqim. Në këtë mënyrë, LED është ndezur ndërsa ne e mbajmë magnetin afër sensorit.

Nëse tani ndryshojmë modalitetin në RISING, funksioni i ndezjes do të aktivizohet vetëm pasi të shihet një skaj në rritje i sinjalit në kunjin e ndërprerjes. Tani sa herë që e afrojmë magnetin pranë sensorit, LED ose fiket ose ndizet kështu që në thelb kemi bërë një ndërprerës magnetik.

Mënyra përfundimtare që do të provojmë është LOW. Me të, kur magneti është afër, funksioni i ndezjes do të aktivizohet vazhdimisht dhe LED do të dridhet, duke e kthyer gjendjen e tij të përmbysur gjatë gjithë kohës. Kur heqim magnetin, është vërtet e paparashikueshme se si do të përfundojë gjendja pasi kjo varet nga koha. Sidoqoftë, kjo mënyrë është vërtet e dobishme nëse duhet të dimë për sa kohë është shtypur një buton pasi mund të përdorim funksionet e kohës për ta përcaktuar atë.

Hapi 4: Veprime të mëtejshme

Veprimet e Mëtejshme
Veprimet e Mëtejshme

Ndërprerjet janë një mënyrë e thjeshtë për ta bërë sistemin tuaj më të përgjegjshëm ndaj detyrave të ndjeshme ndaj kohës. Ata gjithashtu kanë përfitimin e shtuar për të liruar `lakin () tuaj kryesor për t'u përqëndruar në disa detyra kryesore në sistem. (Unë konstatoj se kjo ka tendencë ta bëjë kodin tim pak më të organizuar kur i përdor - është më e lehtë të shihet se për çfarë është krijuar pjesa kryesore e kodit, ndërsa ndërprerjet trajtojnë ngjarje periodike.) Shembulli i treguar këtu është pothuajse më i shumti Rasti bazë për përdorimin e një ndërprerje - mund t'i përdorni për leximin e një pajisjeje I2C, dërgimin ose marrjen e të dhënave pa tel, apo edhe fillimin ose ndalimin e një motori.

Nëse keni një përdorim interesant të një ndërprerësi ose një sensor të efekteve të sallës, atëherë sigurohuni që të më tregoni në komente, pëlqeni dhe ndani këtë Instructable, dhe mos harroni të regjistroheni në kanalin tim në YouTube për mësime dhe projekte më të mrekullueshme në e ardhmja.

Urime dhe faleminderit për shikimin!

Recommended: