Skip to main content

Programlama Sürüşü İleri ve Geri - C++

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - Etkinlik Taslağı

Bu keşif, öğrencilere temel ileri sürüş, geri sürüş ve bekleme programlama davranışlarını tanıtacaktır. Bu temel beceriler, STEM Laboratuvarı'nın sonunda Speedbot'u kullanarak bir hastane katında dolaşacakları Automed Challenge'da başarılı olmalarına yardımcı olacaktır.

V5 Speedbot (Aktarma Organları 2 Motorlu, Jiroskop Yok) şablon projesini kullanarak öğrenciler, Speedbot'u sadece bir komut kullanarak ileri hareket edecek şekilde programlayabilirler.

Hız Robotu hareket etmeye hazır!

Bu keşif, Speedbot'unu basit hareketler için programlayabilmen için sana araçlar verecektir. Bu aktivitenin sonunda, ileri, geri ve bekleme davranışlarını kullanarak Basketbol Tatbikatları Mücadelesine katılacaksınız.

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

İşte VEXcode V5 Kullanıcı Arayüzünün genel bir görünümü. Öğrencilere bu sekmeler/butonlar Medbot STEM Laboratuvarındaki aktiviteler sırasında tanıtılacaktır. Bu sekmeler/butonlar hakkında daha fazla bilgi sağlamak için STEM Lab genelinde bağlantılar da sağlanmıştır.

VEXcode V5 arayüzünü gösteren ekran görüntüsü. Araç çubuğu ekranın en üstünde yer alır, sol altta sürükle-bırak menüsü, sağ altta ise C++ programlama penceresi bulunur. Programlama penceresinin altında 'Hatalar' penceresi bulunmaktadır.

  • Bu keşifte kullanılacak VEXcode V5 talimatları:
    • Drivetrain.driveFor(forward, 200, mm);
    • wait(1, seconds);
  • Talimat hakkında daha fazla bilgi edinmek için Yardım'ı seçin ve ardından daha fazla bilgi görmek için bir komutun yanındaki soru işareti simgesini seçin.

    Drive For komutu için VEXcode Yardım menüsü. Sağ üst köşedeki Yardım simgesi vurgulanarak Yardım Menüsü'nü açmak için nelerin seçileceğini gösterir.

     

  • Gerekli donanıma, mühendislik dizüstü bilgisayarınıza ve VEXcode V5 'e sahip olduğunuzdan emin olun.

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

Eğer öğrenci VEXcode V5'i ilk kez kullanıyorsa, bu keşif sırasında istediği zaman Eğitimlere başvurabilir. Eğitimler araç çubuğunda yer almaktadır.

Dosya menüsünün sağında, kırmızı bir kutu içinde Eğitimler düğmesinin çağrıldığı VEXcode V5 Araç Çubuğu.

Gerekli Malzemeler:
Adet Gerekli Malzemeler
1

Speedbot Robot

1

Şarjlı Robot Pili

1

VEXcode V5

1

USB Kablosu (bilgisayar kullanıyorsanız)

1

Mühendislik Defteri

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

Öğrenciler için sorun giderme adımlarının her birini modelleyin.

Adım 1: Keşfe Hazırlık

Etkinliğe başlamadan önce, bu öğelerin her birini hazır bulunduruyor musunuz? Aşağıdakilerin her birini kontrol edin:

  • Motorlar doğrumı takılı?
  • Akıllı kablolartam olaraktüm motorlara mı takılmış?
  • Beyinmi açılıyor?
  • Pilşarjlı mımi?

Adım 2: Yeni Bir Proje Başlatın

Projeye başlamak için aşağıdaki adımları tamamlayın:

  • Dosya menüsünü açın ve Örnekleri Aç'ı seçin.

    Dosya menüsü açık ve Açık Örnekler kırmızı bir kutuda vurgulanmış VEXcode V5 Araç Çubuğu. Açık Örnekler, Yeni Bloklar Projesi, Yeni Metin Projesi ve Açık altındaki dördüncü menü öğesidir.

     

  • Speedbot (Drivetrain 2 - motor, No Gyro) şablon projesini seçin ve açın. Şablon proje Speedbot'unmotor konfigürasyonunuiçerir. Şablon kullanılmazsa, robotunuz projeyi doğru şekilde çalıştırmayacaktır.

    'Örnek Projeler' menüsü açıktır ve 'Şablonlar' kategorisi seçilidir. Speedbot (Drivetrain 2 - motor, No Gyro) projesi, hangi projenin seçileceğini ve açılacağını belirten kırmızı bir kutu ile vurgulanır.

     

  • Speedbot'u ileri ve geri hareket ettirmek üzerinde çalışacağınız için projenizeDriveadını vereceksiniz.  Proje Adına tıklayın, Sürücü yazın ve Kaydet'i seçin.

 

Yeniden adlandırma açılır menüsü, V5 VEXcode araç çubuğundaki Proje Adı düğmesinden açılır. Proje 'Drive' olarak yeniden adlandırılıyor.

 

 

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

  • Proje Adları kelimeler arasında veya kelimelerden sonra boşluk içerebilir.

    Kırmızı kutuyla vurgulanan Proje Adı düğmesinin bulunduğu V5 VEXcode araç çubuğu. Projenin adı 'Drive Forward' olarak belirlendi.

  • Öğrencilerden proje ismine kendi adlarının baş harflerini veya gruplarının adını eklemelerini isteyebilirsiniz. Öğrencilerden projelerini sunmalarını istemeniz, projelerin farklılaştırılmasına yardımcı olacaktır.
  • Bu, öğrencilerinizin programlama ile ilgili deneyebilecekleri ilk etkinlik olduğundan, adımları modellemeli ve ardından öğrencilerden aynı eylemleri tamamlamalarını istemelisiniz. Öğretmen daha sonra öğrencilerin adımları doğru bir şekilde takip ettiğinden emin olmak için onları izlemelidir.
  • Öğrencilerin Dosya menüsünden Örnekleri Aç seçeneğini seçtiğinden emin olun.
  • Öğrencilerin Speedbot (Aktarma Organları 2 Motorlu, Jiroskop Yok) şablon projesini seçtiğinden emin olun.
  • Öğrencilere Örnekler sayfasında seçebilecekleri birkaç seçenek olduğunu belirtebilirsiniz. Başka robotlar inşa edip kullandıkça farklı şablonları kullanma şansına sahip olacaklar.
  • Araç çubuğunun ortasındaki pencerede artıkDriveprojesi adının olduğundan emin olun.

    VEXcode V5 Araç Çubuğu 'Sürücü' proje adını görüntüler.

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - Projeleri Kaydetme

  • VEXcode V5'i ilk açtıklarında pencerenin VEXcode Projesi olarak etiketlendiğini belirtin. VEXcode V5 ilk açıldığında varsayılan proje adı VEXcode Projesi'dir. Proje Drive olarak yeniden adlandırılıp kaydedildikten sonra, ekran yeni proje adını gösterecek şekilde güncellendi. Araç çubuğundaki bu pencereyi kullanarak öğrencilerin doğru projeyi kullanıp kullanmadıklarını kontrol etmek kolaydır.

  • Öğrencilere artık ilk projelerine başlamaya hazır olduklarını söyleyin. Öğrencilere, sadece birkaç basit adımı izleyerek Speedbot'u ileriye taşıyacak bir proje oluşturabileceklerini ve çalıştırabileceklerini açıklayın.

  • Öğrencilere projelerini çalışırken kaydetmelerini hatırlatın. VEX Kütüphanesi'ndekiC++bölümü VEXcode V5'teki kaydetme uygulamalarını açıklıyor.

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - Durun ve Tartışın

Bu, öğrencilerin VEXcode V5'te yeni bir projeye bireysel olarak veya gruplar halinde başlarken tamamladıkları adımları gözden geçirmeleri için iyi bir noktadır. Öğrencilerden, grup içinde veya tüm sınıfla paylaşmadan önce bireysel olarak düşünmelerini isteyin.

Adım 3: İleriye Doğru İlerleyin

Artık robotu ileri sürmek için programlamaya başlamaya hazırsınız!

  • Programlamaya başlamadan önce, bir talimatın ne olduğunu anlamamız gerekir. Bir talimatın üç bölümü vardır. Talimatın ne olduğu hakkında daha fazla bilgi için "Sözdizimi Kuralları ve Yönergeleri - VEXcode V5" başlıklı makaleye bakın.

    Komutun bileşenlerinin etiketlendiği komut için bir C++ Sürücüsü. Aktarma organları cihaz olarak etiketlenir; için sürücü komut olarak etiketlenir; ve ileri, 100 ve mm parametreler olarak etiketlenir.

  • Talimatı projenize ekleyin, böylece projeniz şu şekilde görünecektir: 

    int main() {
      // Robot Yapılandırması Başlatılıyor. SÖKMEYİN!
      vexcodeInit ();
        // Drivetrain.driveFor proje kodunu başlatın
    
        (ileri, 100, mm);
    
    }

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

Talimatı yazmaya başladığınızda otomatik tamamlama fonksiyonunu fark edebilirsiniz. İstediğiniz ismi seçmek için “Yukarı” ve “Aşağı” tuşlarını kullanın, ardından seçimi yapmak için klavyenizdeki “Tab” veya (Enter/Return) tuşuna basın. Bu özellik hakkında daha fazla bilgi içinC++makalesine göz atın.

Bir kullanıcı C++ komutu yazıyor ve Drivetrain.d yazmaya başladığında program otomatik tamamlama seçeneklerini öneren bir açılır menü açıyor.

  • Robot Beynindeki mevcut sekiz yuvadan birini seçmek için Yuva simgesini seçin ve Yuva 1 'i seçin.

    VEXcode V5 Araç Çubuğu ile Yuva menüsü proje adının solunda açılır. Açılır menü, 1 'den 8' e kadar mevcut tüm slotları listeler. İlk yuva kırmızı bir kutu ile vurgulanır.

     

  • Mikro USB kablosu kullanarak V5 Robot Beyin'i bilgisayara bağlayın ve V5 Robot Beyin'i açın. Araç çubuğundaki Beyin simgesibaşarılı bir bağlantı kurulduğunda yeşil renge döner.

    VEXcode V5 Kontrolör düğmesinin sağındaki yeşil Beyin simgesinin etrafında kırmızı bir kutu bulunan Araç Çubuğu.

     

  • Projeyi Beyne indirmek içinİndirseçin.

    İndirme simgesinin etrafında, Beyin ve Çalıştır düğmeleri arasında kırmızı bir kutu bulunan VEXcode V5 Araç Çubuğu.

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

  • Öğrencilere Robot Beyninden USB kablosunu çıkarmalarını hatırlatın. Bir projeyi çalıştırırken robotun bilgisayara bağlı olması, robotun bağlantı kablosunu çekmesine neden olabilir.

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - Durun ve Tartışın

Öğrencilerden bu projenin Speedbot'a indirilip çalıştırıldığında ne olacağını tahmin etmelerini isteyin. Öğrencilere tahminlerini mühendislik defterlerine kaydetmelerini söyleyin. Zamanınız varsa, her gruptan tahminlerini paylaşmalarını isteyin

  • Projenizin indirildiğinden emin olmak için Robot Brain'in ekranına bakın (C++). Proje adı Sürücü, Yuva 1 'de listelenmelidir.

    V5 Beyin Ana Ekranı, Sürücü simgesinin hemen altındaki sol alt köşedeki Yuva 1 'deki Sürücü programını gösterir.

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - Model İlk

  • Tüm öğrencilerin aynı anda denemesini sağlamadan önce projeyi sınıfın önünde modellemek. Öğrencileri bir alanda toplayın ve Speedbot yere konulduğunda hareket edebilmesi için yeterli alan bırakın.

  • Öğrencilere projelerini yürütme sırasının artık onlarda olduğunu söyleyin. Onlara açık bir yol olduğundan ve hiçbir Speedbot'un birbirine çarpmayacağından emin olun.

  • Projenin seçili olduğundan emin olduktan sonra Robot Beyni üzerindekiÇalıştırbutonuna basarak projeyi robot üzerinde çalıştırın (C++). İlk projenizi oluşturduğunuz için tebrikler!

    V5 Sürüş programı açıkken beyin ekranı ve en soldaki Çalıştır düğmesinin etrafında kırmızı bir kutu. Çalıştır'ın sağında Zamanlı Çalıştırma, Eşleştirme ve Kablolama düğmeleri bulunur.

Adım 4: Geri Sürüş

Artık robotunuzu ileri gidecek şekilde programladığınıza göre, şimdi geri geri gidecek şekilde programlayalım.

  • Sürücü talimatındaki parametreyi ters çevirecek şekilde değiştirin, böylece projeniz şu şekilde görünür:

    int main() {
      // Robot Yapılandırması Başlatılıyor. SÖKMEYİN!
      vexcodeInit ();
        // Drivetrain.driveFor proje kodunu başlat
    
        (ters, 100, mm);
    
    }
  • Drive'dan Reverse'e değiştirmek için Proje Adını seçin .

    VEXcode V5 'teki proje adı iletişim kutusu Tersini okur ve Yuva 1' in seçildiğini gösterir.

     

  • Yeni bir yuva seçmek için yuva simgesini seç. Yuva 2 'yi seçin.

    VEXcode V5 'teki yuva seçimi, yuva 2 seçili ve kırmızı bir kutu ile vurgulanmış olarak açılır.

     

  • Projeyi indirin (C++).

    VEXcode V5 'in Araç Çubuğundaki indirme düğmesi, yeşil bir beyin simgesinin solunda ve Çalıştır ve Durdur düğmelerinin sağında kırmızı bir kutu ile vurgulanmıştır.

  • Projenizin indirildiğinden emin olmak için Robot Brain'in ekranına bakın (C++). Proje adı Reverse, Slot 2 'de listelenmelidir.

    V5 Beyin Ana Ekranı, Slot 1 'deki Drive projesinin yanında, soldan ikinci simge olan Slot 2' deki Ters projeyi gösterir.

  • Projenin seçili olduğundan emin olduktan sonra Robot Beyni üzerindekiÇalıştırbutonuna basarak projeyi robot üzerinde çalıştırın (C++).

    Ters proje açık ve Çalıştır düğmesi en soldaki kırmızı kutuda vurgulanmış V5 Beyin Ekranı. Çalıştır'ın sağında Zamanlı Çalıştırma, Eşleştirme ve Kablolama düğmeleri bulunur.

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - 4. Adımı Tamamlama

  • driveForkomutunuilerigerideğiştirmek için, ilk parametreyi -100 olarak değiştirmeniz yeterlidir. Bu, aktarma organlarındaki motorların ters yönde hareket etmesini sağlayacaktır.

  • mm sayısı değiştirilebilir, ancak bu örnekte bir önceki adımda ayarladığımız gibi mm'yi 100 mm'de bırakacağız.

  • Projeyi çalıştırmadan önce Robot Beyni'nden USB kablosunu çıkarmaları gerektiğini hatırlatın.

  • Öğrencilere projelerini çalışırken kaydetmelerini hatırlatın. VEX Kütüphanesi'ndekiC++bölümü VEXcode V5'teki kaydetme uygulamalarını açıklıyor.

Adım 5: Bekleyin ve ardından Geri Viteste Sürün

Artık robotu ileri ve sonra geri gidecek şekilde programladığımıza göre, robotun geri geri gitmeden önce belirli bir süre beklemesi için bir bekleme talimatı ekleyebiliriz.

  • Drive for komutundan önce bir Bekleme talimatı ekleyin. Wait komutunun Drive komutuyla eşleşecek şekilde girintili olduğundan ve tüm komutların kıvrımlı parantez içinde olduğundan emin olun. Bu, robota geri geri gitmeden önce üç saniye beklemesini söyler.

        wait(3, seconds);
    
        Drivetrain.driveFor(forward, 100, mm);
  • Reverse'den WaitReverse'e değiştirmek için Proje Adını seçin.

    VEXcode V5 'teki proje adı iletişim kutusu, Tersine Bekleme'yi okur ve yuva 2' nin seçildiğini gösterir.

  • Yeni bir yuva seçmek için yuva simgesini seç. Yuva 3 'ü seçin.

    VEXcode V5 Araç Çubuğundaki yuva seçimi, seçilen ve kırmızı bir kutu ile vurgulanan yuva 3 'ü gösterir.

  • Projeyi indirin (C++).

    VEXcode V5 Araç Çubuğundaki indirme düğmesi, yeşil bir beyin simgesinin sağında ve Çalıştır ve Durdur düğmelerinin solunda kırmızı bir kutuda vurgulanır.

  • Projenizin indirildiğinden emin olmak için Robot Brain'in ekranına bakın (C++). WaitReverse proje adı Slot 3 'te listelenmelidir.

    V5 Beyin Ana ekranı, 3. yuvadaki Tersine Bekleme projesini, alt sıradaki üçüncü simgeyi gösterir.

  • Projenin seçili olduğundan emin olduktan sonra robot üzerinde projeyi çalıştırın (C++) ve ardındanÇalıştırbutonuna basın.

    V5 Tersine Bekleme projesinin açık olduğu ve Çalıştır düğmesinin en soldaki kırmızı kutuda vurgulandığı beyin ekranı. Çalıştır'ın sağında Zamanlı Çalıştırma, Eşleştirme ve Kablolama düğmeleri bulunur.

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - 5. Adımı Tamamlama

  • Wait komutunu kullanmak projeyi sonlandırmaz, sadece robotik hareketi duraklatır.

  • Eğer öğrenciler bilgisayar kullanıyorsa, projeyi çalıştırmadan önce Robot Beyni'nden USB kablosunu çıkarmaları gerektiğini hatırlatın.

  • Öğrencilere projelerini çalışırken kaydetmelerini hatırlatın. VEX Kütüphanesi'ndekiC++bölümü VEXcode V5'teki kaydetme uygulamalarını açıklıyor.

Adım 6: Basketbol Antrenmanları Mücadelesini Tamamlayın!

Basketbol Matkapları Kurulumu, solda bir başlangıç çizgisi ile aralıklı dört çizgi ve 10 cm, 20 cm ve 40 cm uzaklıktaki çizgileri gösterir. Bir V5 Robotu, başlangıç çizgisinde ön tekerlekleri ile başlamaya hazırdır.

Basketbol Tatbikatları Meydan Okuma düzeni

Basketbol Tatbikatları Mücadelesinde, robot farklı mesafelerde bir dizi çizgide gezinebilmelidir. Robot, başlangıç konumundan 10 cm uzaklıktaki ilk çizgiye doğru ilerleyecek, 1 saniye bekleyecek ve ardından aynı çizgiye geri dönecektir. Robot daha sonra ikinci çizgiye 20 cm ileri giderek hareketi tekrarlayacak, 1 saniye bekleyecek ve ardından orijinal başlangıç çizgisine geri dönecektir. Robot, 40 cm'lik bir mesafeyle üçüncü çizgiye doğru ilerleyecek, 1 saniye bekleyecek ve ardından mücadeleyi tamamlamak için başlangıç çizgisine geri dönecektir.

Robotu programlamadan önce, robotun yolunu ve davranışlarını mühendislik not defterinize planlayın.

Basketbol Mücadelesini tamamladıktan sonra, daha da ileri düzey mücadeleleri tamamlamak için ileri ve geri hareketleri ek robot davranışlarıyla birleştirebileceksiniz.
Programlarken 1 cm = 10 mm olduğunu unutmayın.

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - Çözümü

Aşağıda örnek bir çözüm görebilirsiniz:

int main() {
  // Robot Yapılandırması Başlatılıyor. ÇIKARMAYIN!
  vexcodeInit();
    // Proje kodunu başlat

    // 10 cm ileri sür
    Drivetrain.driveFor(forward, 100, mm);
    // 1 saniye bekle
    wait(1, seconds);
    // Başlangıç çizgisine geri sür
    Drivetrain.driveFor(reverse, 100, mm);

    // 20 cm ileri sür
    Drivetrain.driveFor(forward, 200, mm);
    // 1 saniye bekle
    wait(1, seconds);
    // Başlangıç çizgisine geri sür
    Drivetrain.driveFor(reverse, 200, mm);

    // 40 cm ileri sür
    Drivetrain.driveFor(forward, 400, mm);
    // 1 saniye bekle
    wait(1, seconds);
    // Başlangıç çizgisine geri sür
    Drivetrain.driveFor(reverse, 400, mm);

}

Öğretmen Araç Kutusu simgesi Öğretmen Araç Kutusu - Durun ve Tartışın

Öğrencilerden çözümlerini tüm sınıfça tartışmadan önce ikili gruplar halinde paylaşmalarını isteyin. Tartışmayı kolaylaştırmak için şu soruları sorun:

  • Bu yarışmayı programlarken herhangi bir zorlukla karşılaştınız mı?

  • Robotunuz projenize göre beklediğiniz gibi davrandı mı? Neden veya neden olmasın?

  • Eğer meydan okumayı tekrar yapma şansın olsaydı, farklı olarak yapacağın bir şey var mıydı?