Skip to main content

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - Bu Etkinliğin Amacı

Bu etkinlik, ekrana basılmadıkça robotun ilerlemesini sağlamak için while ve if ifadelerini öğrencilere tanıtacaktır.

  • Bu etkinlik, ekrana basılmadığı sürece öğrencilere koşulları ve robotun ileriye doğru hareket etmesini sağlayan talimatları tanıtacaktır.

  •  Eğer öyleyse ve eğer öyleyse ifadeleri veya bu etkinlikte kullanılan diğer ifadeler hakkında daha fazla bilgi için VEXcode V5 'teki yardım bilgilerini ziyaret edin. Bu yerleşik yardım aracı hakkında daha fazla bilgi için C++' daki yardımla ilgili bu makalelere göz atın .

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu

Bu bölüm için öğretim stratejileri hakkında öneriler için, Yapılması veya Yapılmaması Gerekenler Kılavuzunun Teslimat sütununu inceleyin! (Google Doc /.docx /.pdf)

Clawbot karar vermeye hazır!

Bu keşif, if else ifadesini kullanan bazı harika projeler oluşturmaya başlayabilmeniz için size araçlar verecektir.

  • Bu keşifte kullanılacak VEXcode V5 C++ komutları: 
    • Drivetrain.drive(ileri);
    • Brain.Screen.pressing()
    • Drivetrain.stop();
    • if (condition){}
    • waitUntil();
    • while (condition){}  
    • wait(1, seconds);

C++ talimatları hakkında bilgi edinmek için VEXcode V5 'in içindeki Yardım bilgilerini kullanabilirsiniz.

VEXcode V5 ile komut sürücüsü soldaki çalışma alanına yazılır ve Yardım bilgileri sağda açılır. Yardım, komutun bir tanımını ve nasıl kullanıldığına ilişkin bilgileri gösterir.

Gerekli donanıma, mühendislik defterinize ve VEXcode V5 'e sahip olduğunuzdan emin olun.

Gerekli Malzemeler:
Adet Gerekli Malzemeler
1

VEX V5 Sınıf Başlangıç Kiti (güncel ürün yazılımı ile)

1

VEXcode V5 (en son sürüm, Windows, macOS)

1

Mühendislik Defteri

1

Clawbot (Drivetrain 2 - motor, No Gyro) Şablonu

Öğretmen İpuçları simgesi Öğretmen İpuçları

Öğrencinin VEXcode V5 'i ilk kez kullanması durumunda, bu keşif sırasında herhangi bir zamanda Öğreticilere başvurabilirler. Öğreticiler araç çubuğunda bulunur.

VEXcode V5 Araç Çubuğunda Eğitim simgesi kırmızı bir kutuda vurgulanmıştır. Soldaki Araç Çubuğu V5 simgesini, bir küre simgesini, Dosya'yı ve ardından Öğreticiler'i gösterir. Sağda ek simgeler ve işlevler vardır.

1. Adım: Koşullu ifadelerin anlaşılmasıyla başlayalım 

Koşullarla programlamaya başlamadan önce, If Then Else İfadelerini açıklayan VEX Kitaplığı Makalesini okuyun. Makaleye buradan ulaşabilirsiniz.

VEX Kütüphanesinden ekran görüntüsü, VEXcode V5 'teki if - else ifadelerini kullanma başlıklı bir makale gösteriliyor. If Then Else ifadelerinde kullanılacak operatörlerin bir listesi için Boolean'ları açıklayan VEX Library Makalesini okuyun. Bu makaleye buradan ulaşabilirsiniz.VEX Kütüphanesinden VEXcode V5 'te Boolean Kullanımı başlıklı bir makaleyi gösteren ekran görüntüsü.

Adım 2: Koşullu ifadelerle programlamaya başlayalım.

  • Clawbot (Drivetrain 2 - motor, No Gyro) şablon örnek projesini açın.

    VEXcode V5 'te, üstteki Şablonlar filtresinin etrafında kırmızı bir kutu ve Clawbot aktarma organı 2 motor no gyro projesi ile hangi şablonun açılacağını gösteren örnek proje seçimi.

     

  • Projeyi aşağıda oluşturun.
// Proje kodu
int main() başlatılıyor {//
  Robot Yapılandırması başlatılıyor. SÖKMEYİN!
  vexcodeInit ();

  while (true
    ){ Drivetrain.drive (forward);
    if (
      Brain.Screen.pressing ()){ Drivetrain.stop ();
      waitUntil ()!
    Brain.Screen.pressing    
  
();}}}  

Mühendislik defterinizde aşağıdakileri yapın:

  • Projenin Clawbot'un ne yaptığını açıklayın. Bir durdurma düğmesi oluşturduğu gerçeğinden daha fazlasını açıklamanız gerekecektir. Hangi talimatların Clawbot'a ne yaptırdığını açıklayın.
  • Projenin ne yaptığını yakalayan tek cümlelik bir özet yazın.
  • Projenin Clawbot'un ne yaptığına dair tahmininizin doğru olup olmadığını görmek için test edin.

VEXcode V5 Araç Çubuğundaki Proje Adı İletişim kutusu, Durdurma Düğmesi Oluşturma öğesini okur ve yuva 1 'in seçili olduğunu gösterir.

  • Projeyi CreateAStopButton olarak Clawbot'taki Slot 1 'e kaydedin ve indirin, ardından çalıştırın.
  • Bir projeyi indirme konusunda yardım için VEXcode V5 'te yer alan ve bir Projeyi İndirme ve Çalıştırma (C++) adımlarını açıklayan öğreticiyebakın.
  • Projeyle ilgili açıklamalarınızı kontrol edin ve gerektiğinde düzeltmek için notlar ekleyin.

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - Cevaplar

Bu projede robot sürekli ileri gider ancak ekrana basılırsa durur. Bunu, sürekli olarak araç sürmek ve kontrol etmek için bir sürekli ifadesi kullanarak yapar. Ekrana basılıyorsa (TRUE), Clawbot sürüşü durdurur.Durdurma Düğmesi Oluşturma projesi, amaçlarıyla etiketlenmiş komutlarla gösterilir. If komutu kırmızı renkte daire içine alınır ve Durumun Doğru olup olmadığını kontrol eder - ekrana basılır. Aktarma organı nokta durdurma komutu etiketlenir Doğruysa bloğu çalıştırır. Bekleme komutu etiketlenene kadar işleme hızını kontrol eder.

Öğrencilerin waitUntil () yönergesinin neden kullanıldığını anlamaları beklenmez. Robotun program akışının hızı nedeniyle waitUntil () talimatının gerekli olduğunu açıklayın. Orada olmasaydı, Clawbot'un motorları, kullanıcı projede döngü yaparken ekrana tekrar tekrar basıyormuş gibi davranırdı. Bunun yerine , waitUntil () komutu program akışını durdurur ve kullanıcı ekrana basmayı durdurana kadar projenin sürekli döngüyü tekrar başlatmasını sağlamaz.

Sahte kod satırı şu kadar basit olabilir: Ekrana basılana kadar ileri sürün.

Öğrencilerin mühendislik defterleri ayrı ayrı (Google Doc /.docx /.pdf ) veya takım olarak (Google Doc /.docx /.pdf ) tutulabilir ve puanlanabilir. Önceki bağlantılar, her yaklaşım için farklı bir performans değerlendirme ölçeği sağlar. Bir DPA eğitim planlamasına dahil edildiğinde, DPA'yı açıklamak veya en azından etkinlik başlamadan önce öğrencilere kopyalarını vermek iyi bir uygulamadır.

Adım 3: Wait until() ifadesini anlama.

Beynin ekranına basılırsa, projenin akışının hızlı bir şekilde hareket edeceğine ve projenin bir sonraki talimat olan Drivetrain.stop () talimatına geçeceğine dikkat edin .

Bu nedenle, projenin Beyin ekranı serbest bırakılana kadar robotun durmasını söyleyen bir waitUntil () talimatına ihtiyacı vardır. Aksi takdirde, sonsuz ifadesi projenin yeniden başlamasına neden olur.

waitUntil(! Brain.Screen.pressing ());

 WaitUntil() talimatı, projenin akış hızı nedeniyle gereklidir. Orada olmasaydı, robotun yanıt verecek zamanı olmadan önce proje bir sonraki talimata geçecekti.

4. Adım: Projeyi değiştirin.

Bir sonraki adımımız if then ifadesini if then ifadesine değiştirmektir.

VEXcode V5 Araç Çubuğundaki proje adı iletişim kutusunda Dur veya Sür okunur ve yuva 1 'in seçili olduğunu gösterir.

// Proje kodu
int main() başlatılıyor {//
  Robot Yapılandırması başlatılıyor. SÖKMEYİN!
  vexcodeInit ();

  while (true ){
    Drivetrain.drive (forward);
    if (Brain.Screen.pressing
      ()){ Drivetrain.stop ();
      waitUntil ()! Brain.Screen.pressing ();
    } 
    else {
      Drivetrain.drive(forward);
   
  
}}}  
  • StopOrDrive'ı Clawbot'unuzdaki Yuva 2 'ye indirin.

VEXcode V5 Araç Çubuğundaki yuva seçimi açıktır ve yuva 2 seçilir ve kırmızı bir kutu ile vurgulanır. Proje adı Stop or Drive (Dur veya Sür) olarak okunur.

  • Bir projeyi indirme konusunda yardım için VEXcode V5 'te yer alan ve bir Projeyi İndirme ve Çalıştırma (C++) adımlarını açıklayan öğreticiyebakın.
  • CreatingAStopButton'ı  (Slot 1) test edin ve ardından StopOrDrive'ı (Slot 2) test edin ve robotun davranışında herhangi bir fark olup olmadığını görmek için bunları karşılaştırın. Mühendislik defterinizdeki farklılıkları not edin

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - Cevap

Robotun davranışı ile ilgili olarak, CreatingAStopButton ve StopOrDrive projeleri arasında bir fark   olmamalıdır.

Öğrencilerin If - Else İfadelerini anlama konusunda daha fazla yardıma ihtiyacı varsa, buraya tıklayın.

İki proje de Clawbot'un aynı şekilde davranmasını sağlıyor. Tek fark, StopOrDrive projesinde if then else ifadesinin kullanılmasıdır.

 If then else ifadesini kullanmak, yaklaşan etkinliklerde ekrana ek düğmeler eklemenizi sağlar.

Öğrenme simgenizi genişletin Öğrenmenizi Genişletin

Bu STEM Laboratuvarı ilerledikçe, öğrenciler Clawbot'un ekranının bir kullanıcı arayüzü olarak işlev görmesini sağlayan projeler geliştireceklerdir. Buna hazırlanırken, öğrencileri ekranda bir düğme gibi işlev gören renkli bir dikdörtgenin nasıl çizileceğini anlamaya zorlayın. Ekranda herhangi bir yere basmak şu anda durum olduğundan, düğme tüm ekranı kaplamalıdır. Öğrenciler, başladığında düğmeyi çizmek için projenin bir etkinlik yayınlamasını sağlamalıdır. Öğrencileri önce beynin ekranının bir koordinat sisteminde nasıl düzenlendiğini öğrenmeye
yönlendirin. Kullanacakları talimatlar dahilinde parametreleri ayarlamak için bunu anlamaları gerekecektir. Kullanılan koordinatlar, sütun veya satır sayısına değil piksel sayısına karşılık gelir. Ekranın düzeni şöyledir:

V5 Beyin ekranının piksel ızgarası, sol taraf boyunca 12 numaralı satırı gösterir, üst sıra Satır 1 ve alt sıra Satır 12 olarak etiketlenir. Üstte 48 numaralı sütun vardır, en solda Sütun 1 ve en sağda Sütun 48 etiketlidir. Toplam piksel ölçümleri 480 piksel genişliğinde ve 240 piksel boyundadır.

Öğrenciler, mühendislik defterlerinde belgelendirirken projedeki bu değişiklikleri planlamalı, test etmeli ve iyileştirmelidir. Bireysel mühendislik not defteri performans değerlendirme ölçeği için, aşağıdaki bağlantılardan birine tıklayın ( Google Doc /.docx /.pdf) veya ekip not defterleri için aşağıdaki bağlantılardan birine tıklayın ( Google Doc /.docx /.pdf).

İşte örnek bir çözüm:

// Begin project code
event draw = event ();

void drawButton (){ Brain.Screen.setFillColor
  (red); Brain.Screen.drawRectangle
  (0, 0, 480, 240);
  wait(1, seconds);
}

int main
  (){// Initializing Robot Configuration. SÖKMEYİN!
  vexcodeInit ();

  draw(drawButton);

  while (true)
    {draw.broadcast
    (); Drivetrain.drive (forward);
    if (Brain.Screen.pressing ())
      {waitUntil ()! Brain.Screen.pressing ();
    } 
    else {
      Drivetrain.drive(forward);
   
  
}}}  

Gördüğünüz gibi, düğme (0, 0) orijininden başlayarak 480 yatay (x ekseni) pikselin ve 240 dikey (y ekseni) pikselin tamamını dolduracak şekilde çizilmiştir.

Laboratuvarlara Geri <  Dön Sonraki  >