I have one wierd LED behaviour. On machine I have few buttons and when one is pressed it should lite a LED and set motor speed.
Thing is that I am using A0-A3 pins and when I cycle trought them every one Works, but when I add it to program it doesn't. It won't even lite it in the loop loop.
I don't understand why since it is working when I make new blank program with just blink LED.
My whole program is here:
const int dirPin = 7;
const int stepperPin = 8;
const int homepolozaj = 2;
const int brzina1 = 3;
const int brzina2 = 4;
const int brzina3 = 5;
const int gore = 13;
const int dole = 6;
const int ms1 = 11;
const int ms2 = 10;
const int ms3 = 9;
byte stanje;
long brzina=100;
void setup() {
pinMode(A0, OUTPUT);
pinMode(A1, OUTPUT);
pinMode(A2, OUTPUT);
pinMode(A3, OUTPUT);
pinMode(ms1, OUTPUT);
pinMode(ms2, OUTPUT);
pinMode(ms3, OUTPUT);
pinMode(dirPin, OUTPUT); //smjer6
pinMode(stepperPin, OUTPUT);
pinMode(homepolozaj, INPUT); // limitswitch - pin 2
digitalWrite(homepolozaj, HIGH); // pali interni pullup
pinMode(brzina1, INPUT); // prva brzina - pin 3
digitalWrite(brzina1, HIGH); // pali interni pullup
pinMode(brzina2, INPUT); // druga brzina - pin 4
digitalWrite(brzina2, HIGH); // pali interni pullup
pinMode(brzina3, INPUT); // treca brzina - pin 5
digitalWrite(brzina3, HIGH); // pali interni pullup
pinMode(gore, INPUT); // start - pin 2
digitalWrite(gore, HIGH); // pali interni pullup
pinMode(dole, INPUT); // start - pin 2
digitalWrite(dole, HIGH); // pali interni pullup
pocetak();
}
void loop() {
tipkovnica();
}
void pocetak () {
digitalWrite(dirPin, LOW );
stanje = digitalRead(homepolozaj);
while (stanje == HIGH)
{
digitalWrite(stepperPin, HIGH);
delayMicroseconds(1000);
digitalWrite(stepperPin, LOW);
delayMicroseconds(1000);
stanje = digitalRead(homepolozaj);
}
}
void tipkovnica () {
if (digitalRead(brzina1) == LOW)
{
brzina=36999;
digitalWrite(ms1, LOW);
digitalWrite(ms2, HIGH);
digitalWrite(ms3, LOW);
digitalWrite(A0, HIGH);
digitalWrite(A1, LOW);
digitalWrite(A2, LOW);
}
else if (digitalRead(brzina2) == LOW)
{
brzina=1000;
digitalWrite(ms1, LOW);
digitalWrite(ms2, HIGH);
digitalWrite(ms3, LOW);
digitalWrite(A0, LOW);
digitalWrite(A1, HIGH);
digitalWrite(A2, LOW);
}
else if (digitalRead(brzina3) == LOW)
{
brzina=10000;
digitalWrite(ms1, LOW);
digitalWrite(ms2, HIGH);
digitalWrite(ms3, LOW);
digitalWrite(A0, LOW);
digitalWrite(A1, LOW);
digitalWrite(A2, HIGH);
}
else if (digitalRead(dole) == LOW)
{
digitalWrite(dirPin, HIGH );
stanje = digitalRead(homepolozaj);
while (stanje == HIGH)
{
digitalWrite(A3, HIGH);
digitalWrite(stepperPin, HIGH);
delayMicroseconds(brzina);
digitalWrite(stepperPin, LOW);
delayMicroseconds(brzina);
stanje = digitalRead(homepolozaj);
}
// digitalWrite(radiled, HIGH);
}
}