Paso 4: Serie controlada silicio electrón divergencia la matriz (también conocido como un arduino)
Software de plotter de laser de Arduino. Creado y mantenido por J Duffy (jduffy54 en instructables). Explicación y proyecto completo
disponible allí.
revisión 11
int stepporty = 0;
int wd = 1;
flotador de ib = 0;
ib1 int = 0;
ib2 int = 0;
ib3 int = 0;
flotador iby = 0;
int iby1 = 0;
int iby2 = 0;
int iby3 = 0;
int val = 30;
int prev8 = 1;
espía de int = 0;
int g = 9;
flotador de maxx = 1;
Float movefract;
decimal de flotador = 0;
Float stepsd = 0;
Float stepsw = 0;
Float stepsdy = 0;
Float stepswy = 0;
Deje que el int = 0;
int xd = 0;
yd int = 0;
int sp = 1;
skp int = 0;
prevx de flotador = 0;
flotador prevy = 0;
flotador distx;
disty flotador;
flotador mx = 1;
flotador de mi = 1;
tt de flotador = 0;
int ir = 0;
flotador del = 3;
Float movedel = 20;
Float printdel = 5;
void setup() {}
Serial.Begin(115200);
TCCR1B & = ~ (1 << CS12);
TCCR1B | = (1 << CS11);
TCCR1B & = ~ (1 << CS10);
/**********************************************************************************/
Establece la resolución pwm en modo 7 (10 bit)
/**********************************************************************************/
TCCR1B & = ~ (1 << WGM13); Poco claro temporizador B 4
TCCR1B | = (1 << WGM12); Establezca el bit 3
TCCR1A | = (1 << WGM11); TIMER A bit set 1
TCCR1A | = (1 << WGM10); Establezca el bit 0
pinMode (13, salida);
pinMode (12, salida);
pinMode (11, salida);
pinMode (8, entrada);
digitalWrite (8, HIGH);
Delay(50);
}
void loop() {}
digitalWrite (12, bajo);
Si (digitalRead(8) == 0) {}
Delay(100);
digitalWrite (11, bajo);
digitalWrite (12, bajo);
digitalWrite (10, bajo);
prev8 = 0;
Loop();
} else {}
Si (prev8 == 0) {}
prev8 = 1;
}
Si (Serial.available() > 0) {}
dejar = Serial.read();
Si (que == 'X') {}
digitalWrite (12, bajo);
xmove();
}
Si (que == 'Y') {}
ymove();
}
Si (que == 'G') {}
UPD();
}
Si (que == 'F') {}
skipline();
}
} else {}
Serial.Print(1);
digitalWrite (12, bajo);
Delay(printdel);
Serial.Print(2);
}
}
POS();
}
void skipline() {}
SKP = Serial.read() - 48;
Si (skp = 1) {}
Delay(200);
}
Loop();
}
void upd() {}
Si (digitalRead(8) == 0) {}
bucle (); / / E-stop, se detiene y vuelve a loop();
}
g = Serial.read() - 48;
Delay(10);
Si (g == 1) {}
digitalWrite (12, HIGH);
} else {}
Si (digitalRead(8) == 0) {}
Loop();
}
digitalWrite (12, bajo);
}
Loop();
}
void xmove() {}
Delay(movedel);
Prevx = ib;
IB = Serial.read() - 48;
Si (ib == -2) {}
decimal = 0.1;
Dyn = 1;
IB = Serial.read() - 48;
}
Delay(movedel);
Si (Serial.available() > 0) {}
IB1 = Serial.read() - 48;
Si (ib1 == -2) {}
decimal = 1;
IB1 = Serial.read() - 48;
}
}
Delay(movedel);
Si (Serial.available() > 0) {}
IB2 = Serial.read() - 48;
Si (ib2 == -2) {}
decimal = 10;
IB2 = Serial.read() - 48;
}
}
Delay(movedel);
Si (Serial.available() > 0) {}
IB3 = Serial.read() - 48;
Si (ib3 == -2) {}
decimal = 100;
IB3 = Serial.read() - 48;
}
}
IB = (ib * decimal) + (ib1 * (decimal / 10)) + (ib2 * (decimal / 100)) + (ib3 * (decimal / 1000));
Loop();
}
void ymove() {}
Si (digitalRead(8) == 0) {}
bucle (); / / E-stop, se detiene y vuelve a loop();
}
Delay(movedel);
prevy = iby;
Iby = Serial.read() - 48;
Si (iby == -2) {}
decimal = 0.1;
Dyn = 1;
Iby = Serial.read() - 48;
}
Delay(movedel);
Si (Serial.available() > 0) {}
iby1 = Serial.read() - 48;
Si (ib1 == -2) {}
decimal = 1;
iby1 = Serial.read() - 48;
}
}
Delay(movedel);
Si (Serial.available() > 0) {}
iby2 = Serial.read() - 48;
Si (iby2 == -2) {}
decimal = 10;
iby2 = Serial.read() - 48;
}
}
Delay(movedel);
Si (Serial.available() > 0) {}
iby3 = Serial.read() - 48;
Si (iby3 == -2) {}
decimal = 100;
iby3 = Serial.read() - 48;
}
}
Iby = (iby * decimal) + (iby1 * (decimal / 10)) + (iby2 * (decimal / 100)) + (iby3 * (decimal / 1000));
IB = int(ib *4);
Iby = int(iby * 4);
ir = 0;
XD = 0;
YD = 0;
MX = abs (ib - distx);
mi = abs (iby - disty);
Maxx = max(mx,my);
mi = mi/maxx;
MX = mx/maxx;
TT = 0;
mientras que (tt < maxx) {}
TT ++;
POS();
}}
{} void pos()
Si (g == 1) {}
digitalWrite (12, HIGH);
}
Si (distx < ib) {}
DistX = distx + mx;
}
Si (distx > ib) {}
DistX = distx - mx;
}
Si (disty < iby) {}
DiSty = disty + mi;
}
Si (disty > iby) {}
DiSty = disty - mi;
}
Delay(del);
analogWrite (10, distx);
analogWrite (9, disty);
}