Come usare un motorino a vibrazione con Arduino

Già nel precedente articolo avevo introdotto questi motorini per un progetto wearable. In questo articolo invece spiegherò come farli funzionare le modo corretto.

Nella maggior parte dei casi i motorini che avete acquistato funzionano a 3V, e come tutti sappiamo Arduino, arduino non eroga una quantità di energia così bassa dai pin digitali. Perchè cio accada useremo i MOSFET, una particolare categoria di transistor (link wikipedia), in partcolare il modello 2N7000.

HARDWARE

I collegamenti non sono affatto complicati, sono illustrati in questa foto:


DRAIN --> GROUND MOTORE
GATE --> ARDUINO PWM PIN (in questo caso il 6)
SOURCE --> GROUND ARDUINO
5V --> VCC MOTORE

SOFTWARE

Il software non è molto complicato in questo caso propongo uno sketch che fa vibrare il motore con un intensità che varia dalla massima alla minima. Infatti se collegato ad un multimetro (l' effetto si nota più se collegato ad uno analogico) si vedrà uno sbalzo di segnale da 0 a 5V che si ripete.

Allora il codice è basato sul knob presente nella libreria Servo.


  1. Nel loop dichiariamo la variabile x, che sarà il valore che manderemo al MOSFET
  2. Creaiamo un ciclo for() in cui viene generata una sequenza di numeri da 0 a 255
  3. Con analogWrite mandiamo un segnale al MOSFET
  4. Aggiungiamo un ritardo di 15 millisecondi.
  5. Chiudiamo il ciclo 
  6. Creiamo un altro ciclo uguale a questo, ma la sequenza va da 0 a 255
  7. Volendo si può aggiungere anche una funzione Serial.println() che invia al monitor seriale il valore inviato al MOSFET
L'effetto sarà una crescente vibrazione che decrescerà dopo aver raggiunto il massimo, e si ripeterà.

Spero di essere stato chiaro nei vari passaggi, per domande scrivete nei commenti.

Commenti

Post popolari in questo blog

OctoPi su Anet A8 con Raspberry Pi A+

Prototipo del circuito per Direcity