#include <AccelStepper.h>
int DIR_pin = 2 ;
int STEP_pin = 3 ;
int TRIGGER_PIN = 27;
int ECHO_PIN = 26;
void setup() {
// Serial1.begin(115200);
// Serial1.println("Hello, Raspberry Pi Pico!");
pinMode(TRIGGER_PIN, OUTPUT);
pinMode(DIR_pin, OUTPUT);
pinMode(STEP_pin, OUTPUT);
pinMode(ECHO_PIN, INPUT);
digitalWrite(STEP_pin, LOW);
pinMode(18, OUTPUT);
pinMode(19, OUTPUT);
pinMode(20, OUTPUT);
pinMode(21, OUTPUT);
}
void loop() {
digitalWrite(TRIGGER_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH);
float distance = duration * 0.034 / 2;
if ( distance > 0 && distance <100 ){
digitalWrite(DIR_pin, HIGH);
for(int cw = 0 ; cw < 200 ; cw++ ){
digitalWrite(STEP_pin, HIGH);
digitalWrite(STEP_pin, LOW);
delay(10);
}
digitalWrite(18 , HIGH);
digitalWrite(19 , LOW);
digitalWrite(20 , LOW);
digitalWrite(21 , LOW);
}
else if( distance > 100 && distance <200){
digitalWrite(DIR_pin, HIGH);
for(int cw = 0 ; cw < 200 ; cw++ ){
digitalWrite(STEP_pin, HIGH);
digitalWrite(STEP_pin, LOW);
delay(5);
}
digitalWrite(18 , LOW);
digitalWrite(19 , HIGH);
digitalWrite(20 , LOW);
digitalWrite(21 , LOW);
}
else if( distance > 200 && distance <300){
digitalWrite(DIR_pin, LOW);
for(int cw = 0 ; cw < 200 ; cw++ ){
digitalWrite(STEP_pin, HIGH);
digitalWrite(STEP_pin, LOW);
delay(10);
}
digitalWrite(18 , LOW);
digitalWrite(19 , LOW);
digitalWrite(20 , HIGH);
digitalWrite(21 , LOW);
}
else if( distance > 300 && distance <400){
digitalWrite(DIR_pin, LOW);
for(int cw = 0 ; cw < 200 ; cw++ ){
digitalWrite(STEP_pin, HIGH);
digitalWrite(STEP_pin, LOW);
delay(5);
}
digitalWrite(18 , LOW);
digitalWrite(19 , LOW);
digitalWrite(20 , LOW);
digitalWrite(21 , HIGH);
}
else{
// print("non");
}
}