Witam
Robię pewien projekt robota sprzątającego i mam pewien problem z kodem.Jest to robot jeżdżący na dwóch kołach+trzecie nieelektroniczne podtrzymujące całością struje arduino uno z motor shieldem l293d do tego mam podpięty czujnik odległości HC-SR04 i tu wszystko działa jak należy ale mam problem bo chciałem dołożyć dwie krańcówki te zwykłe z blaszką podpięte mam je do wyjścia A5 i A4 i nie wiem jak dopisać je do tego kodu co poniżej prosiłbym o pomoc jak to ogarnąć w pisaniu sketchy jestem laikiem. Z góry dziękuje za pomoc.
Robię pewien projekt robota sprzątającego i mam pewien problem z kodem.Jest to robot jeżdżący na dwóch kołach+trzecie nieelektroniczne podtrzymujące całością struje arduino uno z motor shieldem l293d do tego mam podpięty czujnik odległości HC-SR04 i tu wszystko działa jak należy ale mam problem bo chciałem dołożyć dwie krańcówki te zwykłe z blaszką podpięte mam je do wyjścia A5 i A4 i nie wiem jak dopisać je do tego kodu co poniżej prosiłbym o pomoc jak to ogarnąć w pisaniu sketchy jestem laikiem. Z góry dziękuje za pomoc.
Kod:
#include <AFMotor.h>
AF_DCMotor motor1(3); //M3 - motor lewy
AF_DCMotor motor2(2); //M2 - motor prawy
#define echoPin A1 // Echo Pin = Analog Pin A1
#define trigPin 9 // Trigger Pin = Digital Pin 9 - Servo 2
#define LEDPin 13 // Onboard LED
long duration; // Duration used to calculate distance
long HR_dist=0; // Calculated Distance
int minimumRange=5; //Minimum Sonar range
int maximumRange=200; //Maximum Sonar Range
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LEDPin, OUTPUT); // Use LED indicator (if required)
motor1.setSpeed(250);//prędkość silnika lewego
motor1.run(FORWARD);//silnik lewy domyślnie do przodu
motor2.setSpeed(255);//prędkość silnika prawego
motor2.run(FORWARD);//silnik prawy domyślnie do przodu
}
void loop() {
motor1.run(FORWARD); //silnik lewy M3 do przodu
motor2.run(FORWARD);//silnik prawy M2 do przodu
getDistance();{
}
}
void getDistance(){
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
HR_dist = duration/58.2;
if (HR_dist >= maximumRange || HR_dist <= minimumRange){
Serial.println("0");
digitalWrite(LEDPin, HIGH);
} else {
Serial.println(HR_dist);
digitalWrite(LEDPin, LOW);
if (HR_dist <=30 ){//jeżeli robot jest w odległości od przeszkody <=30
motor1.run(RELEASE);//silnik lewy bieg jałowy
motor2.run(RELEASE);//silnik prawy bieg jałowy
delay (500);//przez pół sekundy
motor1.run(BACKWARD);//silnik lewy do tyłu
motor2.run(BACKWARD);//silnik prawy do tyłu
delay (700);//przez 0,7 sekundy
motor1.run(RELEASE);// silnik lewy bieg jałowy
motor2.run(RELEASE);// silnik prawy bieg jałowy
delay(500); //przez pół sekundy
motor1.run(FORWARD);//silnik lewy do przodu |robot skręca w prawo
motor2.run(RELEASE);//silnik prawy bieg jałowy |
delay (500);//przez pół sekundy
}
}
}