Toplam 2 adet sonuctan sayfa basi 1 ile 2 arasi kadar sonuc gösteriliyor
  1. #1
    Üyelik tarihi
    05.Ekim.2013
    Mesajlar
    334
    Aldığı Teşekkür
    23
    Ticaret Puanı
    0

    Standart 39. 2 eksen hareket izleyen robot

    Bu dersimizde 2 eksen hareket izleyen robot yapacağız.

    Gerekli malzemeler:
    Arduino uno
    2 adet servo motor
    Pan tilt mekanik aksamı
    İvme sensörü
    6 adet led
    Bakırlı pertinaks
    Baskı devre çıkarma araçları
    Güç kaynağı
    Bağlantı kabloları

    Öncelikle servolarımızı pan tilt aksamına monte ediyoruz. Daha sonra fritzing çiziminde gösterildiği şekilde devremizi kurup arduino kodlarımızı arduinoya yükleyeceğiz.Üstteki servoya 6adet led bağladım. Farklı metaryaller bağlanabilir. Ledlere ait ares çizimi konu ekinde mevcuttur.

    scriptaccess" value="always">











    Fritzing çizimi:


    Arduino kodlarımız:
    Kodlara ait arduino dosyası konu ekinde mevcuttur.
    description">Kod:
    /* 
    2EKSEN HAREKET İZLEYEN ROBOT
    */
    
    #include <Servo.h>
    #include<Wire.h>
    const int MPU=0x68;  // I2C address of the MPU-6050
    int AcX,AcY,AcZ,Tmp,GyX,GyY,GyZ;
    
    Servo myservo1;  // create servo object to control a servo
    Servo myservo2;
    int potpin1 = 0;  // analog pin used to connect the potentiometer
    int potpin2=1;
    int val1;    // variable to read the value from the analog pin
    int val2; 
    void setup()
    {
       Wire.begin(); //seri haberleşme 
      Wire.beginTransmission(MPU);
      Wire.write(0x6B);  // PWR_MGMT_1 register
      Wire.write(0);     // set to zero (wakes up the MPU-6050)
      Wire.endTransmission(true);
      Serial.begin(9600);
      myservo1.attach(9); 
     myservo2.attach(10); // attaches the servo on pin 9 to the servo object
    }
    
    void loop() 
    { 
      Wire.beginTransmission(MPU);
      Wire.write(0x3B);  // starting with register 0x3B (ACCEL_XOUT_H)
      Wire.endTransmission(false);
      Wire.requestFrom(MPU,14,true);  // request a total of 14 registers
      AcX=Wire.read()<<8|Wire.read();  // 0x3B (ACCEL_XOUT_H) & 0x3C (ACCEL_XOUT_L)     
      AcY=Wire.read()<<8|Wire.read();  // 0x3D (ACCEL_YOUT_H) & 0x3E (ACCEL_YOUT_L)
      AcZ=Wire.read()<<8|Wire.read();  // 0x3F (ACCEL_ZOUT_H) & 0x40 (ACCEL_ZOUT_L)
      Tmp=Wire.read()<<8|Wire.read();  // 0x41 (TEMP_OUT_H) & 0x42 (TEMP_OUT_L)
      GyX=Wire.read()<<8|Wire.read();  // 0x43 (GYRO_XOUT_H) & 0x44 (GYRO_XOUT_L)
      GyY=Wire.read()<<8|Wire.read();  // 0x45 (GYRO_YOUT_H) & 0x46 (GYRO_YOUT_L)
      GyZ=Wire.read()<<8|Wire.read();  // 0x47 (GYRO_ZOUT_H) & 0x48 (GYRO_ZOUT_L)
      Serial.print("AcX = "); Serial.print(AcX);
      Serial.print(" | AcY = "); Serial.print(AcY);
      Serial.print(" | AcZ = "); Serial.print(AcZ);
      Serial.print(" | Tmp = "); Serial.print(Tmp/340.00+36.53);  //equation for temperature in degrees C from datasheet
      Serial.print(" | GyX = "); Serial.print(GyX);
      Serial.print(" | GyY = "); Serial.print(GyY);
      Serial.print(" | GyZ = "); Serial.println(GyZ);
     
      val1 =AcX;       // reads the value of the potentiometer (value between 0 and 1023) 
      val1 = map(val1, -16000, 16000, 180, 0);     // scale it to use it with the servo (value between 0 and 180) 
      val2 = AcY;           // reads the value of the potentiometer (value between 0 and 1023) 
      val2 = map(val2, -16000, 16000, 0, 180);
      myservo1.write(val1);                  // sets the servo position according to the scaled value 
      myservo2.write(val2);
      delay(100);                           // waits for the servo to get there 
    }
    İhtiyaç olması halinde konuya ait dosyaları temrinlerim.org sitesindeki orjinal konudan indirebilirsiniz.

  2. #2
    Üyelik tarihi
    05.Ekim.2013
    Mesajlar
    4,401
    Aldığı Teşekkür
    30
    Ticaret Puanı
    0
    Blog Başlıkları
    3

    Standart

    Eline sağlık hocam. Teşekkürler.

Konu Bilgileri

Bu Konuya Gözatan Kullanıcılar

Şu anda 1 kullanıcı bu konuyu görüntülüyor. (0 kayıtlı ve 1 misafir)

Benzer Konular

  1. 43. 2 Eksen Güneş Paneli
    Konu Sahibi bolubeyi Forum Arduino Dersleri
    Cevap: 0
    Son Mesaj : 12.Eylül.2015, 17:38
  2. 42. Mause ile 2 eksen kontrol
    Konu Sahibi bolubeyi Forum Arduino Dersleri
    Cevap: 2
    Son Mesaj : 28.Ağustos.2015, 23:05
  3. 37. Parmak hareketini izleyen motor
    Konu Sahibi bolubeyi Forum Arduino Dersleri
    Cevap: 0
    Son Mesaj : 05.Ağustos.2015, 19:55
  4. 36. Işık izleyen panel yapalım
    Konu Sahibi bolubeyi Forum Arduino Dersleri
    Cevap: 1
    Son Mesaj : 26.Temmuz.2015, 18:07
  5. 34. İvme sensörünün hareketlerini izleyen robot yapalım
    Konu Sahibi bolubeyi Forum Arduino Dersleri
    Cevap: 0
    Son Mesaj : 23.Temmuz.2015, 11:52

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •  
Yasal Bildirim
Sitemizde paylaşım yapan tüm üyeler T.C.K 20. Madde ve 5651 Sayılı Kanun'un 4. maddesinin 2. fıkrasına göre kendi konu ve mesajlarından sorumludur. Webmaster.bbs.tr hakkında yapılacak olan hukuksal ve diğer şikayetler için iletişim bölümünden iletişime geçilmesi halinde site yönetimi tarafından gereken işlemler yapılacak ve ilgili kişilere/kurumlara/vekillerine bilgi verilecektir.
Sosyal Medya