Close
0%
0%

Mobile Coeur d'Alene Floating 14th Hole

Yardage Selective Miniature Famous Floating 14th For Us Poor Schlubs

Similar projects worth following
Yardage Selective Miniature Famous Floating 14th For Us Poor Schlubs

The elite Coeur d'Alene Resort is an exquisite luxurious encounter nestled on a lake in Idaho. I live in a shack; thus the odds of entertaining such a blessed experience are currently, null. In an attempt to bring this hedonistic wealth home, we have reproduced (maked) golf's now infamous floating 14th.

The scaled golf green sits upon an Arduino Uno and Seeed Studio Relay controlled motor array affixed by a bluetooth that interacts with an Android phone application created in MIT App Inventor to much like the parent object, adjust distance relative to user. Steering is automated to control center by an Arduino Micro and 2 ultrasonic sensors spitting out distance to elevated impediments. It's a glorified chipping mat folks!

It should be noted that TVMiller won the HackADay Golf Tournament by 4 strokes. That's what she said.

http://tvmiller.com/index.php?entry=entry151224-000256

http://www.cdaresort.com/discover/golf

mcdl14_drive_1.ino

Arduino Drive Sketch Version 1 357-075

- 1.24 kB - 12/23/2015 at 02:55

Download

  • 2 × Arduino Uno and Micro Calm Down
  • 1 × Servo Tom
  • 1 × HC-06 BT
  • 2 × DC Motor Sullied from a Copier
  • 2 × Ultrasonic Sensors

View all 13 components

  • How It Ended

    Vije Miller01/14/2016 at 00:42 0 comments


  • 357-075 (Arduino Drive Sketch)

    Vije Miller12/23/2015 at 02:55 0 comments

    // MCDL14 Drive
    // TVMiller
    
    #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);
    }

  • 357-075

    Vije Miller12/23/2015 at 02:36 0 comments

  • Console Comparison

    Vije Miller12/13/2015 at 23:57 0 comments

  • You Guys

    Vije Miller12/13/2015 at 23:55 0 comments

    I love you guys. No, I'm serious, you guys, like, oh my god, you guys are so, I can't even because, you know some times, whoa these cheez its aren't cheez its but are they? How much stain have I been inhaling in this enclosed shop? Wha? No I don't have cheez its I just told you they're not cheez its because wait, oh my god where did these cheez its come from they were like right there a second ago. heh heh, log.

  • 347-075

    Vije Miller12/13/2015 at 23:31 0 comments

    Thanks to Lowes for offering free stir sticks for the last 4 weeks. Sanding and staining now.

  • 342-075

    Vije Miller12/08/2015 at 10:13 0 comments

    Cut me Mick.

  • 341-075

    Vije Miller12/07/2015 at 21:51 0 comments

    Creating some preemptive post while we begin cutting and shaping the island.

    The project was close, so close I could feel him.

  • 317-075

    Vije Miller11/13/2015 at 20:55 0 comments

  • 292 075

    Vije Miller10/19/2015 at 20:30 0 comments

    "Planted" sod because regular growth was damn near impossible *whisper* to not screw up or be patient for *unwhisper*.

    Graphics for the video have been completed and roundly pucker up to HaD

View all 16 project logs

  • 1
    Step 1

    1. Build Platform

  • 2
    Step 2

    2. Display Platform

  • 3
    Step 3

    3. ?

View all 4 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates