Satura rādītājs:

Arduino zāles efekta sensors ar pārtraukumiem: 4 soļi
Arduino zāles efekta sensors ar pārtraukumiem: 4 soļi

Video: Arduino zāles efekta sensors ar pārtraukumiem: 4 soļi

Video: Arduino zāles efekta sensors ar pārtraukumiem: 4 soļi
Video: Измерение 5A-30A переменного и постоянного тока с использованием ACS712 с библиотекой Robojax 2024, Novembris
Anonim
Image
Image
Kas ir zāles efekta sensors?
Kas ir zāles efekta sensors?

Sveiki visiem, Šodien es jums parādīšu, kā jūs varat savienot halles efekta sensoru ar Arduino un izmantot to ar pārtraukumu.

Videoklipā izmantotie rīki un materiāli (saistītās saites): Arduino Uno:

Halles efektu sensori:

Dažādi rezistori:

1. solis: kas ir zāles efekta sensors?

Kas ir zāles efekta sensors?
Kas ir zāles efekta sensors?
Kas ir zāles efekta sensors?
Kas ir zāles efekta sensors?
Kas ir zāles efekta sensors?
Kas ir zāles efekta sensors?

Halles efekta sensors ir ierīce, ko izmanto magnētiskā lauka lieluma mērīšanai. Tās izejas spriegums ir tieši proporcionāls magnētiskā lauka stiprumam caur to.

Holla efekta sensori tiek izmantoti tuvuma noteikšanai, pozicionēšanai, ātruma noteikšanai un pašreizējās noteikšanas lietojumprogrammām.

Tas, ar kuru es šodien strādāšu, ir apzīmēts kā 3144, kas ir zāles efekta slēdzis, ko galvenokārt izmanto augstas temperatūras un automobiļu lietojumiem. Tās izeja pēc noklusējuma ir augsta un magnētiskā lauka klātbūtnē vienreiz samazinās.

Sensoram ir 3 tapas, VCC, zemējums un izeja. Jūs varat tos identificēt šādā secībā, ja turat sensoru ar etiķetēm pret jums. VCC atrodas kreisajā pusē, bet izeja - labajā pusē. Lai novērstu jebkādu sprieguma novirzi, starp VCC un izeju tiek izmantots 10k rezistors, kas ir pievilkšanas konfigurācijā.

2. darbība. Kas ir pārtraukums?

Kas ir pārtraukums?
Kas ir pārtraukums?
Kas ir pārtraukums?
Kas ir pārtraukums?

Lai savienotu sensoru Arduino, mēs izmantosim vienkāršu, tomēr ļoti spēcīgu funkciju ar nosaukumu Pārtraukt. Pārtraukšanas uzdevums ir pārliecināties, ka procesors ātri reaģē uz svarīgiem notikumiem. Kad tiek atklāts noteikts signāls, pārtraukums (kā norāda nosaukums) pārtrauc visu, ko dara procesors, un izpilda kādu kodu, kas paredzēts, lai reaģētu uz jebkādiem ārējiem stimuliem, kas tiek padoti Arduino. Kad šis kods ir iesaiņots, procesors atgriežas pie tā, ko sākotnēji darīja, it kā nekas nebūtu noticis!

Tas ir pārsteidzoši tas, ka tā strukturē jūsu sistēmu, lai ātri un efektīvi reaģētu uz svarīgiem notikumiem, kurus programmatūrā nav viegli paredzēt. Pats labākais - tas atbrīvo jūsu procesoru citu darbību veikšanai, gaidot notikuma parādīšanos.

Arduino Uno ir divas tapas, kuras mēs varam izmantot kā pārtraukumus, 2. un 3. tapa. Funkciju, ko izmantojam, lai reģistrētu tapu kā pārtraukumu, sauc par attachInterrupt, kur kā pirmo parametru mēs nosūtām izmantojamo tapu, otrais parametrs ir funkcijas nosaukums, kuru vēlamies izsaukt, tiklīdz tiek konstatēts pārtraukums, un kā trešo parametru mēs nosūtām režīmā, kurā vēlamies, lai pārtraukums darbotos. Video aprakstā ir saite uz pilnu atsauci uz šo funkciju.

3. darbība: savienojumi un kods

Savienojumi un kods
Savienojumi un kods
Savienojumi un kods
Savienojumi un kods
Savienojumi un kods
Savienojumi un kods

Mūsu piemērā mēs savienojam zāles efektu sensoru ar Arduino 2. tapu. Skices sākumā mēs definējam mainīgos lielumus iebūvētās gaismas diodes tapas numuram, pārtraukuma tapu, kā arī baitu mainīgo, ko mēs izmantosim, lai mainītu, izmantojot pārtraukumu. Ir ļoti svarīgi atzīmēt šo kā nepastāvīgu, lai kompilators zinātu, ka tas tiek modificēts ārpus galvenās programmas plūsmas caur pārtraukumu.

Iestatīšanas funkcijā mēs vispirms norādām režīmus izmantotajām tapām un pēc tam pievienojam pārtraukumu, kā aprakstīts iepriekš. Vēl viena funkcija, ko mēs šeit izmantojam, ir digitalPinToInterrupt, kas, kā norāda nosaukums, tulko pin numuru pārtraukuma numuram.

Galvenajā metodē mēs vienkārši ierakstām stāvokļa mainīgo uz LED tapas un pievienojam ļoti nelielu aizkavi, lai procesors varētu iegūt laiku, lai pareizi darbotos.

Vietā, kur pievienojām pārtraukumu, mēs kā otro parametru norādījām mirgošanu, un tas ir funkcijas nosaukums, kas jāizsauc. Iekšpusē mēs vienkārši apgriežam valsts vērtību.

Funkcijas attachIntertupt trešais parametrs ir režīms, kādā tā darbojas. Kad mēs to mainām, mirkšķināšanas funkcija tiks izpildīta katru reizi, kad mainīsies pārtraukuma stāvoklis, tāpēc tā tiks izsaukta, tiklīdz magnēts būs pietuvināts sensoram, un atkal tiks iedarbināts, kad to noņemsim. Tādā veidā gaismas diode ir ieslēgta, kamēr mēs turam magnētu tuvu sensoram.

Ja tagad mēs mainīsim režīmu uz RISING, mirgošanas funkcija tiks aktivizēta tikai tad, kad uz pārtraukuma tapas būs redzama signāla augšupejošā mala. Tagad katru reizi, kad mēs tuvinām magnētu sensoram, gaismas diode vai nu izslēdzas, vai ieslēdzas, tāpēc mēs pamatā izveidojām magnētisko slēdzi.

Pēdējais režīms, ko izmēģināsim, ir ZEMS. Līdz ar to, kad magnēts ir tuvu, mirgošanas funkcija tiks pastāvīgi aktivizēta un gaismas diode mirgos, visu laiku apgriežot stāvokli. Kad mēs noņemam magnētu, ir patiešām neparedzami, kā stāvoklis beigsies, jo tas ir atkarīgs no laika. Tomēr šis režīms ir patiešām noderīgs, ja mums jāzina, cik ilgi poga tika nospiesta, jo mēs varam izmantot laika funkcijas, lai to noteiktu.

4. darbība: turpmākās darbības

Turpmākās darbības
Turpmākās darbības

Pārtraukumi ir vienkāršs veids, kā padarīt jūsu sistēmu reaģējošāku uz uzdevumiem, kas ir atkarīgi no laika. Viņiem ir arī papildu priekšrocība, atbrīvojot galveno cilpu (), lai koncentrētos uz kādu sistēmas galveno uzdevumu. (Es uzskatu, ka tas mēdz padarīt manu kodu nedaudz sakārtotāku, kad tos izmantoju - ir vieglāk redzēt, kam paredzēta galvenā koda daļa, bet pārtraukumi apstrādā periodiskus notikumus.) Šeit redzamais piemērs ir gandrīz vissvarīgākais pamata gadījums pārtraukuma izmantošanai - tos varat izmantot, lai lasītu I2C ierīci, nosūtītu vai saņemtu bezvadu datus vai pat iedarbinātu vai apturētu motoru.

Ja interesanti izmantojat pārtraukuma vai zāles efektu sensoru, noteikti informējiet mani komentāros, atzīmējiet ar Patīk un kopīgojiet šo pamācību, un neaizmirstiet abonēt manu YouTube kanālu, lai iegūtu vairāk lielisku apmācību un projektu nākotne.

Prieks un paldies par skatīšanos!

Ieteicams: