Senzor magnetického pole a Arduino

Senzor magnetického pole (v angličtině reed switch) je možné použít v různých projektech jako je senzor otevřených dvěří či okna, u mobilní telefonů atd. V tomto návodu si řekneme něco málo o tomto senzoru magnetického pole a ukážeme si, jak ho propojit s Arduinem.

Reed Switch Interfacing with Arduino

Senzor reed-switch

Senzor magnetického pole je v principu jednoduchý elektrický spínač, který reaguje na blízké magnetické pole. Je vyroben ze dvou malých kovových plátků, které jsou uzavřeny uvnitř skleněné trubičky, v které je vakuum. V běžných reed-switch senzorech jsou plátky z feromagnetického materiálu s vrstvou rhodia nebo rhutenia. A spínač pak reaguje přepnutím při přiblížení se magnetickému poli.

Reed Switch

Výhodou uzavření kovových kontaktů do skleněného pouzdra je pak odolnost proti vnějším vlivům jako je prach a špína, která by normálním spínačům mohla uškodit.
V nabídce se vyskytují dva základní typy senzorů – v základním stavu otevřený či zavřený spínač. Základním stavem je pak myšlena neexistence magnetického pole v okolí.
Pokud tedy použijeme v základním stavu otevřený spínač (nesepnutý), tak po jeho přiblížení se k magnetickému poli se spínač sepne. A u senzoru, který je v základu zavřený (sepnutý), se při přiblížení se magnetickému poli spínač rozepne (otevře).

Seznam komponent

  • Arduino UNO deska
  • Senzor magnetického pole „reed-switch“
  • Rezistory
  • LED dioda
  • Magnet či elektromagnet
  • Propojovací vodiče
  • Nepájivé pole

Schéma zapojení

Arduino Reed Switch Interfacing Circuit Diagram

Díky tomu, že používáme v normálním stavu otevřený spínač, tak jsme ho zapojili společně s rezistorem jak napěťový dělič. Díky tomu máme v otevřeném stavu přivedenou logickou jedničku přes odpor 1K, ale pokud se spínač sepne, tak vytvoří jednodušší cestu na zem (GND) a my naměříme logickou nulu.

Voltgae Divider Circuit using Reed Switch

Ukázkový kód

int LED = 7;
int reed_switch = 4;
int reed_status;

void setup()
{
  pinMode(LED, OUTPUT);
  pinMode(reed_switch, INPUT);
}

void loop()
{
  reed_status = digitalRead(reed_switch);
  if (reed_status == 1)
    digitalWrite(LED, LOW);
  else
    digitalWrite(LED, HIGH);
  delay(1000);
}

Video

Převzato a přeloženo z:
https://circuitdigest.com/microcontroller-projects/arduino-reed-switch-interfacing

Arduino Uno, Mega, Senzory, Moduly za

VÝHODNOU CENU

Luboš