3 Haziran e-Twinning e-Konferans Günlüğü: SERVO MOTOR İle HAREKETE GEÇELİM

  • DalidaEkbenli
  • 3 Haziran 2017
  • 18881736_10156185797209829_5442620543087511185_n

    Herkesin sabırsızlıkla bir sonraki oturumunu beklediği “Arduino for Learning to Learn”- “Öğrenmeyi Öğrenmek için Arduino” e-twinning projemizin e-konferanslarının bu dönemki sonuncusu 3 Haziran 2017 cumartesi günü gerçekleşti.

    ****Canlı yayında katılımcılarla kurduğumuz devre şemaları ve ilgili kodları aşağıdadır. Herkese iyi çalışmalar diliyorum.

    1) Servo Motoru Potansiyometre ile Kontrol Etmek. 

    devre-bir-potansiyometre


    İlgili Kodlar: 

    #include <Servo.h>

    Servo myservo; // create servo object to control a servo

    int potpin = 0; // analog pin used to connect the potentiometer
    int val; // variable to read the value from the analog pin

    void setup() {
    myservo.attach(9); // attaches the servo on pin 9 to the servo object
    }

    void loop() {
    val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
    val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
    myservo.write(val); // sets the servo position according to the scaled value
    delay(15); // waits for the servo to get there
    }

    ——————————————

    2) Servo Motoru Ultrasonik Sensör ile Kontrol Etmek.

    devre-iki-mesafe

     

     

    İlgili Kodlar: 

    #include <Servo.h>

    #define coef 5
    #define dead_zone 4
    #define max_value 22
    #define servoPin 11

    #define Trig 9
    #define Echo 8
    Servo myservo;

    void setup()
    {
    pinMode(Trig, OUTPUT);
    pinMode(Echo, INPUT);
    myservo.attach(servoPin);
    myservo.write(0);
    }

    unsigned int impulseTime=0;
    unsigned int distance_sm=0;

    void loop()
    {
    digitalWrite(Trig, HIGH);
    delayMicroseconds(10);
    digitalWrite(Trig, LOW);
    impulseTime = pulseIn(Echo, HIGH);
    distance_sm = impulseTime/58;

    if (distance_sm >= dead_zone && distance_sm <= max_value)
    {
    myservo.write(coef “distance_sm – dead_zone”);
    }
    else if (distance_sm < dead_zone)
    {
    myservo.write(0);
    }
    else
    {
    myservo.write(180);
    }
    delay(100);
    }

     

     

    ———————————

     

     

     

     

     

     

     

    Yorum yapmak ve siz de bir iz bırakmak ister misiniz?