// // ENCODER MOTOR - HALF STEP - FULL CIRCLE // int mot1 = 8; int mot2 = 9; int led1 = 4; int sen1 = A0; int tip1 = A2; int pw = 11; // power electronic int br = 0; int tip = 0; int steps = 140; void setup() { Serial.begin(9600); pinMode(mot1, OUTPUT); pinMode(mot2, OUTPUT); pinMode(led1, OUTPUT); pinMode(pw, OUTPUT); pinMode(sen1, INPUT); digitalWrite(mot1, LOW); digitalWrite(mot2, LOW); digitalWrite(led1, LOW); digitalWrite(pw, HIGH); } void loop() { if (digitalRead(tip1) == LOW) // START { br = 0; delay(100); // BECAUSE OF DOUBLE READ digitalWrite(led1, HIGH); analogWrite(mot1, 90); // SLOW } if (br < (steps + 1)) { if (digitalRead(sen1) == 1 && tip == 0) { br = br + 1; tip = 1; } else if (digitalRead(sen1) == 0 && tip == 1) { br = br + 1; tip = 0; } } if (br > steps) { digitalWrite(led1, LOW); digitalWrite(mot1, LOW); } }