Daftar Isi:

Sensor Efek Aula Arduino Dengan Interupsi: 4 Langkah
Sensor Efek Aula Arduino Dengan Interupsi: 4 Langkah

Video: Sensor Efek Aula Arduino Dengan Interupsi: 4 Langkah

Video: Sensor Efek Aula Arduino Dengan Interupsi: 4 Langkah
Video: BELAJAR ARDUINO #72 - Sensor Hall Effect 3144 Menghitung RPS Fidget Spinner 2024, November
Anonim
Image
Image
Apa itu Sensor Efek Hall?
Apa itu Sensor Efek Hall?

Halo semuanya, Hari ini saya akan menunjukkan kepada Anda bagaimana Anda dapat menghubungkan sensor efek hall ke Arduino dan menggunakannya dengan interupsi.

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

Sensor efek hall:

Berbagai macam Resistor:

Langkah 1: Apa itu Sensor Efek Hall?

Apa itu Sensor Efek Hall?
Apa itu Sensor Efek Hall?
Apa itu Sensor Efek Hall?
Apa itu Sensor Efek Hall?
Apa itu Sensor Efek Hall?
Apa itu Sensor Efek Hall?

Sensor efek Hall adalah perangkat yang digunakan untuk mengukur besarnya medan magnet. Tegangan keluarannya berbanding lurus dengan kekuatan medan magnet yang melaluinya.

Sensor efek hall digunakan untuk penginderaan jarak, penentuan posisi, deteksi kecepatan, dan aplikasi penginderaan saat ini.

Yang akan saya kerjakan hari ini diberi label sebagai 3144 yang merupakan sakelar efek hall yang terutama digunakan untuk aplikasi suhu tinggi dan otomotif. Outputnya tinggi secara default dan menjadi rendah sekali di hadapan medan magnet.

Sensor memiliki 3 pin, VCC, ground dan output. Anda dapat mengidentifikasi mereka dalam urutan itu jika Anda memegang sensor dengan label ke arah Anda. VCC di sebelah kiri, dan output di sebelah kanan. Untuk mencegah penyimpangan tegangan, resistor 10k digunakan antara VCC dan output dalam konfigurasi pull-up.

Langkah 2: Apa itu Interupsi?

Apa itu Interupsi?
Apa itu Interupsi?
Apa itu Interupsi?
Apa itu Interupsi?

Untuk menghubungkan sensor pada Arduino, kita akan menggunakan fitur sederhana namun sangat kuat yang disebut Interrupt. Pekerjaan Interrupt adalah memastikan bahwa prosesor merespons dengan cepat peristiwa penting. Ketika sinyal tertentu terdeteksi, Interrupt (seperti namanya) menginterupsi apa pun yang dilakukan prosesor, dan mengeksekusi beberapa kode yang dirancang untuk bereaksi terhadap stimulus eksternal apa pun yang diumpankan ke Arduino. Setelah kode itu selesai, prosesor kembali ke apa pun yang semula dilakukan seolah-olah tidak ada yang terjadi!

Apa yang mengagumkan tentang ini adalah struktur sistem Anda untuk bereaksi dengan cepat dan efisien terhadap peristiwa penting yang tidak mudah diantisipasi dalam perangkat lunak. Yang terbaik, ini membebaskan prosesor Anda untuk melakukan hal-hal lain saat menunggu acara muncul.

Arduino Uno memiliki dua pin yang dapat kita gunakan sebagai Interrupt, pin 2 dan 3. Fungsi yang kita gunakan untuk mendaftarkan pin sebagai interupsi disebut attachInterrupt dimana sebagai parameter pertama kita mengirimkan pin yang akan digunakan, parameter kedua adalah nama fungsi yang ingin kita panggil setelah interupsi terdeteksi dan sebagai parameter ketiga kita mengirim mode di mana kita ingin interupsi bekerja. Ada tautan dalam deskripsi video ke referensi lengkap untuk fungsi ini.

Langkah 3: Koneksi dan Kode

Koneksi dan Kode
Koneksi dan Kode
Koneksi dan Kode
Koneksi dan Kode
Koneksi dan Kode
Koneksi dan Kode

Dalam contoh kami, kami menghubungkan sensor efek hall ke pin 2 di Arduino. Pada awal sketsa, kami mendefinisikan variabel untuk nomor pin LED bawaan, pin interupsi, serta variabel byte yang akan kami modifikasi melalui interupsi. Sangat penting bahwa kita menandai yang ini sebagai volatile sehingga kompiler dapat mengetahui bahwa itu sedang dimodifikasi di luar aliran program utama melalui interupsi.

Pada fungsi setup, pertama-tama kita tentukan mode pada pin yang digunakan kemudian kita pasang interupsi seperti yang telah dijelaskan sebelumnya. Salah satu fungsi lain yang kami gunakan di sini adalah digitalPinToInterrupt yang sesuai dengan namanya, menerjemahkan nomor pin menjadi nomor interupsi.

Dalam metode utama, kita hanya menulis variabel status pada pin LED dan menambahkan penundaan yang sangat kecil sehingga prosesor dapat memiliki waktu untuk bekerja dengan baik.

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

Parameter ketiga dari fungsi attachIntertupt adalah mode di mana ia beroperasi. Ketika kita memilikinya sebagai CHANGE, fungsi kedipan akan dijalankan setiap kali keadaan interupsi berubah, itu akan dipanggil setelah kita mendapatkan magnet dekat dengan sensor dan dipicu lagi setelah kita melepaskannya. Dengan cara ini, LED menyala saat kita memegang magnet dekat dengan sensor.

Jika kita sekarang mengubah mode ke RISING, fungsi kedip hanya akan dipicu setelah tepi naik sinyal terlihat pada pin interupsi. Sekarang setiap kali kita mendekatkan magnet ke sensor, LED mati atau menyala jadi pada dasarnya kita membuat sakelar magnet.

Mode terakhir yang akan kita coba adalah LOW. Dengan itu, ketika magnet dekat, fungsi kedip akan terus-menerus dipicu dan LED akan berkedip, dengan keadaan terbalik setiap saat. Saat kita melepas magnet, sungguh tidak dapat diprediksi bagaimana keadaan akan berakhir karena ini tergantung pada waktunya. Namun, mode ini sangat berguna jika kita perlu mengetahui berapa lama tombol ditekan karena kita dapat menggunakan fungsi pengaturan waktu untuk menentukannya.

Langkah 4: Tindakan Lebih Lanjut

Tindakan Lebih Lanjut
Tindakan Lebih Lanjut

Interupsi adalah cara sederhana untuk membuat sistem Anda lebih responsif terhadap tugas yang sensitif terhadap waktu. Mereka juga memiliki manfaat tambahan untuk membebaskan `loop()` utama Anda untuk fokus pada beberapa tugas utama dalam sistem. (Saya menemukan bahwa ini cenderung membuat kode saya sedikit lebih teratur ketika saya menggunakannya - lebih mudah untuk melihat untuk apa bagian utama dari kode dirancang, sementara interupsi menangani peristiwa periodik.) Contoh yang ditampilkan di sini adalah yang paling banyak kasus dasar untuk menggunakan interupsi - Anda dapat menggunakannya untuk membaca perangkat I2C, mengirim atau menerima data nirkabel, atau bahkan memulai atau menghentikan motor.

Jika Anda memiliki penggunaan yang menarik dari sensor interupsi atau efek hall maka pastikan untuk memberi tahu saya di komentar, suka dan bagikan Instruksi ini, dan jangan lupa berlangganan saluran YouTube saya untuk tutorial dan proyek yang lebih mengagumkan di masa depan.

Semangat dan terima kasih sudah menonton!

Direkomendasikan: