Arduino

Interruttori reed switch e Arduino (usati per contachilometri e allarmi)

Alessandro Oppo 3 min di lettura

Vediamo come usare un interruttore reed, meglio conosciuti con il temine inglese reed switches. Sono dei minuscoli interruttori che si attivano (e chiudono quindi il circuito) con un campo magnetico nelle vicinanze.

In questo articolo vedremo come collegare gli interruttori reed switch ad Arduino e ad accendere un led.

Vediamo subito un breve video sul funzionamento.

A cosa servono?

Questi interruttori reed sono molto economici e vengono utilizzati in diversi ambiti, i più comuni sono appunto gli allarmi da finestra e i contachilometri per le biciclette.

Nel primo caso l’interruttore reed è collegato ad un circuito dell’antifurto ed è posizionato sullo stipite della finestra, il magnete è invece incollato sul vetro. Se il magnete viene spostato (ad esempio aprendo la finestra), ecco che anche il circuito viene aperto e scatta l’allarme.

Nei contachilometri della bicicletta invece viene posizionato un magnete su uno dei raggi della ruota anteriore mentre sulla forcella un interruttore di tipo reed conta i giri che la ruota compie.

Gli interruttori reed si trovano sia in forma di vetro con due steli metallici alle estremità, sia completamente avvolti in un case plastico (vedere il video), il ché garantisce ovviamente più resistenza.

Se siete dei curiosoni vi rimando alla pagine di Wikipedia.

Necessario:

  • Arduino Uno o simili
  • breadboard
  • interruttore reed
  • resistenza da 10k ohm

I collegamenti.

Il circuito, Arduino, interruttore reed e resistenza
Il circuito, l’interruttore reed è l’ampolla sopra la resistenza

N.B. Potete usare la 5v o la 3.3v indifferentemente.

Lo sketch

Ecco lo sketch da caricare. Passando un magnete vicino all’interruttore reed questo si chiuderà e il nostro Arduino illuminerà il led interno posto in corrispondenza del pin 13.
Vediamo ora, riga per riga, il nostro sketch.

#define reedPin 8
#define led 13

int reedState = 0;

void setup() { pinMode(led, OUTPUT); pinMode(reedPin, INPUT);

Serial.begin(9600); }

void loop() {

reedState = digitalRead(reedPin);

if (reedState == HIGH){ Serial.println(“reed ON”); digitalWrite(led, HIGH); } else{ Serial.println(“reed OFF”); digitalWrite(led, LOW); }

delay(500); }

1 – Definiamo che ogni volta che la parola reedPin equivalga pari pari al numero 8
2 – Facciamo la stessa cosa per la parola led e il numero 13
3 – Dichiariamo una variabile intera di nome reedState e la inizializziamo a zero
8 – Attraverso la funzione pinMode indichiamo che il pin del led sarà un pin di output
9 – Indichiamo che il reedPin sarà invece un pin di input
11 – Metodo dell’oggetto Serial necessario per avviare una comunicazione via seriale
16 – Leggiamo lo stato del reedPin e lo salviamo all’interno della variabile reedState
18 – Se la variabile reedState è HIGH (e quindi l’interruttore reed è attivato) esegui i codice fra le graffe
19 – Stampa a monitor del messaggio reed ON tramite il metodo println dell’oggetto Serial
20 – Accensione del led interno
22 – Se la condizione della riga 18 non è vera allora viene eseguito il codice fra queste graffe
23 – Stampa a monitor del messaggio reed OFF tramite il metodo println dell’oggetto Serial
24 – Spegnimento del led interno
27 – Piccolo ritardo di mezzo secondo tra un ciclo e il successivo

Come al solito spero che anche questo tutorial sia stato d’aiuto a qualcuno, grazie per avermi letto. Rimango a disposizione per domande o chiarimenti.

Grazie,
Alessandro

Leggi anche

Arduino

Minivocabolario: i parametri

In questa breve guida ti spiegherò cosa sono i parametri, in particolar modo applicate alla programmazione del micro controllore Arduino. Parametri Vediamo ora i parametri e per farlo ci lanceremo immediatamente con…