Vibration motor

From air
Jump to navigation Jump to search

Les moteurs vibrateurs sont utilisées pour les applications haptiques. Ils peuvent être intégrés à un téléphone, casque, gant, ...


Vibration motor + Arduino

Exemple de code pour des tests

 Vibration motor test
 Reads an analog input pin, maps the result to a range from 0 to MAXVIB
 and uses the result to set the pulsewidth modulation (PWM) of an output pin.
 Also prints the results to the serial monitor.
 The circuit:
 * potentiometer connected to analog pin 0.
   Center pin of the potentiometer goes to the analog pin.
   side pins of the potentiometer go to +5V and ground
 * Vibration motor connected from digital pin 3 to ground
 Vibration Motor, sku: ROB-08449
 "With a 2-3.6V operating range, these units shake crazily at 3V"
 from the example "Analog input, analog output, serial output"
 originally created 29 Dec. 2008, Modified 4 Sep 2010 by Tom Igoe
 Modified 23 June 2011 by Didier Donsez 
 This example code is in the public domain.

const int MAXVIB=180; // 180 is 3.6V if Vin is 5V (Arduino Uno)

const int analogInPin = A0;  // Analog input pin that the potentiometer is attached to
const int analogOutPin = 3; // Analog output pin that the vibration motor is attached to

int sensorValue = 0;        // value read from the pot
int outputValue = 0;        // value output to the PWM (analog out)

void setup() {
  // initialize serial communications at 9600 bps:

void loop() {
  // read the analog in value:
  sensorValue = analogRead(analogInPin);            
  // map it to the range of the analog out:
  outputValue = map(sensorValue, 0, 1023, 0, MAXVIB);  
  // change the analog out value:
  analogWrite(analogOutPin, outputValue);           

  // print the results to the serial monitor:
  Serial.print("sensor = " );                       
  Serial.print("\t output = ");      

  // wait 10 milliseconds before the next loop
  // for the analog-to-digital converter to settle
  // after the last reading:

  analogWrite(analogOutPin, 0);