#include <Servo.h>
#include <Stepper.h>
#define trig 10
#define echo 9
const int stepcount = 400 ;
Stepper myStep(stepcount , 4 , 6, 7, 8);
Servo servo;
void setup() {
Serial.begin (9600);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
myStep.setSpeed(600);
servo.attach(5);
}
int step = 0;
void loop() {
long vaqt, masofa;
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
vaqt = pulseIn(echo, HIGH);
masofa = (vaqt/2) / 29.1;
if (masofa < 10) {
if (step ++ <masofa ){
myStep.step(1);}
Serial.print(masofa);
Serial.println(" cm");
servo.write(0);
delay(100);
}
else if (masofa < 45) {
if (step ++ <masofa ){
myStep.step(1);}
Serial.print(masofa);
Serial.println(" cm");
servo.write(45);
delay(100);
}
else if (masofa<90) {
Serial.print(masofa);
Serial.println(" cm");
servo.write(90);
if (step ++ <masofa ){
myStep.step(1);}
}
else if (masofa<135) {
Serial.print(masofa);
Serial.println(" cm");
servo.write(135);
if (step ++ <masofa ){
myStep.step(1);}
}
else if (masofa<180) {
Serial.print(masofa);
Serial.println(" cm");
servo.write(180);
if (step ++ <masofa ){
myStep.step(1);}
}
else if (masofa<225) {
Serial.print(masofa);
Serial.println(" cm");
servo.write(135);
if (step ++ <masofa ){
myStep.step(1);}
}
else if (masofa<270) {
Serial.print(masofa);
Serial.println(" cm");
servo.write(90);
if (step ++ <masofa ){
myStep.step(1);}
}
else if (masofa <315) {
Serial.print(masofa);
Serial.println(" cm");
servo.write(45);
if (step ++ <masofa ){
myStep.step(1);}
}
else if (masofa <360) {
Serial.print(masofa);
Serial.println(" cm");
servo.write(0);
if (step ++ <masofa ){
myStep.step(1);}
}
else {
if (masofa == 400){
Serial.println("maksimal masofaga chiqdi");
}
else if (masofa <400 ) {
Serial.println("The masofa 360 cm dan ochib ketdi ");
}
}
delay(200);
}