├── README.md ├── split flap ├── split-flap_case.stl ├── split-flap_flap.stl ├── split-flap_cover.stl ├── split-flap_spool_bot.stl └── split-flap_spool_top.stl └── split_flap └── split_flap.ino /README.md: -------------------------------------------------------------------------------- 1 | # Split-Flap_Display 2 | Files for split flap display 3 | -------------------------------------------------------------------------------- /split flap/split-flap_case.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AudasWasTaken/Split-Flap_Display/HEAD/split flap/split-flap_case.stl -------------------------------------------------------------------------------- /split flap/split-flap_flap.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AudasWasTaken/Split-Flap_Display/HEAD/split flap/split-flap_flap.stl -------------------------------------------------------------------------------- /split flap/split-flap_cover.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AudasWasTaken/Split-Flap_Display/HEAD/split flap/split-flap_cover.stl -------------------------------------------------------------------------------- /split flap/split-flap_spool_bot.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AudasWasTaken/Split-Flap_Display/HEAD/split flap/split-flap_spool_bot.stl -------------------------------------------------------------------------------- /split flap/split-flap_spool_top.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AudasWasTaken/Split-Flap_Display/HEAD/split flap/split-flap_spool_top.stl -------------------------------------------------------------------------------- /split_flap/split_flap.ino: -------------------------------------------------------------------------------- 1 | #include 2 | // Motor pin definitions: 3 | #define motorPin1 8 // IN1 on the ULN2003 driver 4 | #define motorPin2 9 // IN2 on the ULN2003 driver 5 | #define motorPin3 10 // IN3 on the ULN2003 driver 6 | #define motorPin4 11 // IN4 on the ULN2003 driver 7 | // Define the AccelStepper interface type; 4 wire motor in half step mode: 8 | #define MotorInterfaceType 4 9 | // Initialize with pin sequence IN1-IN3-IN2-IN4 for using the AccelStepper library with 28BYJ-48 stepper motor: 10 | AccelStepper stepper = AccelStepper(MotorInterfaceType, motorPin1, motorPin3, motorPin2, motorPin4); 11 | 12 | int SENSOR = 7 ; // define the Hall magnetic sensor interface 13 | int val, starting, lastpos = 0, degfix = 0 ; // define numeric variables val 14 | int moveto (); 15 | 16 | void setup () 17 | { 18 | pinMode (SENSOR, INPUT) ; // define the Hall magnetic sensor line as input 19 | // Set the maximum steps per second: 20 | stepper.setMaxSpeed(1000); 21 | val = digitalRead (SENSOR) ; // read sensor line 22 | while (val == HIGH) 23 | { 24 | stepper.move(-1); 25 | stepper.setSpeed(-500); 26 | val = digitalRead (SENSOR) ; // read sensor line 27 | stepper.runToPosition(); 28 | } 29 | if (val == LOW) 30 | { 31 | //moveto(70, 500, 1000); 32 | //delay(1000); 33 | stepper.setCurrentPosition(0); 34 | delay(1000); 35 | } 36 | Serial.begin(9600); 37 | 38 | } 39 | 40 | void loop () 41 | { 42 | /* 43 | * A = 170 degrees 44 | * 0 = 70 degrees 45 | */ 46 | 47 | /* 48 | * A | B | C | D | E | F | G | H | I | J | K | L | M | 49 | * 170 180 190 200 210 220 230 240 250 260 270 280 290 50 | * N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 51 | * 300 310 320 330 340 350 0 10 20 30 40 50 60 52 | * 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 53 | * 70 80 90 100 110 120 130 140 150 160 54 | */ 55 | 56 | 57 | /*LABAS 58 | moveto(280, 1000, 1000); 59 | moveto(170, 1000, 1000); 60 | moveto(180, 1000, 1000); 61 | moveto(170, 1000, 1000); 62 | moveto(350, 1000, 1000); 63 | */ 64 | //HELLO WORLD 65 | moveto(240, 1000, 1000); 66 | moveto(210, 1000, 1000); 67 | moveto(280, 1000, 1000); 68 | moveto(280, 1000, 1000); 69 | moveto(310, 1000, 2000); 70 | moveto(30, 1000, 1000); 71 | moveto(310, 1000, 1000); 72 | moveto(340, 1000, 1000); 73 | moveto(280, 1000, 1000); 74 | moveto(200, 1000, 2000); 75 | // moveto(0, 1000, 5000); 76 | // moveto(10, 1000, 5000); 77 | // moveto(20, 1000, 5000); 78 | // moveto(30, 1000, 5000); 79 | 80 | val = digitalRead (SENSOR) ; // read sensor line 81 | while (val == HIGH) 82 | { 83 | stepper.move(-1); 84 | stepper.setSpeed(-500); 85 | val = digitalRead (SENSOR) ; // read sensor line 86 | stepper.runToPosition(); 87 | } 88 | if (val == LOW) 89 | { 90 | //moveto(70, 500, 1000); 91 | delay(1000); 92 | stepper.setCurrentPosition(0); 93 | delay(1000); 94 | } 95 | 96 | 97 | } 98 | 99 | int moveto (int deg, int rotspeed, int deltime) 100 | { 101 | degfix = deg - lastpos; 102 | if (degfix < 0) 103 | { 104 | degfix = degfix + 360; 105 | } 106 | lastpos = deg; 107 | if (lastpos >= 360) 108 | { 109 | lastpos = lastpos - 360; 110 | } 111 | Serial.println(degfix); 112 | int pos = map( degfix, 0, 360, 0, 2048); 113 | // Set target position: 114 | stepper.move(-pos); 115 | stepper.setSpeed(-rotspeed); 116 | // Run to position with set speed and acceleration: 117 | stepper.runToPosition(); 118 | delay(deltime); 119 | } 120 | --------------------------------------------------------------------------------