KY-003
Hall magnetic sensor module

ultimo aggiornamento 8 febbraio 2019


 

Indice

Descrizione

Il modulo KY-003 Hall magnetic sensor module fa parte della serie "37 In 1 Sensor Module Board Set Kit For Arduino" si tratta di un sensore Hall , il modulo è molto simile al KY-035 Analog Hall magnetic sensor  ma quest'ultimo ha un'uscita analogica e non digitale.

il modulo KY-003 ha un uscita digitale =N/OFF, in pratica un interruttore magnetico realizzato tramite un sensore ad effetto di Hall, maggiori informazioni possono essere trovate a questa pagina.

Sul modulo è montato un Hall-Sensor-Switch  (tipicamente un 44E) di tipo bipolare, sono inoltre presenti un LED ed una resistenza.
Il LED si accende, quando viene rilevato un campo magnetico. Il polo negativo si trova a sinistra in corrispondenza del pin "-", mentre il polo positivo (5V) corrisponde al pin centrale.  L'uscita si trova in corrispondenza del pin con la sigla "S".

 

homotix

PCBA

OurPCB

 

Testi tratti da Wikipedia:

http://it.wikipedia.org/wiki/Campo_magnetico
http://it.wikipedia.org/wiki/Effetto_Hall

 

Il pin digitale di uscita varia il suo valore in presenza di un campo magnetico. Si avranno due stati logici:

 

 

Gli utilizzi del sensore possono essere:

Il magnetismo

In fisica, in particolare nel magnetismo, il campo magnetico è un campo di forze solenoidale generato nello spazio dal moto di una carica elettrica o da un campo elettrico variabile nel tempo, che insieme al campo elettrico costituisce il campo elettromagnetico.
Se una lampadina è connessa ad una batteria questa si accende. Questo è reso possibile grazie ad un flusso di corrente che attraversa tutto il circuito. Non appena la corrente inizia a circolare nel circuito si forma anche un campo magnetico. La forza del campo magnetico (H) è misurata in Ampere su metro (A/m). La linee di forza del campo magnetico sono concentriche con il filo attraverso il quale fluisce la corrente

Il campo magnetico agisce su un oggetto carico tramite la forza di Lorentz, nel caso di una carica elettrica in movimento, oppure nel momento torcente che agisce su un dipolo magnetico.
L'evoluzione spaziale e temporale del campo magnetico è governata dalle equazioni di Maxwell, un sistema di quattro equazioni differenziali alle derivate parziali lineari che sta alla base della descrizione formale dell'interazione elettromagnetica.
Storicamente gli effetti magnetici vengono scoperti grazie a magneti naturali che, allo stesso tempo, generano un campo magnetico e ne subiscono gli effetti per via delle correnti elettriche su scala atomica.

La scoperta della produzione di campi magnetici da parte di conduttori percorsi da corrente elettrica si deve a Hans Christian Ørsted nel 1820.
Sperimentalmente, la direzione del vettore campo è la direzione indicata dalla posizione d'equilibrio dell'ago di una bussola immersa nel campo, mentre lo strumento per la misura del campo magnetico è il magnetometro.

In fisica l'effetto Hall è la formazione di una differenza di potenziale (potenziale di Hall) sulle facce opposte di un conduttore elettrico dovuta a un campo magnetico perpendicolare alla corrente elettrica che scorre in esso.
L'effetto prende il nome dal fisico Edwin Hall che per primo lo scoprì nel 1879.

Caratteristiche del sensore

Il sensore presente sul modulo può riportare vaie sigle come 44E311, 3144EUA-S oppure 3144LUA-S.

Foto del modulo

Circuito elettrico del modulo

Schema realizzato con EasyEDA: Un servizio per il disegno di circuiti e la loro simulazione, progettazione e produzione di PCB. Provalo è gratuito!

OH44E Sensore magnetico effetto Hall unipolare - Uscita Digitale

Piedinatura Datasheet1 - Datasheet2 Foto dell'integrato

Modulo sensore auto costruito vedere link

 

Schema di collegamento base del modulo con Arduino

Pin Modulo Pin Arduino
- GND
+5V (pin centrale) +5V
S D2

Sketch di prova


test_code_KY-003.ino

 
/*
  test_code_ky-003.ino

  Per ulteriori informazioni vedere
  http://www.adrirobot.it/sensori/37_in_1/KY-003-Hall_magnetic_sensor_module.htm
  
  Sito web https://www.adrirobot.it
  Blog https//it.emcelettronica.com/author/adrirobot
  Pagina Facebook https://www.facebook.com/Adrirobot-318949048122955
  Istagram https://www.instagram.com/adrirobot/
  This example code is in the public domain.
*/

int Led = 13 ; // define LED Interface
int SENSOR = 2 ; // define the Hall magnetic sensor interface
int val ; // define numeric variables val

void setup ()
{
  pinMode (Led, OUTPUT) ;    // define LED as output interface
  pinMode (SENSOR, INPUT) ;  // define the Hall magnetic sensor line as input
}

void loop ()
{
  val = digitalRead (SENSOR) ; // read sensor line
  if (val == LOW) // when the Hall sensor detects a magnetic field, Arduino LED lights up
  {
    digitalWrite (Led, HIGH);
  }
  {
    digitalWrite (Led, LOW);
  }}

Test con Multi Test Shield

Componenti utilizzati

 

Scheda Arduino UNO o equivalente Multi test Shield Display OLED da 0.95"
 
KY-003 Hall magnetic sensor module KY-006 Small passive buzzer module  

Multi test Shield

Il Multi Test Shield è uno shield auto costruito realizzato per testare la serie di sensori contenuti nella confezione "37 in 1 Sensor Module Board Set" compatibile con la scheda Arduino UNO R3 originale e relativi cloni.
Sulla scheda sono disponibili molti connettori che risultano già opportunamente collegati con le porte digitali o analogiche di Arduino.
In realtà, la scheda, oltre ai sensori presenti nel kit "37 in 1 Sensor Module Board Set" permette di testare altri sensori, servo, ecc per un totale di oltre 50 tipi, la presenza di un connettore  bus I2C espande ulteriormente la tipologia di dispositivi che lo shield permette.
Sulla scheda è anche presente un connettore per il collegamento di un piccolo Display OLED da 0.95"risoluzione 96x64 pixel, 65536 Colori, su di esso potranno essere mostrati dei messaggio o i valori misurati dai sensori.

Posizionamento del modulo sullo Shield

Per l'utilizzo occorrerà semplicemente posizionare i moduli nei relativi connettori, Si utilizzano i seguenti connettori:

In questo modo i pin dei relativi moduli risulteranno automaticamente collegati ai relativi pin di Arduino

Schema equivalente

 

 

Programma di test del sensore

Il programma  attenderà che un magnete sia posto nelle vicinanze del sensore, quando rileverà un campo magnetico, il led presente sul sensore si illuminerà, in buzzer emetterà un suono e sul display OLED apparirà una scritta.
Attenzione: il sensore è sensibile all'orientamento del campo magnetico, per cui se notate che il sensore non rileva il magnete, provate a ruotarlo.


shield_test_code_KY-003.ino

/*####################################################################
  FILE: shield_test-code_KY-003.ino
  VERSION: 1.0
  Descrizione: Programma per test modulo
  sonar HC-SR04 montato su Multitest shield
  connettore JP16.

  Creato il 8/2/2019 da Adriano Gandolfo
  Sito web https://www.adrirobot.it
  Blog http://it.emcelettronica.com/author/adrirobot
  Pagina Facebook https://www.facebook.com/Adrirobot-318949048122955
  Istagram https://www.instagram.com/adrirobot/
  This example code is in the public domain.
  #################################################################### */

// Definizione dei pin di collegamento
#define sclk 13
#define mosi 11
#define cs   10
#define rst  9
#define dc   8

//Definizione pin a cui è collegato il sensore
#define sensore 2 //Pin collegamento sensore KY-003 
#define buzzer 4  //Pin collegamento buzzer KY-006
int val ; // define numeric variables val

long duration, distance; // variabile utilizzata per calcolare la distanza

// Definizione dei colori
#define BLACK           0x0000
#define BLUE            0x001F
#define RED             0xF800
#define GREEN           0x07E0
#define CYAN            0x07FF
#define MAGENTA         0xF81F
#define YELLOW          0xFFE0
#define WHITE           0xFFFF

#include <Adafruit_GFX.h>
#include <Adafruit_SSD1331.h>
#include <SPI.h>

Adafruit_SSD1331 display = Adafruit_SSD1331(cs, dc, rst);

void setup()   {
  Serial.begin(9600);
  display.begin();
  pinMode(buzzer, OUTPUT);
  pinMode(sensore, INPUT);

  // Messaggio iniziale
  display.fillScreen(BLACK);
  display.setTextSize(1);
  display.setTextColor(BLUE);
  display.setRotation(2); //Ruota display
  display.setCursor(0, 0);
  display.println("www.adrirobot.it");
  display.println("");
  display.setTextColor(GREEN);
  display.println("Multitest shield");
  display.println("");
  display.println("    TEST FOR   ");
  display.println("     KY-003    ");
  display.println(" Hall magnetic ");
  display.println(" sensor module ");
  delay(2000);
  display.fillScreen(BLACK);
  display.setTextColor(WHITE);
  display.setCursor(0, 0);
  display.print("Campo magnetico");
  delay (200);
}

void loop()
{
  val = digitalRead (sensore) ; // lettura sensore
  if (val == LOW) // quando il sensore Hall rileva un campo magnetico, il buzzer emette un suono
  {
    display.setCursor(0, 10);
    display.setTextColor(RED);
    display.print("RILEVATO");

    delay (200);
    tone(buzzer, 500);   //suona una nota alla frequenza di 1000Hz
    delay (500);        // Attende 1/2 secondo
  }
  {
    display.fillRect(0, 10, 96, 15, BLACK);
    delay (200);
    noTone(buzzer);      //Arresta l'emisisone della nota
  }
}

 

Elenco revisioni:

08/02/2018

Aggiornato pagina, inserito test con Multi test shield

18/03/2018

Emissione preliminare
Private Policy Cookie Policy Termini e Condizioni