Arduino -Bresenham - similar but different from previous thread September 14, 2010 07:08PM |
Registered: 13 years ago Posts: 3 |
for (int i=0; i<484; i++) { digitalWrite(dir3, HIGH); digitalWrite(pul3, LOW); delayMicroseconds(s); digitalWrite(pul3, HIGH); delayMicroseconds(s); if(i != 93) { digitalWrite(dir1, HIGH); digitalWrite(pul1, LOW); delayMicroseconds(s); digitalWrite(pul1, HIGH); delayMicroseconds(s); } }
Re: Arduino -Bresenham - similar but different from previous thread September 15, 2010 04:13AM |
Admin Registered: 16 years ago Posts: 13,895 |
Re: Arduino -Bresenham - similar but different from previous thread September 15, 2010 07:24PM |
Registered: 13 years ago Posts: 3 |
//motor pins defined int pul1 = 3; int dir1 = 4; int pul2 = 5; int dir2 = 6; int pul3 = 7; int dir3 = 8; int penD = 9; int myFramesA [2000]; int myFramesA [2000]; //limitswitch variables and pins defined int limit1; int switchpin1 = 11; int limit2; int switchpin2 = 12; int start = 0; int start2 = 0; int s = 1700; int counter = 0; //Functions------------------------------------------------------------------------------- void motorMoving1 (int d1, int p1) { if (d1 == 0) { digitalWrite(dir1, HIGH); } else if (d1 == 1) { digitalWrite(dir1, LOW); } if (p1 == 1) { digitalWrite(pul1, LOW); delayMicroseconds(s); digitalWrite(pul1, HIGH); delayMicroseconds(s); } } //------------------------------------------------------------------------------- void motorMoving2 (int d2, int p2) { if (d2 == 0) { digitalWrite(dir2, HIGH); } else if (d2 == 1) { digitalWrite(dir2, LOW); } if (p2 == 1) { digitalWrite(pul2, LOW); delayMicroseconds(s); digitalWrite(pul2, HIGH); delayMicroseconds(s); } } //------------------------------------------------------------------------------- void motorMoving3 (int d3, int p3) { if (d3 == 0) { digitalWrite(dir3, HIGH); } else if (d3 == 1) { digitalWrite(dir3, LOW); } if (p3 == 1) { digitalWrite(pul3, LOW); delayMicroseconds(s); digitalWrite(pul3, HIGH); delayMicroseconds(s); } } //------------------------------------------------------------------------------- void motorStartPosi() { limit1 = digitalRead(switchpin1); limit2 = digitalRead(switchpin2); digitalWrite(dir1, LOW); digitalWrite(dir2, HIGH); //Serial.println(limit1); if(limit1 == 0) { digitalWrite(pul1, LOW); delayMicroseconds(250); digitalWrite(pul1, HIGH); delayMicroseconds(250); } else { //Serial.println("bingo"); start = 1; delayMicroseconds(1000); } if(limit2 == 0) { digitalWrite(pul2, LOW); delayMicroseconds(250); digitalWrite(pul2, HIGH); delayMicroseconds(250); } else { //Serial.println("bingo2"); start2 = 1; } } //------------------------------------------------------------------------------- void setup() { //motor pins setup pinMode(pul1, OUTPUT); pinMode(dir1, OUTPUT); pinMode(pul2, OUTPUT); pinMode(dir2, OUTPUT); pinMode(pul3, OUTPUT); pinMode(dir3, OUTPUT); pinMode(penD, OUTPUT); digitalWrite(pul1, HIGH); digitalWrite(dir1, HIGH); digitalWrite(pul2, HIGH); digitalWrite(dir2, LOW); digitalWrite(pul3, HIGH); digitalWrite(dir3, LOW); digitalWrite(penD, LOW); pinMode(switchpin1, INPUT); pinMode(switchpin2, INPUT); } //------------------------------------------------------------------------------- void loop() { delay(5000); //GET TO THE 0,0, POSITION if(start == 0 || start2 == 0) { motorStartPosi(); } motorMoving1(0,1); motorMoving2(0,1); motorMoving3(0,1); counter++; if(counter == motorAMaxforThisStep) { if(counter == motorBMaxforThisStep) { if(counter == motorCMaxforThisStep) { motorMoving3(0,0); } motorMoving2(0,0); } motorMoving1(0,0); } counter = 0; }
Re: Arduino -Bresenham - similar but different from previous thread September 15, 2010 08:13PM |
Registered: 13 years ago Posts: 3 |
Re: Arduino -Bresenham - similar but different from previous thread September 15, 2010 09:10PM |
Admin Registered: 17 years ago Posts: 1,791 |
Re: Arduino -Bresenham - similar but different from previous thread September 16, 2010 04:30AM |
Admin Registered: 16 years ago Posts: 13,895 |