Mål: att kunna styra positionen hos en servo genom att luta telefonen fram och tillbaka.
Koppling: Om servon är liten kan Arduinon klara av strömförsörjningen via datorns USB-port. Annars kan det löna sig att koppla ett 9V batteri till Arduinon eller använda en helt egen strömkälla till servons +5V (röd kabel) och GND (svart/brun).
Teori: Telefonen har en inbyggd accelerometer som läser förändringar i x,y och z planet. Om du lutar telefonen åt olika håll så kommer värden att ligga mellan -10 och 10 (har att göra med tyngdkraften). Dessa värden skalas om till ett intervall mellan 0 -180 som i sin tur styr servons position.
Fritzing kopplingsschema
Arduino kod
#define CUSTOM_SETTINGS #define INCLUDE_ACCELEROMETER_SENSOR_SHIELD #include <OneSheeld.h> #include <Servo.h> Servo myservo; void setup() { OneSheeld.begin(); myservo.attach(10); } void loop() { int value = AccelerometerSensor.getX(); int x = map(value, -10, 10, 0, 180); myservo.write(x); }