Isi kandungan:

Sensor Kesan Dewan Arduino Dengan Selingan: 4 Langkah
Sensor Kesan Dewan Arduino Dengan Selingan: 4 Langkah

Video: Sensor Kesan Dewan Arduino Dengan Selingan: 4 Langkah

Video: Sensor Kesan Dewan Arduino Dengan Selingan: 4 Langkah
Video: Измерение 50–200 А с использованием датчика тока Allegro ACS770 с библиотекой Robojax 2024, Julai
Anonim
Image
Image
Apakah Sensor Kesan Hall?
Apakah Sensor Kesan Hall?

Hai semua, Hari ini saya akan menunjukkan kepada anda bagaimana anda boleh menyambungkan sensor kesan dewan ke Arduino dan menggunakannya dengan gangguan.

Alat dan bahan yang digunakan dalam video (Pautan afiliasi): Arduino Uno:

Sensor kesan dewan:

Pelbagai Perintang:

Langkah 1: Apakah Sensor Kesan Hall?

Apakah Sensor Kesan Hall?
Apakah Sensor Kesan Hall?
Apakah Sensor Kesan Hall?
Apakah Sensor Kesan Hall?
Apakah Sensor Kesan Hall?
Apakah Sensor Kesan Hall?

Sensor kesan Hall adalah peranti yang digunakan untuk mengukur magnitud medan magnet. Voltan keluarannya berkadar terus dengan kekuatan medan magnet yang melaluinya.

Sensor kesan Hall digunakan untuk penginderaan jarak, kedudukan, pengesanan kelajuan, dan aplikasi penginderaan semasa.

Yang akan saya bekerjasama hari ini dilabel sebagai 3144 yang merupakan suis kesan dewan yang terutama digunakan untuk aplikasi suhu tinggi dan automotif. Keluarannya tinggi secara lalai dan rendah sekali apabila terdapat medan magnet.

Sensor mempunyai 3 pin, VCC, ground dan output. Anda boleh mengenalinya mengikut urutan jika anda menahan sensor dengan label ke arah anda. VCC berada di sebelah kiri, dan output berada di sebelah kanan. Untuk mengelakkan arus voltan, perintang 10k digunakan antara VCC dan output dalam konfigurasi pull-up.

Langkah 2: Apa itu Gangguan?

Apa itu Gangguan?
Apa itu Gangguan?
Apa itu Gangguan?
Apa itu Gangguan?

Untuk menyambungkan sensor di Arduino, kami akan menggunakan ciri mudah tetapi sangat kuat yang disebut Interrupt. Tugas Interrupt adalah untuk memastikan bahawa pemproses bertindak balas dengan cepat terhadap peristiwa penting. Apabila isyarat tertentu dikesan, Interrupt (seperti namanya) mengganggu apa sahaja yang dilakukan oleh pemproses, dan melaksanakan beberapa kod yang dirancang untuk bertindak balas terhadap rangsangan luaran yang diberikan kepada Arduino. Setelah kod itu dibungkus, pemproses akan kembali ke apa sahaja yang dilakukannya seolah-olah tidak ada yang berlaku!

Apa yang mengagumkan adalah bahawa sistem anda dapat bertindak balas dengan cepat dan cekap terhadap peristiwa penting yang tidak mudah dijangkakan dalam perisian. Yang terbaik, ia membebaskan pemproses anda untuk melakukan perkara lain sementara menunggu acara muncul.

Arduino Uno mempunyai dua pin yang dapat kita gunakan sebagai Interrupts, pin 2 dan 3. Fungsi yang kita gunakan untuk mendaftarkan pin sebagai interrupt disebut attachInterrupt dimana sebagai parameter pertama yang kita kirimkan pada pin yang akan digunakan, parameter kedua adalah nama fungsi yang ingin kita panggil setelah gangguan dikesan dan sebagai parameter ketiga kita menghantar dalam mod di mana kita mahu gangguan berfungsi. Terdapat pautan dalam keterangan video untuk rujukan penuh untuk fungsi ini.

Langkah 3: Sambungan dan Kod

Sambungan dan Kod
Sambungan dan Kod
Sambungan dan Kod
Sambungan dan Kod
Sambungan dan Kod
Sambungan dan Kod

Dalam contoh kami, kami menyambungkan sensor kesan ruang ke pin 2 di Arduino. Pada awal lakaran, kami menentukan pemboleh ubah untuk nombor pin LED yang dibina, pin interrupt dan juga pemboleh ubah byte yang akan kami gunakan untuk mengubah suai melalui interrupt. Penting untuk kita menandakan yang satu ini tidak stabil sehingga penyusun dapat mengetahui bahawa pengubahsuaian di luar aliran program utama melalui gangguan.

Dalam fungsi penyediaan, pertama-tama kita menentukan mod pada pin yang digunakan dan kemudian kita pasangkan interupsi seperti yang dijelaskan sebelumnya. Satu fungsi lain yang kami gunakan di sini adalah digitalPinToInterrupt yang seperti namanya, menerjemahkan nombor pin ke nombor interrupt.

Dalam kaedah utama, kita hanya menulis pemboleh ubah keadaan pada pin LED dan menambahkan kelewatan yang sangat kecil sehingga pemproses dapat mempunyai masa untuk berfungsi dengan baik.

Di mana kami memasang interrupt, kami menetapkan berkedip sebagai parameter kedua dan ini adalah nama fungsi yang akan dipanggil. Di dalam kita hanya membalikkan nilai keadaan.

Parameter ketiga fungsi attachIntertupt adalah mod di mana ia beroperasi. Apabila kita memilikinya sebagai PERUBAHAN, fungsi berkedip akan dijalankan setiap kali keadaan gangguan berubah jadi, ia akan dipanggil sekali setelah magnet mendekati sensor dan dipicu sekali lagi setelah kita mengeluarkannya. Dengan cara ini, LED menyala semasa kita menahan magnet dekat dengan sensor.

Sekiranya kita sekarang mengubah modus menjadi RISING, fungsi kedipan hanya akan dipicu apabila tepi isyarat yang semakin meningkat terlihat pada pin interrupt. Sekarang setiap kali kita membawa magnet dekat dengan sensor, LED sama ada mati atau menyala sehingga pada dasarnya kita membuat suis magnet.

Mod terakhir yang akan kami cuba adalah RENDAH. Dengan itu, apabila magnet dekat, fungsi kedipan akan terus dipicu dan LED akan berkelip, keadaannya terbalik sepanjang masa. Apabila kita mengeluarkan magnet, benar-benar tidak dapat diramalkan bagaimana keadaan akan berakhir kerana ini bergantung pada masa. Walau bagaimanapun, mod ini sangat berguna jika kita perlu mengetahui berapa lama butang ditekan kerana kita dapat menggunakan fungsi pemasaan untuk menentukannya.

Langkah 4: Tindakan Lebih Lanjut

Tindakan Lebih Lanjut
Tindakan Lebih Lanjut

Gangguan adalah cara mudah untuk menjadikan sistem anda lebih responsif terhadap tugas yang sensitif terhadap masa. Mereka juga mempunyai keuntungan tambahan dari membebaskan `loop 'utama Anda untuk fokus pada beberapa tugas utama dalam sistem. (Saya dapati bahawa ini cenderung menjadikan kod saya sedikit lebih teratur semasa saya menggunakannya - lebih mudah untuk melihat bahagian mana kod utama dirancang, sementara interupsi menangani peristiwa berkala.) Contoh yang ditunjukkan di sini adalah hampir kes asas untuk menggunakan gangguan - anda boleh menggunakannya untuk membaca peranti I2C, menghantar atau menerima data tanpa wayar, atau bahkan memulakan atau menghentikan motor.

Sekiranya anda mempunyai penggunaan interrupt atau sensor kesan dewan yang menarik, pastikan anda memberi tahu saya dalam komen, suka dan kongsikan Instructable ini, dan jangan lupa untuk melanggan saluran YouTube saya untuk tutorial dan projek yang lebih hebat di masa depan.

Sorakan dan terima kasih kerana menonton!

Disyorkan: