From 086b3ac97243877fb097a477f04d244d0808c2c6 Mon Sep 17 00:00:00 2001 From: Peter de Kok Date: Wed, 13 May 2015 17:01:24 +0200 Subject: Initial version of Arduino code --- Venus_Skeleton/Venus_Skeleton.ino | 133 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 Venus_Skeleton/Venus_Skeleton.ino diff --git a/Venus_Skeleton/Venus_Skeleton.ino b/Venus_Skeleton/Venus_Skeleton.ino new file mode 100644 index 0000000..f985271 --- /dev/null +++ b/Venus_Skeleton/Venus_Skeleton.ino @@ -0,0 +1,133 @@ +// ***************** +// ** DEFINITIONS ** +// ***************** + +// Pin configuration +#define pinSensCompass +#define pinSensObstacleTurret +#define pinSensIRLeft +#define pinSensIRRight +#define pinSensSampleTurret +#define pinSensSampleGripper +#define pinSensBeaconTurret +#define pinSensLab + +// Location values +int currValRobotX; +int currValRobotY; + +// Sensor values +int currValSensCompass; +int currValSensObstacleTurret; +int currValServoTurret; + +// Actuator values +int currValTurret; + +// Calibration values +#define calObstacleTurretMaxDist 50 +#define calObstacleTurretMinDist 10 +#define calIRLeftThreshold 2 +#define calIRRightThreshold 2 +#define cal + +// RPi Data type declarations +enum DataType {COMPASS, OBSTACLETURRET, IRLEFT, IRRIGHT, SAMPLETURRET, SAMPLEGRIPPER, BEACONTURRET, LAB}; + + +// ********************** +// ** PI COMMUNICATION ** +// ********************** + +// sendData to Raspberry Pi +void sendData(int method, int data, int data1 = null, int data2 = null) { + +} + + +// ********************** +// ** SENSOR FUNCTIONS ** +// ********************** + +// sensor Compass, orientation +int sensCompass() { + int degree = 359; + sendData(COMPASS, degree); + return degree; +} + +// sensor Ultrasound, distance measurement +int sensObstacleTurret() { + int distance = 100; + int turretAngle = 90; + sendData(OBSTACLETURRET, distance, turretAngle); + return distance; +} + +// sensor IR, line detection +boolean sensIRLeft() { + // Inaccessible terrain. True for inaccessible, false for accessible + boolean inaccessible = false; + if(inaccessible) { + stopMovement(); + sendData(IRLEFT, currValRobotX, currValRobotY, currValSensCompass); + } + return inaccessible; +} +int sensIRRight() { + // Inaccessible terrain. True for inaccessible, false for accessible + boolean inaccessible = false; + if(inaccessible) { + stopMovement(); + sendData(IRRIGHT, currValRobotX, currValRobotY, currValSensCompass); + } + return inaccessible; +} + +// sensor IR, sample detection +int sensSampleTurret() { + boolean sample = false; + if(sample) { + stopAllServos(); + sendData(SAMPLETURRET, currValRobotX, currValRobotY, currValSensCompass, currValTurret); + } +} +int sensSampleGripper() { + boolean sample = false; + if(sample) { + stopAllServos(); + sendData(SAMPLEGRIPPER, currValRobotX, currValRobotY, currValSensCompass); + } +} + +// sensor IR, beacon detection and recognition +int sensBeaconTurret() { + int beacon = 0; + if(beacon) { + // Location + } +} + +// sensor IR, lab detection +int sensLab() { + return 0; +} + +// ************************ +// ** ACTUATOR FUNCTIONS ** +// ************************ + +void stopMovement() { + +} +void stopAllServos() { + +} + +void setup() { + +} + +void loop() { + +} -- cgit v1.2.1