السيارة ذكية

الموضوع في 'برمجة الاشياء arduino' بواسطة ابوفارس, بتاريخ ‏4 فبراير 2020.

  1. ابوفارس

    ابوفارس ادارة المنتدى إداري

    إنضم إلينا في:
    ‏12 يوليو 2014
    المشاركات:
    583
    الإعجابات المتلقاة:
    191
    نقاط الجائزة:
    43
    الجنس:
    ذكر



    كود:
    #include <NewPing.h>
    #define A 500
    #define B 300
    #define trigPin A0            //Trig Ultrasons (sortie)
    #define echoPin A1
    int motor_pin1 = 8;
    int motor_pin2 = 9;
    int motor_pin3 = 10;
    int motor_pin4 = 11;                    
    void setup () {
      pinMode(trigPin, OUTPUT);   //Trig est une sortie
      pinMode(echoPin, INPUT);    //Echo est une entrée
      pinMode(motor_pin1,OUTPUT);
      pinMode(motor_pin2,OUTPUT);
      pinMode(motor_pin3,OUTPUT);
      pinMode(motor_pin4,OUTPUT);
      delay(700);
    }
    void loop() {
      long duration, distance;
      digitalWrite(trigPin, LOW);
      delayMicroseconds(2);
      digitalWrite(trigPin, HIGH);
      delayMicroseconds(10);               //Trig déclenché 10ms sur HIGH
      digitalWrite(trigPin, LOW);     
      // calcul de la distance :
      duration = pulseIn(echoPin, HIGH);   // Distance proportionnelle à la durée de sortie
      distance = duration*340/(2*10000);   //Vitesse du son théorique
    
                    
      if (distance >= 20)  {                //Si il n'y a pas d'obstacle à plus de 20cm
        digitalWrite(motor_pin1,LOW);      //Alors il avance
        digitalWrite(motor_pin2,HIGH);
        digitalWrite(motor_pin3,HIGH);
        digitalWrite(motor_pin4,LOW);
            }                         
    
      else  {                              //Sinon (si il voix un objet a moin de 20 cm)
        digitalWrite(motor_pin1,HIGH);     //Le robot part en arriere puis 500 milliseconde
        digitalWrite(motor_pin2,LOW);      //aprés il part vers la gauche.
        digitalWrite(motor_pin3,LOW);
        digitalWrite(motor_pin4,HIGH);
        delay(A);
        digitalWrite(motor_pin1,LOW);
        digitalWrite(motor_pin2,HIGH);
        digitalWrite(motor_pin3,LOW);
        digitalWrite(motor_pin4,HIGH);
        delay(B);
    }
    }

    [​IMG]





    [​IMG]
     
    آخر تعديل: ‏5 فبراير 2020

مشاركة هذه الصفحة