Şimdi Ara

servo motor 1 saat sonra hareket etmesi

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
4
Cevap
1
Favori
158
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • selamlar. servo motoru örneğin 2 saniyede 90 dereceyi alacak 1 saat bekleyecek sonra 45 dereceye dönecek 1 saat bekleyecek tekrar 90 dereceye dönecek şeklinde bir fonksiyon var mı acaba .

    < Bu ileti mobil sürüm kullanılarak atıldı >



  • Dedigin olayı

    if else
    rotate_angle
    delay komutlarıyla yapabilirsin



    < Bu mesaj bu kişi tarafından değiştirildi mr.akbulut -- 17 Haziran 2016; 1:15:43 >
  • quote:

    Orijinalden alıntı: gezgin adam

    Dedigin olayı

    if else
    rotate_angle
    delay komutlarıyla yapabilirsin


    temel bilgilere sahibim o yüzden yapamadım. dediğim anlamda olmuyor?




    #include <Servo.h> 
    #include <EEPROM.h>
    #include <LiquidCrystal.h>
    Servo myservo;
    byte kontrast;
    byte aydinlatma;
    const byte kontrast_adres=0; //EEPROM da kontrast değerini kaydedeceğimiz adres
    const byte aydinlatma_adres=1; //EEPROM da arka ışık süresini değerini kaydedeceğimiz adres
    LiquidCrystal lcd(12,11,5,4,3,2);
    int derece=0;
    int pos=0;

    void setup()
    {
    lcd.begin(16,2);
    lcd.print("Derece");
    delay(5000);
    kontrast=EEPROM.read(kontrast_adres);
    aydinlatma=EEPROM.read(aydinlatma_adres);
    analogWrite(10,10-kontrast*7);
    myservo.attach(8);
    }

    void loop()
    {
    int reading = analogRead(derece);
    float voltage = reading * 5.0;
    voltage /= 1024.0;
    lcd.setCursor(7,0);
    lcd.print(voltage);
    lcd.setCursor(0,0);
    lcd.println("volt");

    float temperatureC = (voltage - 0.5) * 100 ;
    lcd.setCursor(8,1);
    lcd.print(temperatureC);
    lcd.setCursor(0,1);
    lcd.println("derece");

    for (pos = 180; pos >= 0; pos -= 1) {
    myservo.write(pos);
    delay(100);

    }
    for (pos = 0; pos <= 180; pos += 1) {
    myservo.write(pos);
    }
    }









    < Bu mesaj bu kişi tarafından değiştirildi prax -- 17 Haziran 2016; 12:03:24 >




  • Arduinoda karta elektrik verildiğinden bu yana geçen süreyi veren bir sayacı var.

    Kodu Millis() (çift L ile)

    1 saat için 3.600.000 mili saniye geçmesini bekletmen gerekir.

    ilk zamanı bir değişkene kaydeder sonra kaç milisaniye geçmesi gerekiyorsa o kadar eklersin, o değeri aşınca motoru çalıştırırsın. Dikkat etmen gereken ise belli bi süre sonra millis değeri sıfırlanır. Her işlemci türüne göre farklılık gösterebilir.

    https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay

    örnekteki koda bir bak istersen.

    Bu arada eğer yapacağın işlem çok önemli ise sisteme bir adet gerçek zaman saati eklemeni tavsiye ederim. Yok çok önemli değilse mesela kuluçka makinesinde yumurta çevirteceksen millis de işini görür.




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.