Wa Koodu

Koodu Arduino lati lo sensọ Hall NJK-5002C

Koodu Arduino lati lo sensọ Hall NJK-5002C

Ìfáàwọ́

Ìtọ́sọ́nà yìí ṣàfihàn bí a ṣe lè kọ́ ètò ìṣàwárí pápá oògùn mágínẹ́tì ní lílo NJK-5002C Hall effect sensor àti Arduino. Iṣẹ́ yìí fi hàn bí a ṣe lè lo mágínẹ́tì láti mú relay ṣiṣẹ́, èyí tí yóò sì ṣàkóso ẹrù AC, bíi ina tàbí afẹ́fẹ́. Èyí jẹ́ ọ̀nà tí ó wúlò àti àìléwu láti fi àmì ìṣàkóso foliteji kékeré ṣiṣẹ́ àwọn ẹ̀rọ tí ń lo AC.

Èrò pàtàkì ni pé Hall sensor ń ṣàwárí wíwà pápá oògùn mágínẹ́tì. Nígbà tí mágínẹ́tì (pàtàkì, South Pole rẹ̀) bá súnmọ́ ẹ̀rọ náà, yóò jáde àmì ìsálẹ̀ (low signal). Arduino yóò ka àmì yìí, yóò sì mú relay module ṣiṣẹ́. Relay ń ṣiṣẹ́ bíi kọ́ńtákà, tí ó ń so tàbí yọ agbára AC kúrò lórí ẹrù rẹ. Ètò yìí jẹ́ ìpìlẹ̀ pàtàkì fún ọ̀pọ̀lọpọ̀ iṣẹ́ ìmúṣẹ̀.

Àwọn èrò iṣẹ́ díẹ̀ tí o lè kọ́ pẹ̀lú ìmọ̀-ẹ̀rọ yìí ni:

  • Ìmúṣẹ Ina Láìṣe Àfọwọ́: Mú ina kí ó tàn nígbà tí ilẹ̀kùn tàbí fèrèsé tí ó ní mágínẹ́tì bá ṣí.
  • Ìtànìlétí Aabo: Mú ìtànìlétí tàbí ina ṣiṣẹ́ nígbà tí kọ́ńtákà mágínẹ́tì bá já.
  • Kíkà Nǹkan Lórí Ìlà Ìṣẹ̀dá: Ka àwọn nǹkan lórí conveyor belt bí wọ́n ṣe ń kọjá lọ níbàmú pẹ̀lú mágínẹ́tì tí a so mọ́ wọn.
  • Ìṣàwárí Ipo: Ṣàwárí ipò apá ẹ̀rọ roboti tàbí ẹ̀yà ẹ̀rọ tí ó ní mágínẹ́tì.
  • Ìdènà Aabo: Gé agbára kúrò lórí ẹ̀rọ nígbà tí a bá ṣí ẹ̀yà ààbò.

Àwọn Ohun Èlò Tí A Nílò

  • Arduino Uno (tàbí bọ́ọ̀dù èyíkéyìí tí ó bá mu)
  • NJK-5002C Hall Effect Sensor
  • Relay Module (5V)
  • Ẹrù AC (bíi ina tàbí afẹ́fẹ́ kékeré)
  • Okun Iná fún Ẹrù AC
  • Àwọn Jumper Wires
  • Mágínẹ́tì (pẹ̀lú South Pole tí a fi àmì sí kedere)

Ìtọ́sọ́nà Ìsopọ̀

Ìsopọ̀ fún iṣẹ́ yìí rọrùn. Sensor àti relay module méjèèjì ni a ń fi agbára bá wọn láti 5V àti GND pins ti Arduino. Àmì láti sensor ni a ń kà lórí digital input pin, relay ni a sì ń ṣàkóso rẹ̀ pẹ̀lú digital output pin.

Èyí ni àlàyé àwọn ìsopọ̀:

  • NJK-5002C Sensor:
    • Okun Brown → Arduino 5V
    • Okun Blue → Arduino GND
    • Okun Black → Arduino Digital Pin 2
  • Relay Module:
    • Pin VCC → Arduino 5V
    • Pin GND → Arduino GND
    • Pin IN (tàbí Signal) → Arduino Digital Pin 8
  • Ẹrù AC:
    • Gé okun iná kan nínú okun iná ẹrù AC rẹ.
    • So òpin kan ti okun tí o gé mọ́ relay's Normally Open (NO) terminal.
    • So òpin kejì ti okun tí o gé mọ́ relay's Common (COM) terminal.

(nínú fídíò ní 05:09) Àwòrán tí ó wà nísàlẹ̀ ṣàlàyé àwọn ìsopọ̀ wọ̀nyí. Kíyèsi pé relay jẹ́ irú low-trigger, èyí tí ó túmọ̀ sí pé ó ń ṣiṣẹ́ nígbà tí a bá fi signal pin sí 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

Àlàyé Kóòdù

Kóòdù Arduino fún iṣẹ́ yìí rọrùn, ó sì ń fojú sí kíkà sensor àti ṣíṣàkóso relay. Àwọn apá pàtàkì ti kóòdù tí o lè ṣètò wà ní ìbẹ̀rẹ̀ sketch.

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

const int wait = 3000;// after switched ON, wait for this amount of time
  • #define sensorPin 2: Èyí ń ṣàlàyé digital pin ti Arduino tí ó sopọ̀ mọ́ okun black ti Hall sensor. O lè yí èyí padà sí èyíkéyìí digital pin tí ó wà.
  • #define relayPin 8: Èyí ń ṣàlàyé digital pin ti Arduino tí ó sopọ̀ mọ́ IN pin lórí relay module. O lè yí èyí padà sí èyíkéyìí digital pin tí ó wà.
  • const int wait = 3000;: Èyí jẹ́ àṣàyàn pàtàkì gan-an. Ó ń ṣètò iye àkókò ní milliseconds tí relay yóò dúró ní ON lẹ́yìn tí a bá ti rí mágínẹ́tì. Nínú fídíò, a ṣètò rẹ̀ sí 3000 ms (ìṣẹ̀jú àáyá mẹ́ta). Bí o bá fẹ́ kí relay pa ní pàtó nígbà tí a bá yọ mágínẹ́tì kúrò, ṣètò èyí sí 0. (nínú fídíò ní 08:15)

Kóòdù náà tún lo delay(300) ní ìparí main loop. Èyí jẹ́ debounce delay láti ṣèdíwọ́ fún yíyí wọ́n-ọn/pa-ọn tí kò ní ìtumọ̀. O lè ṣàtúnṣe iye yìí, ṣùgbọ́n ṣètò 100 ms sí 300 ms sábà tó dára fún iṣẹ́ tí ó dúró ṣinṣin. (nínú fídíò ní 11:03)

Ìṣàfihàn Iṣẹ́ Láàyè

Nínú ìṣàfihàn fídíò, a fi hàn bí ètò náà ṣe ń ṣiṣẹ́ pẹ̀lú ina AC. Nígbà tí a bá mú South Pole ti mágínẹ́tì súnmọ́ sensor, LED ti sensor yóò tàn, Arduino yóò ka àmì LOW, yóò sì mú relay ṣiṣẹ́. Èyí ń so agbára AC pọ̀ mọ́ ina, tí yóò sì mú un tàn. Serial monitor yóò tún tẹ̀ "Sensed" jáde.

(nínú fídíò ní 11:19) Ó ṣe pàtàkì láti kíyèsi pé sensor jẹ́ polarity-sensitive. Yóò ṣiṣẹ́ pẹ̀lú South Pole ti mágínẹ́tì nìkan. North Pole kò ní ṣiṣẹ́. Pẹ̀lúpẹ̀, mágínẹ́tì gbọ́dọ̀ súnmọ́ gan-an, kí ó sì dúró ní ọ̀nà tí ó tọ̀nà pẹ̀lú ojú sensor fún ìṣàwárí tí ó gbẹ́kẹ̀lé. Ìṣàfihàn náà tẹnu mọ́ ọn pé sensor kò ṣiṣẹ́ láti ẹ̀gbẹ́ tàbí ní ọ̀nà jíjìn.

Àwọn Orí Ìpín

  • [00:00] Ìfáàwọ́ àti Àkópọ̀ Iṣẹ́
  • [00:39] Àwọn Ìwọ̀n NJK-5002C Sensor
  • [02:44] Relay Module àti Ìṣètò Ìsopọ̀
  • [05:09] Àwòrán Ìsopọ̀ Kíkún àti Ìsopọ̀ Ẹrù AC
  • [07:55] Àlàyé Kóòdù
  • [11:19] Ìṣàfihàn Láàyè àti Ìdánwò
  • [13:30] Ìparí àti Àwọn Ìmọ̀ràn Ìkẹyìn

Aworan

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
Ede: 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
}

Orisun & itọkasi

Ko si awọn orisun sibẹsibẹ.

Fáìlìs📁

Ko si awọn faili ti o wa.