Il KY-002 Vibration switch module, consente di rilevare il cambiamento dell’orientamento o l’inclinazione del modulo.
Quando il sensore presente rileva la variazione di stato, il modulo invia un segnale al controller.
Questo modulo fa parte della serie “37 In 1 Sensor Module Board Set Kit For Arduino“.
Indice
Schema elettrico del KY-002 Vibration switch module
Lo schema del modulo, realizzato tramite il programma EasyEDA è molto semplice ed è uguale a quello, per esempio, del modulo pulsante KY-004 Key switch module.
Oltre al sensore è presente una resistenza di pull-up che serve per tenere l’ingresso di Arduino ad uno stato logico ben preciso, in questo caso HIGH, quando il sensore si trova col contatto aperto.
Sono presenti moduli KY-002 in cui il sensore presente sulla scheda è il modello SW-520 e altri moduli in cui il sensore è il modello SW-18010P , questi sono spesso indicati come “interruttori tilt” o “rolling sensor Ball“.
Specifiche tecniche del modulo
Tensione di funzionamento: 3.3V ÷ 5V
Uscita di commutazione digitale (0 -1)
Dimensioni: 2,4 x 1,5 x 0,9 cm
Peso: 4g
Sensore SW-18010P
Questo sensore è costituito principalmente da un terminale centrale e un secondo terminale formato da una molla che circonda l’albero centrale.
Quando una forza sufficiente viene trasferita all’interruttore, il morsetto costituito dalla molla si muove facendo si che le due parti si tocchino chiudendo il circuito.
La connessione tra i terminali è momentanea e occorre considerare questa situazione per implementarlo in un progetto. Anche il posizionamento dell’interruttore è importante. In linea generale, l’interruttore dovrebbe essere fisicamente ubicato il più vicino possibile all’area che viene monitorata. In caso contrario, la vibrazione rilevata può essere smorzata da altre componenti strutturali del progetto.
D’altro canto potrebbe esserci la situazione in cui la posizione in cui si trova l’interruttore lo rende troppo sensibile per l’applicazione. In questo caso, occorrerà spostare l’interruttore più lontano dall’area di interesse per renderlo meno sensibile.
Specifiche tecniche del sensore
- Tensione di funzionamento: < 12 V
- Corrente tollerata: < 20 mA
- Tempo di conduzione: 2ms
- Resistenza di contatto (chiuso): < 10 mΩ
- Resistenza di contatto (aperto): > 10 MΩ
- Temperatura operativa: -40 ~ +80°C
- Cicli di vita: 100.000
Sensore SW520
Questo sensore dal contenitore simile a un condensatore è costituito da una sferetta in metallo che chiude i due reofori al variare dell’inclinazione (tra 10° e 170°) e li apre in posizione orizzontale (tra 0° e 10 e tra 170° e 180°).
Specifiche tecniche del sensore
- Corrente massima: 300mA
- Tempo di reazione: circa 2ms
- Resistenza di cortocircuito: <10Ω
- Resistenza a circuito aperto: >10MΩ
- Temperatura di funzionamento: -40°C to 70°C
- Umidità: 95% RH, 40°C for 96 hours
- Temperatura di saldatura: 300° C, 2-2.5 secondi
- Cicli operativi: 100,000
- Dimensioni: 11.5 (lunghezza) x 5 mm (diametro)
Test del modulo
Per il test di modulo useremo come scheda di controllo un Arduino Nano, montata su uno Shield Funduino NANO -008 V3.0 che mette a disposizione tutti i contatti disponibili sulla scheda.
Ad essa collegheremo il KY-002 Vibration switch module, e per evidenziare il suo stato collegheremo un KY-006 Small passive buzzer module, che emetterà un suono a 1000 Hz per un secondo quando il contatto del sensore si chiuderà.
Materiale necessario
![]() Arduino Nano |
![]() Shield per Arduino Nano |
![]() Jumpers Dupont colorati |
|
![]() |
![]() |
Schema di collegamento del modulo ad Arduino
Tabella dei collegamenti
Pin Arduino | Pin Modulo KY-002 | Pin Modulo KY-006 |
---|---|---|
D2 | S | |
D3 | S | |
+5V | Pin centrale | |
GND | GND | GND |
Foto del test
Listato del programma
Il seguente sketch di Arduino rileva l’azionamento del sensore KY-002 e nel caso emette un segnale acustico tramite il modulo KY-006, utilizzando il comando Tone e accende il led presente sulla scheda.
Nel test è utilizzato un Arduino NANO ma è possibile utilizzare anche altri modelli come per esempio un Arduino UNO.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
int Led = 13; // definisce in pin del led int shock = 2; // definisce in pin del sensore int buzzer = 3; // definisce in pin del buzzer int val; // define a numeric variable val void setup () { pinMode (Led, OUTPUT); // Imposta il pin del LED come output pinMode (shock, INPUT); // Imposta il pin del sensore KY-002 come input pinMode (buzzer, OUTPUT); // Imposta il pin del buzzer KY-006 come output } void loop () { val = digitalRead (shock); // Legge il valore dal sensore KY-002 if (val == HIGH ) {// se attivo accende il led e suona digitalWrite(Led, HIGH); tone(buzzer, 1000, 1000); } else { // in caso contrario spegne led e suono digitalWrite (Led, LOW); noTone(buzzer); delay (500); } } |