aynı anda 2 komut çalıştırma
  • switch (KNS)
    {
    case G1_MERHABA:
    easyvr.playSound(5, EasyVR::VOL_FULL); //ses yürütme
    motor.write(130); //motor yürütme
    break;

    yukaridaki kodda ses oynatma ve servomotor yürütme komutu var, sorunum şu;
    ses bitmeden motor yürümüyor ses 5 sn ise 5 sonra motor yürüyor ben ayn anda ses yürüsün motorda yürüsün istiyorum, acil bir sorun teşekkürler.

  • switch (KNS)
    {
    case G1_MERHABA:
    motor.write(130); //motor yürütme
    break;

    case G1_MERHABA:
    easyvr.playSound(5, EasyVR::VOL_FULL); //ses yürütme
    break;

    acaba böyle yapsam olurmu :) şimdi aklima geldi
  • olmadı aynı koşulu iki defa kullanamıyorum
  • switch (KNS)
    {
    case G1_MERHABA:
    motor.write(130); //motor yürütme
    easyvr.playSound(5, EasyVR::VOL_FULL); //ses yürütme

    break;


    bu şekilde denedinizmi
    önce motoru başaltın sonra sesi devreye sokun.
  • bu seferde önce motor dönüyor sonra ses çalıyor konuşan bir robot bu ağzı oynarken ses çıkması lazım öteki türlü önce konuşuyor sonra ağzı oynuyor :)
  • yoksa her heceyi ayrı ayrı ses kaydı yapıp her hecenin arasına bir motor komutu koymam gerekicek buda çok yorucu bir iş
  • Merhaba mantık aynı fakat lop dışında olduğu için belki işe yarayabilir bir deneyin.

    void loop() {

    switch (KNS)
    {
    case G1_MERHABA:
    Sound(); //ses yürütme
    Motor(); //motor yürütme
    break;
    }

    }//loop end


    void Motor() {
    motor.write(130); //motor yürütme
    }

    void Sound() {
    easyvr.playSound(5, EasyVR::VOL_FULL); //ses yürütme
    }
  • tek çekirdekli hiçbir işlemci aynı anda iki işi yapamaz. ses olayı hassas bir işlemdir. gecikmeleri insan kulağı çok çabuk fark eder. ses için ayrı bir arduino kullan. bunu tıpkı bilgisayarlardaki ses kartı gibi düşünebilirsin. komutu ses kartına gönder ve unut. eğer motorda hassas işlem yapacaksa onuda ayrı bir arduino ile kontrol et.
  • mesela 2.arduinoya 1.arduinodan nasıl komut gönderebilirim kablolu olarak motor yürüteceğim mesela
  • uart üzerinde , i2c üzerinden veri gönderebilirsin kablo ile bağlantı sayesinde.
  • UART, I2C, SPI sec beğen kullan:)
  • Kullandığınız fonksiyonlar verimsiz. Kolay olsun diye işlemciyi bloke ederek yapıyorlar işlemi, diğer donanımlar atıl vaziyette duruyor. Halbu ki motor bir anlık işlemdir, beklemesi gerekmez.
  • 2 arduino ile hallettim işimi sağolun

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.