Vous êtes sur la page 1sur 9

#define gulong1 9

#define gulong11 8

#define gulong2 10

#define gulong22 11

#define gulong3 29

#define gulong33 28

#define gulong4 30

#define gulong44 31

#define en1 4

#define en2 5

#define en3 6

#define en4 7

int trigPin1 = 14;

int echoPin1 = 15;

int trigPin2 = 16;

int echoPin2 = 17;

int trigPin3 = 18;

int echoPin3 = 19;

int trigPin4 = 20;

int echoPin4 = 21;

long duration1, distance1;

long duration2, distance2;

long duration3, distance3;

long duration4, distance4;

void setup() {

// put your setup code here, to run once:

Serial.begin(9600);

pinMode(gulong1, OUTPUT);
pinMode(gulong11, OUTPUT);

pinMode(gulong2, OUTPUT);

pinMode(gulong22, OUTPUT);

pinMode(gulong3, OUTPUT);

pinMode(gulong33, OUTPUT);

pinMode(gulong4, OUTPUT);

pinMode(gulong44, OUTPUT);

pinMode(trigPin1, OUTPUT);

pinMode(echoPin1, INPUT);

pinMode(trigPin2, OUTPUT);

pinMode(echoPin2, INPUT);

pinMode(trigPin3, OUTPUT);

pinMode(echoPin3, INPUT);

pinMode(trigPin4, OUTPUT);

pinMode(echoPin4, INPUT);

void loop() {

// put your main code here, to run repeatedly:

rightsensor();

frontsensor();

backsensor();

backward();

if (distance4 >= 5 && distance4 <= 10) {

stop();

delay(1000);

forward();
delay(700);

stop();

delay(1000);

forwardleft();

delay(800);

forward();

delay(1000);

if(distance2<=4){

stop();

delay(1000);

backwardleft();

delay(800);

if (distance1 <= 16) {

stop();

void frontsensor() {

digitalWrite(trigPin1, LOW); // Added this line

delayMicroseconds(2); // Added this line

digitalWrite(trigPin1, HIGH);

delayMicroseconds(10); // Added this line

digitalWrite(trigPin1, LOW);

duration1 = pulseIn(echoPin1, HIGH);

distance1 = (duration1 / 2) / 29.1;


Serial.print("DISTANCE = ");

Serial.println(distance1);

delay(50);

void backsensor() {

digitalWrite(trigPin2, LOW); // Added this line

delayMicroseconds(2); // Added this line

digitalWrite(trigPin2, HIGH);

delayMicroseconds(10); // Added this line

digitalWrite(trigPin2, LOW);

duration2 = pulseIn(echoPin2, HIGH);

distance2 = (duration2 / 2) / 29.1;

Serial.print("DISTANCE2 = ");

Serial.println(distance2);

delay(50);

void leftsensor() {

digitalWrite(trigPin3, LOW); // Added this line

delayMicroseconds(2); // Added this line

digitalWrite(trigPin3, HIGH);

delayMicroseconds(10); // Added this line

digitalWrite(trigPin3, LOW);

duration3 = pulseIn(echoPin3, HIGH);

distance3 = (duration3 / 2) / 29.1;

Serial.print("DISTANCE3 = ");

Serial.println(distance3);

delay(50);
}

void rightsensor() {

digitalWrite(trigPin4, LOW); // Added this line

delayMicroseconds(2); // Added this line

digitalWrite(trigPin4, HIGH);

delayMicroseconds(10); // Added this line

digitalWrite(trigPin4, LOW);

duration4 = pulseIn(echoPin4, HIGH);

distance4 = (duration4 / 2) / 29.1;

Serial.print("DISTANCE4 = ");

Serial.println(distance4);

delay(50);

void stop() {

digitalWrite(gulong1, LOW);

digitalWrite(gulong11, LOW);

analogWrite(en1, 120);

digitalWrite(gulong2, LOW);

digitalWrite(gulong22, LOW);

analogWrite(en2, 120);

digitalWrite(gulong3, LOW);

digitalWrite(gulong33, LOW);

analogWrite(en3, 120);

digitalWrite(gulong4, LOW);

digitalWrite(gulong44, LOW);
analogWrite(en4, 120);

void forward() {

digitalWrite(gulong1, HIGH);

digitalWrite(gulong11, LOW);

analogWrite(en1, 180);

digitalWrite(gulong2, LOW);

digitalWrite(gulong22, HIGH);

analogWrite(en2, 180);

digitalWrite(gulong3, HIGH);

digitalWrite(gulong33, LOW);

analogWrite(en3, 180);

digitalWrite(gulong4, LOW);

digitalWrite(gulong44, HIGH);

analogWrite(en4, 180);

void backward() {

digitalWrite(gulong1, LOW);

digitalWrite(gulong11, HIGH);

analogWrite(en1, 150);

digitalWrite(gulong2, HIGH);

digitalWrite(gulong22, LOW);

analogWrite(en2, 150);
digitalWrite(gulong3, LOW);

digitalWrite(gulong33, HIGH);

analogWrite(en3, 150);

digitalWrite(gulong4, HIGH);

digitalWrite(gulong44, LOW);

analogWrite(en4, 150);

void forwardleft() {

digitalWrite(gulong1, HIGH);

digitalWrite(gulong11, LOW);

analogWrite(en1, 255);

digitalWrite(gulong2, LOW);

digitalWrite(gulong22, HIGH);

analogWrite(en2, 20);

digitalWrite(gulong3, HIGH);

digitalWrite(gulong33, LOW);

analogWrite(en3, 255);

digitalWrite(gulong4, LOW);

digitalWrite(gulong44, HIGH);

analogWrite(en4, 20);

void forwardright() {

digitalWrite(gulong1, HIGH);
digitalWrite(gulong11, LOW);

analogWrite(en1, 90);

digitalWrite(gulong2, LOW);

digitalWrite(gulong22, HIGH);

analogWrite(en2, 180);

digitalWrite(gulong3, HIGH);

digitalWrite(gulong33, LOW);

analogWrite(en3, 90);

digitalWrite(gulong4, LOW);

digitalWrite(gulong44, HIGH);

analogWrite(en4, 180);

void backwardleft() {

digitalWrite(gulong1, LOW);

digitalWrite(gulong11, HIGH);

analogWrite(en1, 255);

digitalWrite(gulong2, HIGH);

digitalWrite(gulong22, LOW);

analogWrite(en2, 20);

digitalWrite(gulong3, LOW);

digitalWrite(gulong33, HIGH);

analogWrite(en3, 255);

digitalWrite(gulong4, HIGH);

digitalWrite(gulong44, LOW);

analogWrite(en4, 20);
}

void backwardright() {

digitalWrite(gulong1, LOW);

digitalWrite(gulong11, HIGH);

analogWrite(en1, 20);

digitalWrite(gulong2, HIGH);

digitalWrite(gulong22, LOW);

analogWrite(en2, 255);

digitalWrite(gulong3, LOW);

digitalWrite(gulong33, HIGH);

analogWrite(en3, 20);

digitalWrite(gulong4, HIGH);

digitalWrite(gulong44, LOW);

analogWrite(en4, 255);

Vous aimerez peut-être aussi