Project showcase
Automatic Shirt Folding Machine

Automatic Shirt Folding Machine © GPL3+

Wanted to over-engineer a more efficient way to be lazy. Thus, I made a machine that folds my shirts (mostly) at the push of a button!

  • 6,973 views
  • 3 comments
  • 25 respects

Components and supplies

Necessary tools and machines

09507 01
Soldering iron (generic)
Hy gluegun
Hot glue gun (generic)

Apps and online services

About this project

The device is made from a few pieces of foam board (0.1875inch thickness) cut into four pieces and hinged with packing tape. The timing of the folds can be adjusted inside the code.

I tested the efficiency of using this device vs. my conventional way of folding. The results can be seen in the video below!

Build and Demonstration Video

Code

Motor Control CodeArduino
Adjust the timing of the motors via the "int delaymills_ = ___;" lines.
//define pin name
#define dir 1  // Direction
#define pwrA 2 // Power for Motor A
#define pwrB 4 // Power for Motor B
#define pwrC 7 // Power for Motor C

//constants won't change
const int buttonPin = 8;     // the number of the pushbutton pin

// variables will change
int buttonState = 0;         // variable for reading the pushbutton status
int pwrAState = LOW;
int pwrBState = LOW;
int pwrcState = LOW;
int delaymillsA = 400;
int delaymillsAr = 400;       // Return delay
int delaymillsB = 400;
int delaymillsBr = 400;       // Return delay
int delaymillsC = 500;
int delaymillsCr = 500;       // Return delay
int delaymillsD = 100;

void setup() {
  // initialize the pwr and dir pins as outputs:
  pinMode(pwrA,OUTPUT);
  pinMode(pwrB,OUTPUT);
  pinMode(pwrC,OUTPUT);
  pinMode(dir,OUTPUT);

  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
}
void loop() {
 // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  if (buttonState == HIGH) {
digitalWrite(pwrA,HIGH);
digitalWrite(dir,HIGH);                                          // set DIR pin HIGH or LOW
delay(delaymillsA);
digitalWrite(dir,LOW);                                          // set DIR pin HIGH or LOW
delay(delaymillsAr);
digitalWrite(pwrA,LOW);
delay(delaymillsD);
digitalWrite(pwrB,HIGH);
digitalWrite(dir,HIGH);                                          // set DIR pin HIGH or LOW
delay(delaymillsB);
digitalWrite(dir,LOW);                                          // set DIR pin HIGH or LOW
delay(delaymillsBr);
digitalWrite(pwrB,LOW);
delay(delaymillsD);
digitalWrite(pwrC,HIGH);
digitalWrite(dir,HIGH);                                          // set DIR pin HIGH or LOW
delay(delaymillsC);
digitalWrite(dir,LOW);                                          // set DIR pin HIGH or LOW
delay(delaymillsCr);
digitalWrite(pwrC,LOW);
delay(delaymillsD);
  } else {
    // turn LED off:
    digitalWrite(pwrA, LOW);
    digitalWrite(pwrB, LOW);
    digitalWrite(pwrC, LOW);
  }
}

Custom parts and enclosures

Motor Coupler
3D print STL for 37mm Drive Shaft and .25inch wooden dowel.
Motor Clamp
3D print STL for DC Motor - use zip ties to clamp motor.
Motor Paddle
3D print STL for 37mm Drive Shaft and 0.1875" foam board.

Schematics

Circuit Diagram
Connect wires as shown. You can tie all of the 12V power supplies to the same power rail on the other side of the breadboard.
Circuit diagram nzire0cyzb

Comments

Similar projects you might like

The Drawing Machine

Project showcase by Kramick Saha

  • 17,240 views
  • 6 comments
  • 22 respects

Automatic Watering System

Project tutorial by Manson Hau

  • 21,262 views
  • 11 comments
  • 64 respects

ULTRASONIC LEVITATION Machine Using ARDUINO

Project tutorial by edison science corner

  • 6,854 views
  • 4 comments
  • 15 respects

Washing Machine Timer

Project tutorial by Shahariar

  • 10,243 views
  • 8 comments
  • 14 respects

DIY Universal CNC Machine

Project tutorial by Arduino “having11” Guy

  • 43,134 views
  • 8 comments
  • 98 respects

Automatic Watering System

Project tutorial by PRosenb

  • 40,596 views
  • 28 comments
  • 98 respects
Add projectSign up / Login