VEX IQ Akıllı Motorlarla Kodlama

VEX IQ Akıllı Motorun, VEXcode IQ'da kodlama yaparken kullanılabilecek birçok işlevi vardır. Bu, VEX IQ kullanılarak oluşturulan aktarma organları ve diğer mekanizmaların yanı sıra kolları, pençeleri ve girişleri kodlarken kullanışlı olabilir. Motorların nasıl kodlanabileceğini anlamak, projelerin durması veya motorların istenildiği gibi çalışmaması gibi sorunları hafifletmeye yardımcı olacaktır.

Motor Kodlayıcı

VEX IQ Akıllı Motor, çoğu motorda olduğu gibi elektrik enerjisini mekanik enerjiye dönüştürmekle kalmıyor, aynı zamanda çoğu motorda bulunmayan ve onu "akıllı" yapan özelliklere de sahip. Ana özelliklerinden biri karesel kodlayıcıdır. Bu kodlayıcı, motor şaftının hızını ve/veya konumunu izlemek için motorun iç kısmına monte edilir.

VEX IQ Smart Motor'un kodlayıcısından gelen raporlar şunları bilmeyi mümkün kılar:

  • Motorun dönüş yönü (ileri/geri veya açık/kapalı)
  • Motorun konumu ve motorun dönüş miktarı ve konumu (dönüş veya derece olarak)
  • Motorun dönüş hızı (kodlayıcının zaman içindeki konumuna bağlı olarak)

Kodlayıcı motorun durumlarını bildirdiğinden, bunlar, Hareket ve Algılama komutlarının çoğunun VEXcode IQ içinde çalışmasını sağlamak için sahne arkası hesaplamalarda kullanılabilir.

Bireysel Motorların Kodlanması

VEXcode IQ'da akıllı motorları ayrı ayrı kodlamaya başlamadan önce motoru yapılandırmanız gerekir. Bireysel motorlar sıklıkla girişler, kollar ve pençeler gibi ek mekanizmalar için kullanılır. Ancak tüm bilgiler hala bireysel motorları kullanan diğer mekanizmalar için geçerlidir.

Tek bir motor yapılandırıldığında, o motoru kontrol etme komutları Araç Kutusu'nda görünecektir. Farklı türde komutların olduğunu fark edeceksiniz: bekleme ve beklememe.

Bekleme ve Beklemeyen Komutlar

Buradaki tüm görsellerin blokları gösterdiğini unutmayın. Bu projelerin tümü Python veya C++ ile yeniden oluşturulabilir ve bloklarla aynı işlevleri içerebilir.

VEXcode IQ, pençe motorunu, ardından robotu ve ardından kol motorunu sırayla hareket ettirmek için bekleyen komutları kullanan bir projeyi bloke eder. Proje başlatıldığında ClawMotor'un 90 derece kapanması gerektiğini söylüyor. Daha sonra 200 mm geriye doğru sürün ve ArmMotor'u 180 derecelik konuma getirin.

Bekleme komutları, davranış tamamlanana kadar projenin devam etmesini engeller. Bunlar, [Pozisyonuna döndür] ve [Pozisyonuna döndür] gibi komutları içerir.

Burada gösterilen proje bir Clawbot (2 motorlu) şablonu kullanıyor ve tüm komutlar bekliyor. Yani seri olarak pençe motoru 90 derece kapanacak, robot geriye doğru hareket edecek, ardından kol 180 derece konuma ulaşacak şekilde dönecekti.

VEXcode IQ, emme motorunu tam 2 saniye boyunca döndürmek için beklemeyen komutları kullanan projeyi engeller. Proje başlatıldığında IntakeMotor'u döndür, 2 saniye bekle ve sonra IntakeMotor'u durdur şeklinde okunur.

Bunun tersine beklemeyen komutlar vardır. Beklemeyen bir komut, davranışı süresiz olarak veya başka bir davranışa geçmesi söylenene kadar yürütür. Bunlar, [Döndür] gibi komutları içerir.

Burada gösterilen proje, giriş eklenmiş bir BaseBot kullanıyor. Burada emme motoru dönmeye başlayacaktır. [Bekle] komutu bir bekleme komutudur, dolayısıyla giriş 2 saniye dolana kadar dönmeye devam edecek, ardından projedeki bir sonraki komuta, yani [Durdur] komutuna geçecektir. Daha sonra motor dönmeyi bırakacaktı.

Motor Zaman Aşımları

Bir motoru bir kolun veya pençenin parçası olarak kodlarken, bekleyen ve beklemeyen bloklar arasındaki farkı ve bunların robotunuzun hareketini nasıl etkileyeceğini hatırlamak önemlidir. Motor zaman aşımları, motorun amaçlanan hedef konuma ulaşması için bir zaman sınırı belirlemenize olanak tanır. Süre dolduğunda bu konumu karşılayamadıysa motor dönmeyi deneyecek ve proje bir sonraki komuta geçecektir.

VEXcode IQ, pençe motorunu 90 derece kapalı konuma getirmek veya robotu hareket ettirmeden önce 2 saniye geçmesini sağlamak için motor zaman aşımı bloğu kullanan bir projeyi engeller. Proje başlatıldığında ClawMotor zaman aşımını 2 saniyeye ayarlayın ve ClawMotor'u 90 derece kapatın. Son olarak 200 mm geri sürüş yapın.

Bu örnekte motor zaman aşımı 2 saniyeye ayarlanmıştır. Tırnak 2 saniye içinde 90 dereceye yaklaşmazsa, motor 2 saniye işaretinde dönmeyi durduracak, ardından bir sonraki komuta geçecek ve ileri doğru hareket edecektir.

Cihazlar menüsünden açılan Motor Sensörü Pano'su ile beyin ekranı gösterilmektedir. Motorun komutu, hızı, pozisyonu, akımı ve motorun Akıllı Portu gibi bilgiler gösterilir.

Motoru ne kadar uzağa hareket ettireceğinizden emin değilseniz sensör kontrol panelini kullanın. Gösterge paneli motorun konumunu derece ve devir cinsinden bildirir, böylece motoru hareket ettirdikçe (pençeyi açıp kapatmak gibi) sayılar değişecektir. Bir tırnağı kapatmak, bir kolu kaldırmak, bir girişi döndürmek vb. için kaç derece veya dönüş gerektiğini belirlemek için bu testi kullanın.

Sensör kontrol panelinin nasıl kullanılacağını öğrenmek için bu makalelere bakın.

Akıllı Motorları Aktarma Organının Parçası Olarak Kodlama

VEXcode IQ'da aktarma organlarını kodlamaya başlamadan önce, kullanılan motorlar da dahil olmak üzere aktarma organlarını yapılandırmanız gerekir. Motorlar, [Drive] ve [Drive for] gibi aynı komutlarla kontrol edildiklerinden emin olmak için aktarma organları içinde yapılandırılmıştır.

Bekleme ve Bekleme Dışı Komutlar

Aktarma organlarını kodlarken, robotun hareketini kontrol etmek için bekleme ve bekleme dışı komutlar mevcuttur.

VEXcode IQ blokları, robotu ileri doğru sürmek ve ardından sırayla sağa dönmek için bekleyen komutları kullanan bir projedir. Projede, "Başlangıçta 200 mm ileri gidin ve sonra 90 derece sağa dönün" yazıyor.

Bekleme komutları, davranış tamamlanana kadar projenin devam etmesini engeller. Bunlar arasında [Şuraya sür] [İleriye doğru dön] ve [İleriye doğru dön] gibi komutlar bulunur.

Burada gösterilen proje bir Clawbot (2 motorlu) şablonu kullanıyor ve tüm komutlar bekliyor. Yani robot seri olarak 200 milimetre ileri gidecek ve aktarma organlarını kullanarak tamamen sağa dönecekti.

VEXcode IQ, robotu Tampon'a basılana kadar ileri sürmek ve ardından sağa döndürmek için beklemeyen bir komut kullanan projeyi engeller. Projede şu ifadeler yer alıyor: Başlatıldığında ileri doğru sürün, Bumper3'e basılana kadar bekleyin ve ardından 90 derece sağa dönün.

Bunun tersine beklemeyen komutlar vardır. Beklemeyen bir komut, davranışı süresiz olarak veya başka bir davranışa geçmesi söylenene kadar yürütür. Bunlar, [Drive] gibi komutları içerir.

Burada gösterilen proje bir BaseBot kullanıyor. Burada robot, Tampon Anahtarına basılana kadar süresiz olarak ileri gidecekti. Daha sonra proje bir sonraki komuta geçecek ve robot ilerlemeyi bırakıp 90 derece sağa dönecekti.

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

Last Updated: