Don't be mad on me 
i am new in this stuff
i using this code for first machine as you can delayMicroseconds(950);
for second machine i need similar speed with pus buttons.
int LASKE = 1580;
int NOSTA = 1580;
int EkaUros = 1580;
int ToinenUros = 450;
int Valmis = 2038 ; // uvijekdodati 6 na sabranu cifru Ekauros+ToinenUros
void setup()
{
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
}
void loop()
{
digitalWrite(2, LOW);
for(int n = 0; n < LASKE; n++) { // DOLE
digitalWrite(3, HIGH);
delayMicroseconds(900);
digitalWrite(3, LOW);
}
delay(3000);
digitalWrite(2, LOW);
for(int n = 0; n < LASKE; n++) { // CEKAJ
digitalWrite(3, LOW);
digitalWrite(3, LOW);
}
digitalWrite(2, HIGH);
for(int n = 0; n <NOSTA; n++) { // GORE
digitalWrite(3, LOW);
delayMicroseconds(900);
digitalWrite(3, HIGH);
}
delay(3000);
digitalWrite(2, LOW);
for(int n = 0; n < LASKE; n++) { // CEKAJ
digitalWrite(3, LOW);
digitalWrite(3, LOW);
}
//////////////////////////////////////////////////////////////////////////////////
digitalWrite(2, LOW);
for(int n = 0; n < LASKE; n++) { // DOLE
digitalWrite(3, HIGH);
delayMicroseconds(900);
digitalWrite(3, LOW);
}
delay(3000);
digitalWrite(2, LOW);
for(int n = 0; n < LASKE; n++) { // CEKAJ
digitalWrite(3, LOW);
digitalWrite(3, LOW);
}
digitalWrite(2, HIGH);
for(int n = 0; n <NOSTA; n++) { // GORE
digitalWrite(3, LOW);
delayMicroseconds(900);
digitalWrite(3, HIGH);
}
delay(5000);
digitalWrite(2, LOW);
for(int n = 0; n < LASKE; n++) { // CEKAJ
digitalWrite(3, LOW);
digitalWrite(3, LOW);
}
////////////////////////////////////////////////////////////////////////////////
digitalWrite(2, LOW);
for(int n = 0; n < LASKE; n++) { // DOLE
digitalWrite(3, HIGH);
delayMicroseconds(900);
digitalWrite(3, LOW);
}
delay(3000);
digitalWrite(2, LOW);
for(int n = 0; n < LASKE; n++) { // CEKAJ
digitalWrite(3, LOW);
digitalWrite(3, LOW);
}
digitalWrite(2, HIGH);
for(int n = 0; n <NOSTA; n++) { // GORE
digitalWrite(3, LOW);
delayMicroseconds(900);
digitalWrite(3, HIGH);
}
delay(3000);
digitalWrite(2, LOW);
for(int n = 0; n < LASKE; n++) { // CEKAJ
digitalWrite(3, LOW);
digitalWrite(3, LOW);
}
////////////////////////////////////////////////////////////////////////////
digitalWrite(2, LOW);
for(int n = 0; n < EkaUros; n++) { // PRVI UROS DOL
digitalWrite(3, HIGH);
delayMicroseconds(950);
digitalWrite(3, LOW);
}
delay(2500);
digitalWrite(2, LOW);
for(int n = 0; n < LASKE; n++) { // CEKAJ PRVI UROS
digitalWrite(3, LOW);
digitalWrite(3, LOW);
}
digitalWrite(2, LOW);
for(int n = 0; n < ToinenUros; n++) { // DRUGI UROS DOL
digitalWrite(3, HIGH);
delayMicroseconds(950);
digitalWrite(3, LOW);
}
delay(2500);
digitalWrite(2, LOW);
for(int n = 0; n < LASKE; n++) { // CEKAJ DRUGI UROS
digitalWrite(3, LOW);
digitalWrite(3, LOW);
}
///////////////////////////////////////////////////////////////////////////
digitalWrite(2, HIGH);
for(int n = 0; n <Valmis; n++) { // ZAVRSIO
digitalWrite(3, LOW);
delayMicroseconds(950);
digitalWrite(3, HIGH);
}
delay(10000);
digitalWrite(2, LOW);
for(int n = 0; n < LASKE; n++) { // CEKAJ ZA PONAVLJANJE
digitalWrite(3, LOW);
digitalWrite(3, LOW);
}
}