close-circle
Close
0%
0%

Arduino Back Scratcher Plotter

Digitally Ditch The Itch

Similar projects worth following
close
Digitally Ditch The Itch

Currently embracing a sans-work shop and poverty driven cardboard kick for the gluttony of least-interesting of novelty projects now done solely for critical thinking posterity -- other wise known as boredom.

Unable to reach that nook and/or cranny? Open the Back Scratcher Plotter app on your mobile device and identify the spot where then the X/Y axis is sent via bluetooth to the Arduino Uno affixed to the BSP prototype (analogy for rubbish) which then actuates to your -- you know what? Stop wasting your time sitting there even reading this nonsense and go some where -- like Typhoon Lagoon!

https://vid.me/K3Tx

UPDATE

http://explore.appinventor.mit.edu/teach/coordxplore

Touched(number x, number y, boolean touchedSprite)

http://appinventor.mit.edu/explore/content/basic.html

  • 1 × Arduino Uno
  • 1 × Bluetooth Module
  • 1 × MIT App Inventor
  • 2 × Servo
  • 1 × Cardboard (Ace of Spades)

View all 14 components

  • Back-end Code

    Vije04/29/2017 at 22:01 0 comments

    // Back Scratcher Plotter
    // @VijeMiller
    // TVMiller.com
    
    #include <Servo.h>
    #include <Stepper.h>
    
    // Scratcher
    const int stepsrev = 32;
    Stepper scratch(stepsrev, 2, 4, 3, 5);
    
    // For Bluetooth Data
    String readString, xaxisdata, yaxisdata;
    
    // X Axis
    Servo xaxis;
    // Y Axis
    Servo yaxis;
    
    int xpos = 90;
    int ypos = 90; // Stall
    int stall = 90;
    int yup = 75;
    int ydown = 105;
    int pos = 90;
    
    void setup() {
      Serial.begin(9600);
      // Max(?) Speed
      scratch.setSpeed(800);
      xaxis.attach(6);
      yaxis.attach(7);
      xaxis.write(xpos);
      yaxis.write(ypos);
    }
    
    void loop() {
    
      // Bluetooth Data X-Y Axis String?
      while (Serial.available()) {
        delay(10);
        if (Serial.available() > 0) {
          char c = Serial.read();
          readString += c;
        }
      }
    
      if (readString.length() > 0) {
        // Serial.println(readString);
        // X-Y Axis Combined Sent (ex. 368124)
        // First 3 Digits
        xaxisdata = readString.substring(0, 3);
        // Next 3 Digits
        yaxisdata = readString.substring(4, 6);
    
        // Convert String to Int
        int prexpos = xaxisdata.toInt();
        int preypos = yaxisdata.toInt();
    
        // X-Y Based on 480x800 Phone Dimension & MIT App
        // X 100 to 350 High 170 to 320 Low
        // Y 220 to 560
        // Map X to xPos (Actual)
        xpos = map(prexpos, 100, 350, 120, 60);
        // Map Y to yPos (Delay)
        ypos = map(preypos, 220, 560, 0, 6300);
    
      }
    
      // Final Routine
      if (readString.length() > 0) {
        if (xpos > 90) {
          for (pos = 90; pos <= xpos; pos += 1) {
            xaxis.write(pos);
            delay(40);
          }
        }
        else if (xpos < 90) {
          for (pos = 90; pos >= xpos; pos -= 1) {
            xaxis.write(pos);
            delay(40);
          }
        }
        yaxis.write(yup);
        delay(ypos);
        yaxis.write(stall);
        // Scratch 2048 Steps = 1 Revolution (2 Up/Down)
        // Used Stepper bcz Spare Parts -- Sigh!
        // 2048 x 7 Seconds = 14336 Steps
        scratch.step(14336);
    
        // Return to Start
        if (xpos > 90) {
          for (pos = xpos; pos >= xpos; pos -= 1) {
            xaxis.write(pos);
            delay(40);
          }
        }
        else if (xpos < 90) {
          for (pos = xpos; pos <= xpos; pos += 1) {
            xaxis.write(pos);
            delay(40);
          }
        }
        yaxis.write(ydown);
        delay(ypos);
        yaxis.write(stall);
      }
    
      // Reset
      readString = "";
    }
    

  • Cardboard Scoliosis

    Vije04/29/2017 at 21:57 0 comments

  • Board? I Barely Got Started.

    Vije04/27/2017 at 22:48 0 comments

View all 3 project logs

Enjoy this project?

Share

Discussions

Dr. Cockroach wrote 05/04/2017 at 07:59 point

Isn't cardboard wonderful ? Glad to see we are not alone :-) Neat project :-)

  Are you sure? yes | no

Vije wrote 05/04/2017 at 18:39 point

Thx. Never bored with cardboard now that I no longer need hordes of boards cut and littered on the floor any more uh...score.

  Are you sure? yes | no

Morning.Star wrote 05/03/2017 at 23:29 point

Its a cardboard art revolution - or rather an oscillation lol. Outstanding!

Love the video XD

  Are you sure? yes | no

Vije wrote 05/04/2017 at 01:02 point

Thx. Makin' due with my poor and huddled MCUs, yearning to bleep free -- have recently found cardboard much more agreeable for "prototyping" than anticipated -- not that I wouldn't punch a honey badger square in the jaw for a CNC and 3D printer.

  Are you sure? yes | no

Morning.Star wrote 05/04/2017 at 06:29 point

I used to think like that, but spending a protracted time huddled
with nothing but a processor for company forced me to think otherwise. I
cant take the credit for the discovery tho, that would be @Dr. Cockroach, whose desire to bleep drove him to skip-dive for it. Kudos!

Necessity being a *mother*board I followed suit, and to be honest, I'm wondering
why I even embarked upon my mill (and indeed am wondering if its worth trying to obtain some of that highly nutritional industrial cardboard for it...) because I so rarely need it. Your mechanisms are also easily up to the task of machining plywood, to replace itself with when it fails.

It's become almost a core philosophy as a result, worth exploring, worth sharing; Nothing lasts more than five minutes these days anyway, and if it cant be done in cardboard you'll need a Secret Laboratory.

Where's that honey-badger... XD

  Are you sure? yes | no

Vije wrote 05/04/2017 at 18:37 point

Since I can't reply to the reply here, is a reply to the reply -- c'mon, @hackadayio! Had access to a CNC for a short time and agreed, working from scratch ends up being a back and forth -- and I have neither the patience or tolerance or patience or tolerance or -- besides I trash every project after proof of concept bcz I ain't got no time for that (that being what ever) 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

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