VEX EXP 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 EXP 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 Yerleşimini Kontrol Edin

EXP Clawbot'un tarlada sürüşü. Robotun üzerinde, önündeki Kırmızı Buckyball'a doğru işaret eden ve vurgulanan bir Optik Sensör bulunuyor.

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

Cihazlar menüsünde, Optik Sensör cihazı seçili halde beyin ekranı gösterilir.

VEX EXP 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ı izleyin. Cihazlar Ekranı açıldığında sensörün veri rapor edip etmediğine bakın.

EXP Optik Sensörüne bağlı bir EXP Beyninin şeması.

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ılı bir şekilde yerleştirildiğini ve bağlandığını belirledikten sonra VEXcode EXP projesine bakabilirsiniz. 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 EXP 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

Bağlı cihazların uzun bir listesinin gösterildiği VEXcode EXP Cihazlar menüsü. Bu menü, her sensörün doğru şekilde bağlandığından emin olmak ve Beyindeki belirli portunu 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 EXP'deki 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 seçebileceğiniz çeşitli projeler sunar. 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.

EXP Blokları Örnek Projeleri ve Şablonları hakkında daha fazla bilgi için bu makaleye bakın.

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

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

Algılama kategorisinden açılan Örnek Proje ile VEXcode EXP, kod blokları yığını ve projenin açıklamasını içeren bir not içeriyor. 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, Tampon Anahtarının, anahtara ne zaman basıldığını algılamak için kullanıldığını ve böylece robotun bir nesneyle temas ettiğinde sürüşü durdurabileceğini belirtir.

Ö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 EXP Araçlarını Kullanın

VEXcode EXP'de 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.

Yardım menüsü açık ve Presleme Tamponu bloğu seçiliyken VEXcode EXP. Bloğun açıklamaları ve nasıl kullanılabileceği, örnek kullanımların görselleriyle birlikte gösterilmiştir.

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 EXP Bloklarında Yardıma erişim hakkında daha fazla bilgi edinmek için bu makaleyi görüntüleyin.

VEXcode EXP Python'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. Aşağıda EXP Brain'e ve ardından Yazdırma Konsoluna yazdırma örneğini görebilirsiniz.

VEXcode EXP Blokları
VEXcode EXP, proje çalışırken sensör verilerini canlı olarak yazdırmak için When started hat bloğunu kullanan projeyi engeller. Projenin, When started bloğu ve ardından gelen 4 bloğundan oluşan Sonsuza Kadar döngüsü bulunmaktadır. Döngüde ilk olarak "Beyne Eylemsizlik Sensörü Atış Değerini Yazdır" yazan bir yorum bloğu var ve ardından bir sonraki satıra geçiliyor. Daha sonra, bir Yazdırma bloğu BrainInertial yönünü Brain üzerinde yazdırır ve imleci bir sonraki satıra ayarlar. Daha sonra bir yorum bloğunda Bekle değerini yazdır, sonra döngüyü tekrarla yazacaktır. Son olarak, bir Bekleme bloğu 0,1 saniye bekler.
VEXcode EXP Python
while True:
# Beyin Ekranında okunabilirlik için yazı tipi boyutunu artırın.
brain.screen.set_font(FontType.MONO40)

# Beyindeki Eylemsizlik sensörü yuvarlanma değerini yazdırın ve ardından bir sonraki satıra geçin.
brain.screen.print(brain_inertial.orientation(ROLL, DEGREES), precision=6 if vexcode_brain_precision is None else vexcode_brain_precision))
brain.screen.next_row()

# Değeri yazdırmak için bekleyin, ardından döngüyü tekrarlayın.
wait(0.1, SANİYE)
wait(20, MSEC)
VEXcode EXP C++
int main() {
while(true) {

// Beyin Ekranında okunabilirlik için yazı tipi boyutunu artırın.
Brain.Screen.setFont(mono40);

// Beyindeki Eylemsizlik sensörü yuvarlanma değerini yazdırın ve ardından bir sonraki satıra geçin.
Brain.Screen.print(BrainInertial.orientation(roll, degrees));
Brain.Screen.newLine();

// Değeri yazdırmak için bekleyin, ardından döngüyü tekrarlayın.
wait(0.1, seconds);
} }

EXP Brain yazdırmak, VEXcode EXP projesi çalışırken değerlerin değiştiğini görmek istediğinizde 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 EXP projesine yerleştirilebilir, böylece robot hareket ederken sensör değerlerinin belirli zamanlarda değiştiğini görebilirsiniz. 

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

VEXcode EXP Blokları
VEXcode EXP, proje çalışırken sensör verilerini canlı olarak yazdırmak için When started hat bloğunu kullanan projeyi engeller. Projenin, When started bloğu ve ardından gelen 4 bloğundan oluşan Sonsuza Kadar döngüsü bulunmaktadır. Döngüde ilk olarak Console'da mesafe sensörü değerini yazdır yazan bir yorum bloğu var, ardından bir sonraki satıra geçiliyor. Daha sonra, bir Yazdırma bloğu Konsolda nesnenin mm cinsinden uzaklığını yazdır Mesafe5 olarak okur ve imleci bir sonraki satıra ayarlar. Daha sonra bir yorum bloğunda Bekle değerini yazdır, sonra döngüyü tekrarla yazacaktır. Son olarak, bir Bekleme bloğu 0,1 saniye bekler.
VEXcode EXP Python
while True:
# Konsolda mesafe sensörü değerini yazdırın ve ardından bir sonraki satıra geçin.
print(print_to_console_number_format().format(distance_5.object_distance(MM)))

# Değeri yazdırmak için bekleyin, ardından döngüyü tekrarlayın.
wait(0.1, SANİYE)
wait(20, MSEC)
VEXcode EXP C++
int main() {
while (true) {
// Beyindeki Eylemsizlik sensörü yuvarlanma değerini yazdır ve ardından bir sonraki satıra geç.
printf(printToConsole_numberFormat(),(Distance5.objectDistance(mm)));
printf("\n");

// Değeri yazdırmak için bekle, ardından döngüyü tekrarla.
wait(0.1, seconds);
} }

Robotun hareket etmediği bir VEXcode EXP projesi çalıştırdığınızda VEXcode EXP'de Print Console yazdırma önerilir. Print Console'a yazdırmak için projenin yürütülmesi sırasında EXP Brain'in takılı kalması gerekir. Bu faydalıdır çünkü Brain ekranından veri okumaya çalışmak yerine değerleri VEXcode EXP penceresinden okuyabilirsiniz.

Bu örnekler VEXcode EXP'de Mesafe Sensöründen Konsola bir proje yazdırma verisini göstermektedir. 

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

VEXcode EXP Python'da 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 mu parlak yoksa çok mu karanlık? 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 EXP'de bekleyen ve beklemeyen bloklar hakkında daha fazla bilgi edinmek için bu makaleyi görüntüleyin.
  • 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 EXP'de 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: