Mündəricat:

Arduino Hall Təsir Sensoru: 4 addım
Arduino Hall Təsir Sensoru: 4 addım

Video: Arduino Hall Təsir Sensoru: 4 addım

Video: Arduino Hall Təsir Sensoru: 4 addım
Video: VL53L1X Лазерный дистанционный датчик времени полета 400 см 2024, Noyabr
Anonim
Image
Image
Hall Təsiri Sensoru nədir?
Hall Təsiri Sensoru nədir?

Hər kəsə salam, Bu gün sizə bir salon effekti sensörünü bir Arduinoya necə bağlaya biləcəyinizi və fasilə ilə istifadə edə biləcəyinizi göstərəcəyəm.

Videoda istifadə olunan alətlər və materiallar (Ortaq bağlantılar): Arduino Uno:

Hall effekti sensorlar:

Müxtəlif rezistorlar:

Addım 1: Hall Təsiri Sensoru nədir?

Hall Təsiri Sensoru nədir?
Hall Təsiri Sensoru nədir?
Hall Təsiri Sensoru nədir?
Hall Təsiri Sensoru nədir?
Hall Təsiri Sensoru nədir?
Hall Təsiri Sensoru nədir?

Hall effekti sensoru, maqnit sahəsinin böyüklüyünü ölçmək üçün istifadə olunan bir cihazdır. Çıxış gərginliyi onun üzərindəki maqnit sahəsinin gücü ilə düz mütənasibdir.

Hall effektli sensorlar yaxınlıq algılama, yerləşdirmə, sürət algılama və cari algılama tətbiqləri üçün istifadə olunur.

Bu gün işləyəcəyim biri 3144 olaraq etiketlənmişdir ki, bu da əsasən yüksək temperatur və avtomobil tətbiqləri üçün istifadə olunan bir zal effekti açarıdır. Varsayılan olaraq çıxışı yüksəkdir və maqnit sahəsinin iştirakı ilə bir dəfə aşağı düşür.

Sensor 3 pinli, VCC, torpaq və çıxışa malikdir. Sensoru etiketləri sizə tərəf tutsanız, onları bu qaydada tanıya bilərsiniz. VCC solda, çıxış isə sağ tərəfdədir. Hər hansı bir gərginlik sürüşməsinin qarşısını almaq üçün, VCC ilə çıxış arasında çəkmə konfiqurasiyasında 10k müqavimət istifadə olunur.

Addım 2: Fasilə nədir?

Fasilə nədir?
Fasilə nədir?
Fasilə nədir?
Fasilə nədir?

Sensoru Arduino'ya bağlamaq üçün Interrupt adlı sadə, lakin çox güclü bir xüsusiyyətdən istifadə edəcəyik. Bir fasilə işi, prosessorun vacib hadisələrə tez cavab verdiyinə əmin olmaqdır. Müəyyən bir siqnal aşkar edildikdə, bir kəsmə (adından da göründüyü kimi) prosessorun nə etdiyini kəsir və Arduino -ya verilən hər hansı bir xarici stimula reaksiya vermək üçün hazırlanmış bir kodu icra edir. Bu kod bitdikdən sonra, prosessor heç bir şey olmamış kimi əvvəlcə etdiyinə qayıdır!

Bunun möhtəşəm tərəfi, sisteminizin proqram təminatında gözləməsi asan olmayan əhəmiyyətli hadisələrə tez və səmərəli reaksiya verməsini təmin etməsidir. Ən yaxşısı, bir hadisənin görünməsini gözləyərkən prosessorunuzu başqa işlər görmək üçün azad edir.

Arduino Uno -da kəsmə olaraq istifadə edə biləcəyimiz iki pin var, pin 2 və 3. Pimi kəsmə olaraq qeyd etmək üçün istifadə etdiyimiz funksiyaya attachInterrupt deyilir, burada istifadə ediləcək pində göndərdiyimiz ilk parametr kimi ikinci parametrdir. bir kəsilmə aşkar edildikdən sonra zəng etmək istədiyimiz funksiyanın adı və üçüncü parametr olaraq kəsilmənin işləməsini istədiyimiz rejimdə göndəririk. Videonun təsvirində bu funksiyanın tam istinadına bir keçid var.

Addım 3: Bağlantılar və Kod

Əlaqələr və Kod
Əlaqələr və Kod
Əlaqələr və Kod
Əlaqələr və Kod
Əlaqələr və Kod
Əlaqələr və Kod

Nümunəmizdə, salon effektləri sensorunu Arduino'nun 2 -ci pininə bağlayırıq. Eskizin əvvəlində, quraşdırılmış LED -in pin nömrəsi, kəsmə pini və kəsilmə yolu ilə dəyişdirmək üçün istifadə edəcəyimiz bir bayt dəyişəninin dəyişənlərini təyin edirik. Bunu uçucu olaraq qeyd etməyimiz çox vacibdir, buna görə tərtibçi əsas proqram axınının xaricində dəyişdirildiyini bilə bilər.

Quraşdırma funksiyasında əvvəlcə istifadə olunan sancaqlardakı rejimləri təyin edirik və sonra əvvəllər izah edildiyi kimi kəsilməni əlavə edirik. Burada istifadə etdiyimiz digər bir funksiya, adından da göründüyü kimi pin nömrəsini kəsmə nömrəsinə çevirən digitalPinToInterruptdur.

Əsas üsulda, yalnız LED pininə vəziyyət dəyişənini yazırıq və çox kiçik bir gecikmə əlavə edirik ki, prosessor düzgün işləyə bilsin.

Kəsməni bağladığımız yerdə, ikinci parametri olaraq yanıb sönməyi təyin etdik və bu çağırılacaq funksiya adıdır. İçəridə yalnız dövlət dəyərini tərsinə çeviririk.

AttachIntertupt funksiyasının üçüncü parametri işlədiyi rejimdir. Dəyişdirdiyimiz zaman, hər dəfə kəsmə vəziyyəti dəyişəndə göz qırpma funksiyası icra olunacaq, maqnit sensora yaxınlaşdıqda bir dəfə çağırılacaq və onu çıxardıqdan sonra yenidən işə düşəcək. Bu şəkildə, maqniti sensora yaxın tutduğumuzda LED yanır.

İndi rejimi RISING olaraq dəyişdirsək, yanıb sönmə funksiyası yalnız kəsmə pinində siqnalın yüksələn kənarı göründükdə işə salınacaq. İndi hər dəfə maqnitini sensora yaxınlaşdırdığımız zaman LED ya sönür, ya da açılır, buna görə də əsasən maqnit açarı düzəltmişik.

Çalışacağımız son rejim LOW. Bununla birlikdə, maqnit yaxın olduqda, yanıb -sönmə funksiyası daim işə salınacaq və LED hər zaman vəziyyətini tərsinə çevirərək yanıb -sönəcək. Mıknatısı çıxardıqda, vəziyyətin necə olacağını əvvəlcədən təxmin etmək mümkün deyil, çünki bu, vaxtdan asılıdır. Ancaq müəyyən etmək üçün vaxt funksiyalarından istifadə edə biləcəyimiz üçün bir düyməyə nə qədər basıldığını bilmək lazımdırsa, bu rejim həqiqətən faydalıdır.

Addım 4: Əlavə tədbirlər

Əlavə tədbirlər
Əlavə tədbirlər

Fasilələr, sisteminizin zamana həssas vəzifələrə daha həssas yanaşmasının sadə bir yoludur. Sistemdəki bəzi əsas vəzifələrə diqqət yetirmək üçün əsas 'loop ()' un sərbəst buraxılmasının əlavə faydasına da malikdirlər. (Hesab edirəm ki, bu, kodumu istifadə edərkən bir az daha mütəşəkkil hala gətirməyə meyllidir - fasilələr dövri hadisələri idarə edərkən kodun əsas hissəsinin nə üçün nəzərdə tutulduğunu görmək daha asandır.) Burada göstərilən nümunə ən çox bir fasilə istifadə etmək üçün əsas hal - bunları I2C cihazını oxumaq, simsiz məlumat göndərmək və ya almaq, hətta mühərriki işə salmaq və ya dayandırmaq üçün istifadə edə bilərsiniz.

Bir fasilə və ya salon effektləri sensoru ilə maraqlanırsınızsa, şərhlərdə mənə bildirməyinizə əmin olun, bu Təlimatı bəyənin və paylaşın və daha möhtəşəm dərslər və layihələr üçün YouTube kanalıma abunə olmağı unutmayın. gələcək.

Sağ olun və izlədiyiniz üçün təşəkkürlər!

Tövsiyə: