Cari Kode

Kode Arduino untuk menggunakan sensor Hall NJK-5002C

Kode Arduino untuk menggunakan sensor Hall NJK-5002C

Pendahuluan

Panduan ini menunjukkan cara membangun sistem deteksi medan magnet menggunakan sensor efek Hall NJK-5002C dan Arduino. Proyek ini menunjukkan cara menggunakan magnet untuk memicu relay, yang kemudian mengendalikan beban AC, seperti bola lampu atau kipas angin. Ini adalah cara yang praktis dan aman untuk mengotomatiskan perangkat bertenaga AC menggunakan sinyal kontrol tegangan rendah.

Ide utamanya adalah sensor Hall mendeteksi keberadaan medan magnet. Ketika magnet (khususnya, Kutub Selatannya) mendekati sensor, sensor mengeluarkan sinyal rendah. Arduino membaca sinyal ini dan mengaktifkan modul relay. Relay bertindak sebagai saklar, menghubungkan atau memutuskan daya AC ke beban Anda. Pengaturan ini adalah blok bangunan dasar untuk banyak proyek otomasi.

Berikut adalah beberapa ide proyek praktis yang dapat Anda bangun dengan teknologi ini:

  • Pencahayaan Otomatis: Nyalakan lampu ketika pintu atau jendela dengan magnet dibuka.
  • Alarm Keamanan: Picu alarm atau lampu ketika kontak magnetik terputus.
  • Penghitung Jalur Produksi: Hitung item di ban berjalan saat melewati sensor dengan magnet terpasang.
  • Deteksi Posisi: Deteksi posisi lengan robot atau bagian mesin yang memiliki magnet terpasang.
  • Interlock Keselamatan: Putuskan daya ke mesin ketika pengaman keselamatan dibuka.

Perangkat Keras yang Dibutuhkan

  • Arduino Uno (atau papan yang kompatibel lainnya)
  • Sensor Efek Hall NJK-5002C
  • Modul Relay (5V)
  • Beban AC (misalnya, bola lampu atau kipas kecil)
  • Kabel Daya untuk Beban AC
  • Kabel Jumper
  • Magnet (dengan Kutub Selatan yang ditandai dengan jelas)

Panduan Pengkabelan

Pengkabelan untuk proyek ini cukup sederhana. Sensor dan modul relay keduanya diberi daya dari pin 5V dan GND Arduino. Sinyal dari sensor dibaca pada pin input digital, dan relay dikendalikan oleh pin output digital.

Berikut adalah rincian koneksi:

  • Sensor NJK-5002C:
    • Kabel Coklat → Arduino 5V
    • Kabel Biru → Arduino GND
    • Kabel Hitam → Arduino Pin Digital 2
  • Modul Relay:
    • Pin VCC → Arduino 5V
    • Pin GND → Arduino GND
    • Pin IN (atau Sinyal) → Arduino Pin Digital 8
  • Beban AC:
    • Potong satu kabel dari kabel daya beban AC Anda.
    • Hubungkan salah satu ujung kabel yang dipotong ke terminal Normally Open (NO) relay.
    • Hubungkan ujung lainnya dari kabel yang dipotong ke terminal Common (COM) relay.

(di video pada 05:09) Diagram di bawah ini mengilustrasikan koneksi ini. Perhatikan bahwa relay adalah tipe low-trigger, yang berarti relay aktif ketika pin sinyal diatur ke LOW.

Arduino code to use an NJK-5002C Hall sensor
Arduino code to use NJK-5002C hall sensor — Arduino code to use an NJK-5002C Hall sensor

Penjelasan Kode

Kode Arduino untuk proyek ini sederhana dan berfokus pada membaca sensor dan mengendalikan relay. Bagian kunci dari kode yang dapat Anda konfigurasi berada di bagian atas sketsa.

#define sensorPin  2 // pin 2 
#define relayPin 8 // pin

const int wait = 3000;// setelah dinyalakan, tunggu selama waktu ini
  • #define sensorPin 2: Ini mendefinisikan pin digital Arduino yang terhubung ke kabel hitam sensor Hall. Anda dapat mengubahnya ke pin digital apa pun yang tersedia.
  • #define relayPin 8: Ini mendefinisikan pin digital Arduino yang terhubung ke pin IN pada modul relay. Anda dapat mengubahnya ke pin digital apa pun yang tersedia.
  • const int wait = 3000;: Ini adalah variabel yang sangat penting. Ini mengatur jumlah waktu dalam milidetik bahwa relay akan tetap AKTIF setelah magnet terdeteksi. Dalam video, ini diatur ke 3000 ms (3 detik). Jika Anda ingin relay mati segera ketika magnet dilepas, atur ini ke 0. (di video pada 08:15)

Kode ini juga menggunakan delay(300) di akhir loop utama. Ini adalah penundaan debounce untuk mencegah peralihan on/off yang cepat dan tidak disengaja. Anda dapat menyesuaikan nilai ini, tetapi pengaturan 100 ms hingga 300 ms umumnya baik untuk operasi yang stabil. (di video pada 11:03)

Demonstrasi Proyek Langsung

Dalam demonstrasi video, sistem ditunjukkan bekerja dengan bola lampu AC. Ketika Kutub Selatan magnet didekatkan ke sensor, LED sensor menyala, Arduino membaca sinyal LOW, dan mengaktifkan relay. Ini menghubungkan daya AC ke bola lampu, menyalakannya. Monitor serial juga mencetak "Sensed".

(di video pada 11:19) Sangat penting untuk dicatat bahwa sensor sensitif terhadap polaritas. Sensor hanya akan terpicu dengan Kutub Selatan magnet. Kutub Utara tidak akan terdeteksi. Selain itu, magnet harus sangat dekat dan sejajar dengan benar dengan permukaan sensor untuk deteksi yang andal. Demonstrasi menyoroti bahwa sensor tidak bekerja dari samping atau dari jarak jauh.

Bab

  • [00:00] Pendahuluan dan Gambaran Proyek
  • [00:39] Spesifikasi Sensor NJK-5002C
  • [02:44] Modul Relay dan Pengaturan Pengkabelan
  • [05:09] Diagram Pengkabelan Lengkap dan Koneksi Beban AC
  • [07:55] Penjelasan Kode
  • [11:19] Demonstrasi dan Pengujian Langsung
  • [13:30] Kesimpulan dan Tips Akhir

Gambar

Arduino code to use an NJK-5002C Hall sensor
Arduino code to use NJK-5002C hall sensor
Arduino code to use an NJK-5002C Hall sensor
Arduino code to use NJK-5002C hall sensor
169-Arduino code to use an NJK-5002C Hall sensor
Bahasa: C++
++
/*
 * This is the Arduino code to use NJK-5002C hall sensor to control a DC or AC load.
 * In the video, I have explained that this can be used without Arduino and with Arduino.
 * Watch video instructions on YouTube: https://youtu.be/7RQ8QoJWhpY
 * 
 * 
 * Written by Ahmad Shamshiri for Roboja Video, www.Robojax.com
 * Date: November 10, 2018, Saturday at 09:34 in Ajax, Ontario, Canada
 * Please keep this note with the code.
 * This code is available on Robojax.com
 * 
 * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
 * This code has been downloaded from Robojax.com
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

#define sensorPin  2 // pin 2 
#define relayPin 8 // pin

const int wait = 3000;// after switched ON, wait for this amount of time

void setup() {

  // Robojax.com 20181110 NJK-5002C hall sensor
  pinMode(sensorPin, INPUT_PULLUP);// define pin as input for sensor
  // watch video explaining the INPUT_PULLUP
  //https://robojax.com?vid=robojax-push_botton_resistor
  
  pinMode(relayPin, OUTPUT);// define pin as output

  Serial.begin(9600);// initialize serial monitor with 9600 baud.
}

void loop() {
  // Robojax.com 20181110 NJK-5002C hall sensor
  int sensed = digitalRead(sensorPin);// read pin 2 and put the result in the "sensed" variable
  if(sensed == LOW){
    Serial.println("Sensed");
    digitalWrite(relayPin, LOW);// if sensed turn relay ON
    delay(wait);// keep the relay ON for the "wait" amount of time
  }else{
    digitalWrite(relayPin, HIGH);// else turn the relay OFF
    Serial.println("====");
  }
 delay(300);// delay for 0.3 seconds
  // Robojax.com 20181110 NJK-5002C hall sensor
}

Hal-hal yang mungkin Anda butuhkan

Sumber daya & referensi

Belum ada sumber daya.

Berkas📁

Tidak ada file tersedia.