Ср сен 04, 2019 22:15:50
Ср сен 04, 2019 22:31:55
Ср сен 04, 2019 22:32:27
Чт сен 05, 2019 08:49:33
Чт сен 05, 2019 09:47:16
Чт сен 05, 2019 13:23:12
Чт сен 05, 2019 14:12:44
Чт сен 05, 2019 14:34:49
Пт сен 06, 2019 08:35:50
Пт сен 06, 2019 15:04:06
Пт сен 06, 2019 17:10:34
Сб сен 07, 2019 20:09:00
Пн сен 09, 2019 09:45:37
Пн сен 09, 2019 12:37:05
Вт сен 10, 2019 09:27:31
Вт сен 10, 2019 11:05:26
Вт сен 10, 2019 14:03:45
Ср сен 11, 2019 22:07:37
void processPrintBitmap()
{
int fireTime = 1;
for (int l=0; l<134; ++l)
{
for (int p = 0; p<12; ++p) //прогоняем 12 раза каждую строку, тк одновременно можно нагревать только 32 точки - да, это не оптимально...
{
for (int i = 0; i < 48; ++i)
{
for (int j = 7; j > -1; j--)
{
uint8_t pinValue = LOW;
if (i/4==p) //каждый цикл печатаем по 1 четвертой (32 точки)
{
pinValue = bitRead(bitmap[l*48+i], j) != 0 ? HIGH : LOW;
if (pinValue){
StrobeEn = true;
}
}
digitalWrite(DATA_IN, pinValue);
digitalWrite(CLOCK, HIGH);
digitalWrite(CLOCK, LOW);
}
}
digitalWrite(LATCH, LOW);
digitalWrite(LATCH, HIGH);
if (StrobeEn){
digitalWrite(POWER_ENABLE, HIGH); // подаем питание на мотор и головку
digitalWrite(STROBE, HIGH);
delayMicroseconds(800);
digitalWrite(STROBE, LOW);
digitalWrite(POWER_ENABLE, LOW);
}
digitalWrite(DATA_IN, LOW);
}
digitalWrite(POWER_ENABLE, HIGH); // подаем питание на мотор и головку
_steper(); // 1 шаг мотора
delay(1);
_steper(); // 1 шаг мотора
digitalWrite(POWER_ENABLE, LOW);
}
_Standby();
digitalWrite(POWER_ENABLE, LOW);
Serial.println("DONE!");
}
Чт сен 12, 2019 21:05:58
void processPrintBitmap()
{
for (int l=0; l<134; ++l)
{
for (int i = 0; i < 48; ++i)
{
for (int j = 7; j > -1; j--)
{
uint8_t pinValue = LOW;
pinValue = bitRead(bitmap[l*48+i], j) != 0 ? HIGH : LOW;
if (pinValue){
StrobeEn++;
}
digitalWrite(DATA_IN, pinValue);
digitalWrite(CLOCK, HIGH);
digitalWrite(CLOCK, LOW);
}
}
digitalWrite(LATCH, LOW);
digitalWrite(LATCH, HIGH);
if (StrobeEn>0){
digitalWrite(POWER_ENABLE, HIGH); // подаем питание на мотор и головку
digitalWrite(STROBE, HIGH);
delay(2);
_steper();
if (StrobeEn>32){
delay(((FireH-FireL)/100.0*(0.17667*(sq(StrobeEn)/100.0*StrobeEn)))/1000+FireL);
}else{
delay(1);
}
digitalWrite(STROBE, LOW);
digitalWrite(POWER_ENABLE, LOW);
}else{
_steper(); // 1 шаг мотора
delay(1);
}
digitalWrite(DATA_IN, LOW);
digitalWrite(POWER_ENABLE, HIGH); // подаем питание на мотор и головку
_steper(); // 1 шаг мотора
delay(1);
digitalWrite(POWER_ENABLE, LOW);
StrobeEn=0;
}
_Standby();
digitalWrite(POWER_ENABLE, LOW);
}
((FireH-FireL)/100.0*(0.17667*(sq(StrobeEn)/100.0*StrobeEn)))/1000+FireL
Пт сен 13, 2019 10:11:43