Paso 4: Sketch de Arduino
Como se muestra a continuación el código es tan simple. En realidad, incluso uno que es nuevo en el uso de Arduino puede conseguirlo.
Que tenemos que declarar las clavijas para 4 PWM para cada servo y luego asignar el valor del sensor de (0 a 180) que son de toda la región el servo pueden girar.
#include <OneSheeld.h> #include <Servo.h> Servo myservo1; Servo myservo2; Servo myservo3; Servo myservo4; void setup() { OneSheeld.begin(); myservo1.attach(3); myservo1.write(90); myservo2.attach(5); myservo2.write(0); myservo3.attach(6); myservo3.write(180); myservo4.attach(9); myservo4.write(15); } void loop() { if (ToggleButton.getStatus ()) myservo2.write(120); else myservo2.write(0); if(OrientationSensor.getZ()>0 && abs(OrientationSensor.getZ())<= 83 && GravitySensor.getZ() > 0) myservo1.write(map(OrientationSensor.getZ(),0,90,90,0)); if(OrientationSensor.getZ()<0&& abs(OrientationSensor.getZ()) <= 83&& GravitySensor.getZ() > 0) myservo1.write(map(abs(OrientationSensor.getZ()),90,0,180,90)); if(OrientationSensor.getY() < 0 && OrientationSensor.getY() >= -90 && abs(GravitySensor.getZ()) >= 2.5) myservo4.write(map(abs(OrientationSensor.getY()),0,90,15,105)); if(OrientationSensor.getY() > 0 && OrientationSensor.getY() <= 50 && abs(GravitySensor.getZ()) >= 2.5) myservo4.write(map(abs(OrientationSensor.getY()),0,50,15,0)); if(OrientationSensor.getX() > 0 && OrientationSensor.getX() <= 180 && abs(GravitySensor.getZ()) >= 2.5) myservo3.write(map(abs(OrientationSensor.getX()),0,180,180,0)); }