Testcodemainy v1.0

Note: View this in edit mode to see actual code.

int mainup = 5;  // Define pins by plugin of hydraulics int maindown = 6; int secin = 10; int secout = 11; // Define pins 5, 6, 10, and 11 according to their hydraulic // function on the CEB press - moving main cylinder up and down, // and moving secondary cylinder in and out. 'In' is defined as // the direction of brick ejection motion out of the machine.

// Define base motion time as 1000 milliseconds. unsigned long time = 1000; // Define scaling factors that determine all motion of cylinders, // based on known cylinder diameters and known motion distances. float factor1 = 1; float factor2 = 1; float factor3 = 1; float factor4 = 1; float factor5 = 1; float factor6 = 1; float factor7 = 1; float factor8 = 1; float factor9 = 1; float factor10 = 1;

// delay function below happens to require unsigned longs

// The setup content between {} runs once only // when the sketch starts.

void setup  { // initialize pins 5, 6, 10, and 11 as outputs: pinMode(mainup, OUTPUT); pinMode(maindown, OUTPUT); pinMode(secin, OUTPUT); pinMode(secout, OUTPUT); // Initialization should involve this series of steps: // 1. a quick drop of the main cylinder (to release pressure on drawer) // 2. motion of secondary cylinder all the way out (to expose any bricks) // 3. motion of main cylinder all the way up (to eject any bricks from hopper) // 4. motion of the secondary cylinder all the way in (to eject any brick from machine) // The result is all bricks cleared from machine - ready to start pressing cycles. digitalWrite(maindown, HIGH);  // start moving main cylinder down delay(time*2);                 // move it 6 seconds digitalWrite(maindown, LOW);   // stop moving digitalWrite(secin, HIGH);     // Start moving secondary cylinder in   delay(time*2);                  // ... digitalWrite(secin, LOW); }

// The loop method runs over and over again, // as long as the Arduino has power.

void loop {  // Order of motion starts with main cylinder down and // secondary cylinder all the way in. // Motion pattern is to: // 1. Move secondary cylinder to pressing position digitalWrite(secout, HIGH);  // start moving delay(time*factor1);                 // for a given duration digitalWrite(secout, LOW);   // and stop moving // 2. Start compression half way up. digitalWrite(mainup, HIGH); delay(time*factor2); digitalWrite(mainup, LOW); // 3.                digitalWrite(secout, HIGH); delay(time); digitalWrite(secout, LOW); }