Pith - mobile_coeur_dalene
mobile_coeur_dalene/mobile_coeur_dalene.ino [4.4 kb]
Modified: 22:23:16 56 026 (14 May 026)
73 Days Ago
// MCDL14 Drive
// none
#include "SoftwareSerial.h"
// 6.25 Inch Rotation
// 5.76 Rotations Per Yard
// 1.25 Seconds Per Rotation
// 7.2 Seconds Per Yard
SoftwareSerial btsend(11, 10);
const int alive = 13;
//Forward
const int posfwd = 4;
const int negfwd = 6;
//Backward
const int posbak = 5;
const int negbak = 7;
// Last Position
int pos = 0;
int rot = 0;
char btrec;
// Run Time (Ref.)
int zero = 0;
int forty = 5555;
int fifty = 6944;
int sixty = 8333;
int seventy = 9722;
int eigthy = 11111;
int ninety = 12500;
void setup() {
  Serial.begin(9600);
  btsend.begin(9600);
  pinMode(alive, OUTPUT);
  pinMode(posfwd, OUTPUT);
  pinMode(negfwd, OUTPUT);
  pinMode(posbak, OUTPUT);
  pinMode(negbak, OUTPUT);
}
void loop() {
  // Bluetooth Coms
  while (btsend.available()) {
    btrec = btsend.read();
   
    Serial.println(btrec);
    Serial.println(pos);
    // 40 Yards
    if (btrec == '1') {
      if (pos > forty) {
        rot = pos - forty;
        Serial.println(rot);
        backward();
        delay(rot);
        halt();
        pos = forty;
      }
      else if (pos < forty) {
        rot = forty - pos;
        Serial.println(rot);
        forward();
        delay(rot);
        halt();
        pos = forty;
      }
      else if (pos == forty) {
        halt();
        pos = forty;
      }
    }
    // 50 Yards
    if (btrec == '2') {
      if (pos > fifty) {
        rot = pos - fifty;
        Serial.println(rot);
        backward();
        delay(rot);
        halt();
        pos = fifty;
      }
      else if (pos < fifty) {
        rot = fifty - pos;
        Serial.println(rot);
        forward();
        delay(rot);
        halt();
        pos = fifty;
      }
      else if (pos == fifty) {
        halt();
        pos = fifty;
      }
    }
    // 60 Yards
    if (btrec == '3') {
      if (pos > sixty) {
        rot = pos - sixty;
        Serial.println(rot);
        backward();
        delay(rot);
        halt();
        pos = sixty;
      }
      else if (pos < sixty) {
        rot = sixty - pos;
        Serial.println(rot);
        forward();
        delay(rot);
        halt();
        pos = sixty;
      }
      else if (pos == sixty) {
        halt();
        pos = sixty;
      }
    }
    // 70 Yards
    if (btrec == '4') {
      if (pos > seventy) {
        rot = pos - seventy;
        Serial.println(rot);
        backward();
        delay(rot);
        halt();
        pos = seventy;
      }
      else if (pos < seventy) {
        rot = seventy - pos;
        Serial.println(rot);
        forward();
        delay(rot);
        halt();
        pos = seventy;
      }
      else if (pos == seventy) {
        halt();
        pos = seventy;
      }
    }
    // 80 Yards
    if (btrec == '5') {
      if (pos > eigthy) {
        rot = pos - eigthy;
        Serial.println(rot);
        backward();
        delay(rot);
        halt();
        pos = eigthy;
      }
      else if (pos < eigthy) {
        rot = eigthy - pos;
        Serial.println(rot);
        forward();
        delay(rot);
        halt();
        pos = eigthy;
      }
      else if (pos == eigthy) {
        halt();
        pos = eigthy;
      }
    }
    // 90 Yards
    if (btrec == '6') {
      if (pos > ninety) {
        rot = pos - ninety;
        Serial.println(rot);
        backward();
        delay(rot);
        halt();
        pos = ninety;
      }
      else if (pos < ninety) {
        rot = ninety - pos;
        Serial.println(rot);
        forward();
        delay(rot);
        halt();
        pos = ninety;
      }
      else if (pos == ninety) {
        halt();
        pos = ninety;
      }
    }
    // Home
    if (btrec == '7') {
      if (pos > zero) {
        rot = pos - zero;
        Serial.println(rot);
        backward();
        delay(rot);
        halt();
        pos = zero;
      }
      else if (pos < zero) {
        rot = zero - pos;
        Serial.println(rot);
        forward();
        delay(rot);
        halt();
        pos = zero;
      }
      else if (pos == zero) {
        halt();
        pos = zero;
      }
    }
  }
}
void backward() {
  Serial.println("backward");
  digitalWrite(posbak, HIGH);
  digitalWrite(negbak, HIGH);
  digitalWrite(alive, HIGH);
}
void forward() {
  Serial.println("forward");
  digitalWrite(posfwd, HIGH);
  digitalWrite(negfwd, HIGH);
  digitalWrite(alive, HIGH);
}
void halt() {
  Serial.println("stop");
  digitalWrite(posfwd, LOW);
  digitalWrite(negfwd, LOW);
  digitalWrite(posbak, LOW);
  digitalWrite(negbak, LOW);
  digitalWrite(alive, LOW);
}
Updates
Wedge - Android 126.026
Wedge - Linux 124.026
Shim - Android 117.026
Miter - 114.026
Kerf - Android 112.026
Dev
TVShow (227) 'CSA'
TVShow (228) 'APT'
TVProgram (83) 'BXT'
Miter Update(s)
Peen (Messaging)

Menu
Calendar
Project Tin (024/029)
Miter
RSS Feed
User Avatar
@vgmlr
=SUM(parts)