summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter de Kok <p.j.s.d.kok@gmail.com>2015-05-13 17:01:24 +0200
committerPeter de Kok <p.j.s.d.kok@gmail.com>2015-05-13 17:01:24 +0200
commit086b3ac97243877fb097a477f04d244d0808c2c6 (patch)
tree20401f3e94adff741288652ae7ab533887b50d77
downloadcode-086b3ac97243877fb097a477f04d244d0808c2c6.tar.gz
Initial version of Arduino code
-rw-r--r--Venus_Skeleton/Venus_Skeleton.ino133
1 files changed, 133 insertions, 0 deletions
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() {
+
+}