VEX V5 Sensörlerinde Sorun Giderme

Robotunuz sensör geri bildirimini kullanırken amaçlandığı gibi davranmadığında sorunlarınızı bulmak ve düzeltmek için adım adım sorun giderme prosedürünü takip edebilirsiniz. Bu makale, sorun giderme sürecindeki adımları açıklayacak ve bu adımların nasıl kullanılacağına ilişkin ipuçları sağlayacaktır.

Bu sürecin adımları şunlardır:

  1. Sorunu tanımlayın
  2. Donanımı kontrol edin
  3. Yazılımı kontrol edin
  4. Verileri analiz edin ve uygulayın

Sorunu Belirleyin

Sensörünüzde sorun gidermenin ilk adımı, soruna hangi sensörün neden olduğunu belirlemektir. Gözlemlenen robot davranışını amaçlanan robot davranışıyla karşılaştırın. Sorunlu davranış bir sensörden mi kaynaklanıyor? Eğer öyleyse, hangi sensör? Sorunun hangi sensörde olduğunu belirlemek için daha fazla bilgiye ihtiyacınız varsa robotunuzdaki sensörlerle ilgili aşağıdaki makaleyi/makaleleri okuyun.

VEX V5 Sensörleri:

Hangi sensörün istenmeyen davranışa neden olduğunu belirledikten sonra süreçte ilerleyebilirsiniz.


Donanımı kontrol edin

İkinci adım, sensörün amaçlandığı gibi çalışabildiğinden emin olmak için robotun donanımını kontrol etmektir. Aşağıdaki donanım hususlarının her biri sensörünüzün işlevselliğini etkiliyor olabilir.

Sensörün Yerleşimini Kontrol Edin

V5 Clawbot'un bir tarlada sürüş halindeki hali. Robotun üzerinde, önündeki kırmızı bir buckyball'a doğru yönlendirilmiş ve vurgulanmış bir optik sensör bulunmaktadır.

Sensörün robotunuzun neresinde bulunduğuna bakarak başlayın. Sensör, robotunuzun başka bir parçası gibi herhangi bir şey tarafından engelleniyor mu? Sensörün amaçlandığı şekilde çalışması için gereken alana sahip olduğundan emin olun.

Burada gösterildiği gibi Optik Sensör, algılaması amaçlanan nesneye yönelik net bir görüş hattına sahiptir.

Sensör Bağlantısını Kontrol Edin

Beyin ekranı, Beyin'in tüm Akıllı Bağlantı Noktalarının ve bağlı cihazların listesini içeren Cihaz Bilgileri menüsünde gösterilir. Aygıt Bilgileri menüsündeki Optik Sensör simgesi, seçilerek bilgi menüsünün açılabileceğini belirtmek için vurgulanmıştır.

VEX V5 Brain'deki Cihazlar Ekranında bildirilen verilere bakarak sensörün işlevselliğini test edin. Bu, sensörün takılı ve çalıştığını doğrulamanıza yardımcı olabilir. 

Cihazlar ekranına erişmek için bu makaledeki adımları . Cihazlar Ekranı açıldığında sensörün doğru port konumunda ve raporlama verilerinde görünür olup olmadığına bakın. Burada Optik Sensör Akıllı Bağlantı Noktası 11'de algılanır.

V5 Beyin, bir V5 Batarya ve bir V5 Akıllı Motor cihazına bağlı olarak gösterilmektedir. Akıllı motorun kablosu, beynin akıllı bağlantı noktalarından birine bağlıdır.V5 Brain'in 3-Wire bağlantı noktalarından birine 3-Wire cihazı bağlanmış durumda.

Sensör veri raporlamıyorsa sensörlerinizin doğru takıldığından emin olun. Sensörleri Akıllı Bağlantı Noktasına takarken, sensörün kilitleme tırnağı bağlantı noktasına tam olarak oturduğunda bir çıt sesi duymalısınız.

Sensörleri 3 Kablolu Bağlantı Noktasına takarken, kablo, beyaz kablo Brain ekranına en yakın olacak şekilde doğru yönde tamamen takılmalıdır. 

Sorununuzu çözüp çözmediğini görmek için kullandığınız sensörü başka bir sensörle değiştirmeyi de deneyebilirsiniz.

Sensör yerleşiminizde veya sensör bağlantınızda bir şeyi değiştirdiyseniz bunun sorunu çözüp çözmediğini görmek için projenizi tekrar test edin. Sensör yerleşiminiz ve bağlantınız değişmediyse sorun giderme işlemine devam etmek için bir sonraki adıma geçin.


Yazılımı Kontrol Et

Sensörün robota başarıyla yerleştirilip bağlandığını tespit ettikten sonra, VEXcode V5 projesine geçebilirsiniz. Bir projeyi yinelemek, sensörden gelen verilerin projenizde etkili bir şekilde kullanıldığından emin olmanıza yardımcı olabilir. Aşağıdaki stratejiler sensörünüzü kodlamanıza yardımcı olabilir.

Bu stratejilerden herhangi birini VEXcode V5 projenize uygularsanız bunun sorunu çözüp çözmediğini görmek için projenizi tekrar test edin.

Donanım Yazılımını ve Yapılandırmayı Kontrol Edin

VEXcode V5 Aygıtlar menüsünde bağlı aygıtların uzun bir listesi gösteriliyor. Bu menü, her sensörün doğru şekilde bağlandığından emin olmak ve Brain üzerindeki belirli bağlantı noktasını kontrol etmek için kullanılabilir.

Artık tüm cihazların Brain'e doğru şekilde bağlandığından emin olduğunuza göre VEXcode V5'teki Cihaz Yapılandırmasını kontrol edin.

Tüm sensörlerin konfigürasyonda mevcut olduğundan emin olmak için kontrol edin. Ardından her birinin doğru bağlantı noktasına bağlı olduğundan emin olun.

Yanlış cihaz yapılandırmalarını değiştirin.

Örnek Proje Çalıştırın

VEXcode Blokları Örnek Projeler menüsü, farklı kategorilerde çeşitli projeler sunmaktadır. Algılama kategorisi vurgulanmıştır.

Sorun gidermeye çalıştığınız sensörü kullanan bir Örnek Proje açın. Örnek projeleri filtrelemek için 'Algılama' kategorisini seçebilirsiniz.

V5 Blokları Örnek Projeleri ve Şablonları hakkında daha fazla bilgi için bu .

V5 Python Örnek Projeleri ve Şablonları hakkında daha fazla bilgi için bu .

V5 C++ Örnek Projeleri ve Şablonları hakkında daha fazla bilgi için bu .

VEXcode V5'te, Algılama kategorisinden açılmış bir Örnek Proje, kod blokları yığını ve projenin açıklamasını içeren bir not ile birlikte. Not vurgulanmıştır.

Açıldıktan sonra örnek projedeki işlevselliğin sensörle yapmaya çalıştığınız şeyle uyumlu olup olmadığını belirlemek için Notu okuyun.

Burada gösterilen örnek projede not, basılan Tampon Anahtarı veya Limit Anahtarının durumunun Beyin ekranına yazdırılacağını belirtir. Bu durumda True basıldığını, False ise basılmadığını gösterir. 

Örnek projeyi çalıştırın ve robot davranışını gözlemleyin. Ardından, gözlemlenen davranışlara neden olmak için sensör verilerinin nasıl kullanıldığını görmek için projeye bakın. Bu konuda yardımcı olması için örnek projeyi birden çok kez çalıştırmak isteyebilirsiniz.

Örnek projeden öğrendiklerinizi görevinize uygulamak için kendi basitleştirilmiş projenizi oluşturmayı deneyebilirsiniz.

Diğer VEXcode V5 Araçlarını Kullanın

VEXcode V5'te sensörünüzü kodlama hakkında daha fazla bilgi edinirken size yardımcı olacak araçlar ve stratejiler de vardır. Yardım'ı kullanarak Araç Kutusu'ndaki bloklar veya komutlar hakkında ayrı ayrı bilgi edinebilirsiniz. Sensörün ne raporladığı hakkında daha fazla bilgi edinmek için bir proje yürütülürken sensör verilerini de görüntüleyebilirsiniz.

VEXcode V5, Yardım menüsü açık ve Tampona Basma bloğu seçili halde. Blokun özellikleri ve nasıl kullanılabileceği, örnek kullanım görselleriyle birlikte açıklanmıştır.

Yardım

Kullanılan veriler, komutun hangi değerleri bildireceği ve komutun bir projede nasıl kullanılacağına ilişkin örnekler hakkında bilgi edinmek için örnek projedeki veya projenizdeki bloklar veya komutlar için Yardım'ı okuyun.

VEXcode V5 Bloklarında Yardım'a erişim hakkında daha fazla bilgi edinmek için bu makaleyi görüntüleyin.

VEXcode V5 Python'da Yardım'a erişim hakkında daha fazla bilgi edinmek için bu makaleyi görüntüleyin.

VEXcode V5 C++'da Yardım'a erişim hakkında daha fazla bilgi edinmek için bu makaleyi görüntüleyin.

Veri Yazdırma

Ayrıca sensörün gerçek zamanlı olarak neyi rapor ettiğini daha iyi anlamanıza yardımcı olmak için örnek proje veya projeniz çalışırken sensörden gelen verileri yazdırabilirsiniz. Bu, projenizde parametre olarak sensörden bildirilen hangi değerlerin kullanılacağını belirlemenize yardımcı olabilir. 

Bir Blocks projesinde, tüm yazdırma komutlarını kendi yığınlarında organize etmek için ayrı bir {When started} şapka bloğunun kullanılabileceğini unutmayın.

VEXcode V5 Blokları
VEXcode V5 Blokları projesi, proje çalışırken sensör verilerini Brain'e yazdırmak için sonsuz bir döngü kullanıyor. Projenin ilk bölümü şu şekilde: Başlatıldığında, Brain'de yazı tipini Mono Extra Large olarak ayarlayın. Ardından, içinde 5 blok bulunan bir Sonsuz Döngü bloğu var. Döngüdeki bloklar, Brain'deki tüm satırları temizler, imleci Brain'deki 1. satır 1. sütuna ayarlar ve ardından Brain'de Mesafe (mm): yazdırır. Ardından, Brain üzerinde Distance19 nesnesinin mesafesini milimetre cinsinden yazdırın, imleci bir sonraki satıra getirin ve 0,5 saniye bekleyin.
VEXcode V5 Python
# Proje koduna başla

# Beyin ekranında okunabilirliği artırmak için yazı tipi boyutunu büyüt
brain.screen.set_font(FontType.MONO40)

while True:
  # Döngünün her yinelemesi ekranı temizleyecektir
  brain.screen.clear_screen()
    
  # Ekran temizlendikten sonra, yazdırma imlecini sol üst köşeye geri ayarla
  brain.screen.set_cursor(1, 1)
  
  # Etiketi ve nesneden uzaklık değerini aynı satırda yazdır
  brain.screen.print("Mesafe (mm): ")
  brain.screen.print(distance_19.object_distance(MM))
  brain.screen.next_row()
  wait(0.5, SECONDS)
VEXcode V5 C++
int main() {

  // Beyin ekranında okunabilirliği artırmak için yazı tipi boyutunu büyütün
  Brain.Screen.setFont(mono40);
  
  while (true) {
  
    // Döngünün her yinelemesi ekranı temizleyecektir
    Brain.Screen.clearScreen();
    
    // Ekran temizlendikten sonra, yazdırma imlecini sol üst köşeye geri ayarlayın
    Brain.Screen.setCursor(1, 1);
    
    // Etiketi ve nesneden uzaklık değerini aynı satıra yazdırın
    Brain.Screen.print("Mesafe (mm): %.2f", Distance19.objectDistance(mm));
    Brain.Screen.newLine();
    wait(0.5, seconds);
    
  }
  
}

VEXcode V5 projesi çalışırken değerlerin nasıl değiştiğini görmek istediğinizde, V5 Brain yazdırma faydalıdır. Bu, projenizde parametre olarak sensörden bildirilen hangi değerlerin kullanılacağını belirlemenize yardımcı olabilir. Bu yazdırma komutları, önceden oluşturduğunuz VEXcode V5 projesine yerleştirilebilir, böylece robot hareket ederken sensör değerlerinin belirli zamanlarda değiştiğini görebilirsiniz. 

Yukarıdaki örnek projeler, değerlerin Mesafe Sensöründen V5 Beynine nasıl yazdırılacağını göstermektedir. Her projedeki yorumlar projenin akışını ve her komutun kullanımını açıklar.

VEXcode V5 Blokları
VEXcode V5 Blokları projesi, proje çalışırken sensör verilerini konsola yazdırmak için sonsuz bir döngü kullanıyor. Projenin ilk bölümünde "Başlatıldığında, Rotation15 konumunu 0 dereceye ayarlayın." ifadesi yer almaktadır. Ardından, içinde 3 blok bulunan bir Sonsuz Döngü bloğu var. Döngüdeki bloklar, Konsola "Pozisyon (derece):" yazdırır, Konsola "Dönme15 pozisyonu derece cinsinden" yazdırır, imleci bir sonraki satıra ayarlar ve son olarak 0,5 saniye bekler.
VEXcode V5 Python
# Proje koduna başla

# Projenin başında Dönme Sensörünü 0'a sıfırla
rotation_15.set_position(0, DEGREES)

while True:
  # Nesneden uzaklığın değerini ve etiketi aynı satırda yazdır
  print("Konum (derece): ", end="")
  print(rotation_15.position(DEGREES))
  
  # Değeri yazdırmak için bekle, ardından döngüyü tekrarla
  wait(0.5, SECONDS)
VEXcode V5 C++
int main() {

  // Projenin başlangıcında Dönme Sensörünü 0'a sıfırlayın
  Rotation15.setPosition(0.0, degrees);
  
  while(true) {
  
    // Nesneden uzaklığın değerini ve etiketi aynı satırda yazdırın
    printf("Konum (derece): %.2f\n", Rotation15.position(degrees));
    
    // Değeri yazdırmak için bekleyin, ardından döngüyü tekrarlayın
    wait(0.5, seconds);
    
  }
  
}

VEXcode V5'te robotun hareket etmediği bir proje çalıştırırken Yazdırma Konsolu yazdırma önerilir. Print Console'a yazdırmak için projenin yürütülmesi sırasında V5 Brain'in takılı kalması gerekir. Bu faydalıdır çünkü Brain ekranından veri okumaya çalışmak yerine değerleri VEXcode V5 penceresinden okuyabilirsiniz.

Bu örnekler VEXcode V5'te Rotasyon Sensöründen Konsola proje yazdırma verilerini gösterir. 

VEXcode V5 Bloklarında Print Console'u kullanma hakkında daha fazla bilgi için bu makaleye bakın.


Verileri Analiz Edin ve Uygulayın

Daha sonra, orijinal projenizi ayarlamak için önceki adımlarda öğrendiklerinizi kullanın. Hedefinize ulaşmak için sensörü etkili bir şekilde kullanabilmenizi sağlamak amacıyla Yardım ve yazdırma verileri gibi araçları kullanmaya devam edebilirsiniz.

Ayrıca ilerlemenize yardımcı olmak için projeniz hakkında sorular sorabilirsiniz. Şunun gibi şeyleri düşünün:

  • Projenizde < büyük mü yoksa > küçük mü kullanıyorsunuz? Sembol doğru yöne mi bakıyor? Eşit = kullanıyorsanız, bir değer aralığı kullanmak için onu daha büyük veya daha küçük ile değiştirmeyi deneyin.
  • Parametreleriniz doğru mu? Parametrelerinizi ayarlamak için sensörden gelen verileri mi kullanıyorsunuz? İhtiyacınız olan açılır seçeneği seçtiniz mi?
  • Koşulları birden fazla mı kontrol ediyorsunuz? Projenize bir Sonsuza Kadar döngü eklemeyi deneyin, böylece proje çalıştırıldığında koşulun tekrar tekrar kontrol edilmesi sağlanır.
  • Projeniz takılıp mı kalıyor? Koşullarınız doğru ayarlanmış mı? İç içe döngüler kullanıyorsanız bireysel davranışları izole etmek için projenizi basitleştirmeyi deneyin.
  • Çevre koşullarınız sensörü etkiliyor mu? Çok parlak mı yoksa çok karanlık mı? Yolunuzda nesneler veya insanlar var mı? Bunun yardımcı olup olmadığını görmek için projenizi farklı bir konumda çalıştırmayı deneyin.
  • Projenizin en son sürümünü mü çalıştırıyorsunuz? Güncellenen projenizi Brain'e indirdiniz mi? Her değişiklik yaptığınızda projeyi yeniden indirdiğinizden emin olun.
  • Doğru rengi mi tespit ediyorsunuz? Sensör, projenizdeki renkten farklı bir renk mi rapor ediyor? Bunun işe yarayıp yaramayacağını görmek için renk parametresini değiştirmeyi veya bir dizi renk tonu değeri kullanmayı deneyin.
  • Sensörün görüş alanı içerisinde bir nesne mi tespit ediyorsunuz? Görüş alanının robotun hareketiyle birlikte hareket ettiğini unutmayın.
  • Bir koşulu kontrol ederken bir bekleme bloğu kullanıyor musunuz? Bir koşulu kontrol ederken bir projede beklemeyen blokları kullandığınızdan emin olun. VEXcode V5'te beklemeli ve beklemesiz bloklar hakkında daha fazla bilgi edinmek için bu makaleye bakın.
  • Eğer bloklar halinde kodlama yapıyorsanız yığınınızın tamamı {When started} şapka bloğuna bağlı mı? Blok yalnızca bağlı olduklarında çalışacaktır. Blokları sürükleyip birbirine bağladığınızda bir tıklama sesi duyabilirsiniz.

Bu soruları yanıtlarken projenizde her seferinde bir şeyi değiştirdiğinizden emin olun, test edin ve ardından bu değişikliğin etkili olup olmadığını değerlendirin. Projenizi sık sık test etmek, kodunuzun robotun davranışlarıyla nasıl bağlantılı olduğunu daha kolay görmenize yardımcı olabilir.  Sorununuzu çözmek için sorun giderme sürecindeki adımları birden çok kez tekrarlamanız gerekebilir ve bu normaldir. Her yineleme, kullandığınız sensör ve onu VEXcode V5'te nasıl kodlayacağınız hakkında daha fazla bilgi edinmenize yardımcı olacaktır.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: