Stap 4: Arduino Sketch
De code is zo eenvoudig zoals hieronder getoond. Eigenlijk, zelfs een die nieuw is in met behulp van Arduino kunt krijgen.
Alles wat die we hebben te verklaren de pinnen voor 4 PWM voor elke servo en wijst u de waarde van de sensor van (0-180), die de hele regio de servo kunt draaien.
#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)); }