Daftar Isi:
- Langkah 1: Apa itu Sensor Efek Hall?
- Langkah 2: Apa itu Interupsi?
- Langkah 3: Koneksi dan Kode
- Langkah 4: Tindakan Lebih Lanjut
Video: Sensor Efek Aula Arduino Dengan Interupsi: 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
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?
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?
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
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
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:
Tombol STM32CubeMX Debounce Dengan Interupsi: 5 Langkah
Tombol STM32CubeMX Debounce With Interrupt: Hai, dalam tutorial ini saya akan mencoba memberikan solusi sederhana saya untuk mencegah bouncing tombol yang merupakan masalah yang sangat serius. Di internet ada banyak video yang menawarkan solusi untuk masalah ini, tetapi tidak ada video untuk interupsi eksternal. Di semua tombol video ini
Alarm Pintu Menggunakan Sensor Aula Magnetik: 5 Langkah
Alarm Pintu Menggunakan Sensor Aula Magnetik: Alarm pintu adalah perangkat yang sangat umum dan berguna untuk tujuan keamanan. Mereka digunakan untuk mendeteksi apakah Pintu terbuka atau tertutup. Seringkali kita melihat beberapa alarm pintu di lemari es yang menghasilkan suara berbeda saat diaktifkan. Alarm Pintu Pro
Arduino - Interupsi Berkala: 4 Langkah
Arduino - Interupsi Berkala: Instruksi ini adalah tentang penggunaan interupsi periodik untuk pengaturan waktu dalam program Arduino. Ini adalah langkah untuk programmer Arduino pemula yang tahu bahwa Arduino dapat melakukan lebih banyak, tetapi tidak cukup tahu bagaimana mewujudkannya. Jika ada acara pertunjukan
Arduino Tone Generator Tanpa Library atau Fungsi Serial (Dengan Interupsi): 10 Langkah
Arduino Tone Generator Tanpa Fungsi Pustaka atau Serial (Dengan Interupsi): Ini bukan sesuatu yang biasanya saya buat sebagai instruksi, saya lebih suka pekerjaan logam saya, tetapi karena saya seorang mahasiswa teknik elektro dan harus mengambil kelas tentang mikrokontroler ( Desain Sistem Tertanam), saya pikir saya akan membuat instruksi di salah satu p
Kecerahan LED Interupsi Arduino USA: 6 Langkah
Kecerahan LED Interupsi Arduino USA: Dalam proyek ini, kami akan membuat tampilan LED Merah, Putih, dan Biru dengan potensiometer dan tombol tekan. Kedengarannya mudah, tetapi kami juga akan menggunakan interupsi untuk ini. Jadi ketika tombol push ditekan, nilai dari potensiometer akan diatur