Stap 2: Code
* U moet de toepassing van de Arduino
* Je moet ook de App SensoDuino
Ervan uitgaande dat je de Arduino-toepassing, evenals alles wat anders u nodig in stap een, zult u uw Ardunio verbinden met uw computer en uploaden van de code. (Als je niet weet hoe dat te doen kunt u hier om erachter te komen hoe.)
We gebruikten deze code:
<p>#include <br></p><p>#define START_CMD_CHAR '>' #define END_CMD_CHAR '\n' #define DIV_CMD_CHAR ','</p><p>#define DEBUG 1 // Set to 0 if you don't want serial output of sensor data</p><p>// Create servo objects Servo panServo; Servo tiltServo;</p><p>// starting the motors in the center int tiltVal = 90; int panVal =90; </p><p>// sensoduino values String inText; float value0, value1, value2;</p><p>void setup() {</p><p> // Attach servo objects to Arduino pins panServo.attach(9); tiltServo.attach(10);</p><p> Serial.begin(9600); // The default speed of the HC-05 Bluetooth serial modules Serial.println("\nSensoDuino 0.18 by TechBitar.com (2013).\n"); Serial.println("Android Sensor Type No: "); Serial.println("1- ACCELEROMETER (m/s^2 - X,Y,Z)");</p><p> Serial.println("\n\nNOTE: IGNORE VALUES OF 99.99\n\n"); Serial.flush(); }</p><p>void loop() { Serial.flush(); int inCommand = 0; int sensorType = 0; unsigned long logCount = 0L;</p><p> char getChar = ' '; //read serial</p><p> // wait for incoming data if (Serial.available() < 1) return; // if serial empty, return to loop().</p><p> // parse incoming command start flag getChar = Serial.read(); if (getChar != START_CMD_CHAR) return; // if no command start flag, return to loop().</p><p> // parse incoming pin# and value sensorType = Serial.parseInt(); // read sensor typr logCount = Serial.parseInt(); // read total logged sensor readings value0 = Serial.parseFloat(); // 1st sensor value value1 = Serial.parseFloat(); // 2rd sensor value if exists value2 = Serial.parseFloat(); // 3rd sensor value if exists</p><p> // send sensoduino readings to serial monitor/terminal if (DEBUG) { Serial.print("Sensor type: "); Serial.println(sensorType); Serial.print("Sensor log#: "); Serial.println(logCount); Serial.print("Val[0]: "); Serial.println(value0); Serial.print("Val[1]: "); Serial.println(value1); Serial.print("Val[2]: "); Serial.println(value2); Serial.println("-----------------------"); delay(10); }</p><p>// Set sensor to Accelerometer // sensorType 1 is the Accelerometer sensor</p><p> if (sensorType !=1) return; </p><p> panVal = value0; // value0 = X sensor reading tiltVal = value1; // value1 = Y sensor reading</p><p> tiltVal = map(tiltVal, 10, -10, 0, 179); // Map Accelerometer Y value to tilt servo angle. tiltServo.write(tiltVal); delay(10);</p><p> panVal = map(panVal, -10, 10, 0, 179); // Map Accelerometer X value to pan servo angle. panServo.write(panVal); delay(10); }</p>