Sağa ve Sola Dönme Programlaması - C++
Speedbot dönmeye hazır!
Bu keşif, Speedbot'unuzun takip etmesi için bazı harika projeler oluşturmaya başlayabilmeniz için size araçlar verecektir.
- Bu keşifte kullanılacak VEXcode V5 talimatları:
- Drivetrain.turnFor(sağ, 90, derece);
-
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.

- Gerekli donanıma, mühendislik dizüstü bilgisayarınıza ve VEXcode V5 'e sahip olduğunuzdan emin olun.
| Adet | Gerekli Malzemeler |
|---|---|
| 1 |
Speedbot Robot |
| 1 |
Şarjlı Robot Pili |
| 1 |
VEXcode V5 |
| 1 |
USB Kablosu (bilgisayar kullanıyorsanız) |
| 1 |
Mühendislik Defteri |
Adım 1: Keşfe Hazırlık
Etkinliğe başlamadan önce, bu öğelerin her birini hazır bulunduruyor musunuz?
- Tüm motorlardoğru portlara mı 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.
-
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.

-
Speedbot'u döndürmek üzerinde çalışacağınız için projenizeTurnadını vereceksiniz.

-
İşiniz bittiğindeKaydetseçin.
Öğretmen İpuçları
Proje Adları kelimeler arasında veya kelimelerden sonra boşluk içerebilir.
Adım 3: Sağa Dönün
Artık robotu sağa dönecek şekilde programlamaya başlamaya hazırsınız!
-
Talimatları projeye ekleyin, böylece projeniz şu şekilde görünür:
int main() { // Robot Yapılandırması Başlatılıyor. SÖKMEYİN! vexcodeInit (); // Drivetrain.turnFor proje kodunu başlat (sağ, 90, derece); } - Robot Beynindeki mevcut sekiz yuvadan birini seçmek için Yuva simgesini seçin ve Yuva 1 'i seçin.
- 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.
- V5 Robot Beyin bilgisayara bağlandığında, Oluştur simgesi İndir simgesine dönüşür. Projeyi Beyne indirmek içinİndirseçin.
Öğ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
-
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. Eğer 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ı Turn, Slot 1 'de listelenmelidir.

Öğ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.
-
Öğrencilere projelerini çalışırken kaydetmelerini hatırlatın. VEX Kütüphanesi'ndeki bu bölüm (C++) VEXcode V5'teki kaydetme uygulamalarını açıklamaktadır.
- Projenin seçili olduğundan emin olduktan sonra Robot Beyni üzerindekiÇalıştırbutonuna basarak projeyi (C++) Speedbot robotunda çalıştırın.
Adım 4: Sola Dönün
Artık robotunuzu sağa dönecek şekilde programladığınıza göre, sola dönecek şekilde programlayalım.
-
Talimattaki parametreyisağyerinesolgösterecek ş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.turnFor proje kodunu başlat (sol, 90, derece); } - TurnLeft'ten TurnLeft'e değiştirmek için Proje Adını seçin.
- Yeni bir yuva seçmek için yuva simgesini seç. Yuva 2 'yi seçin.
- Projeyi indirin (C++).
- Projenizin indirildiğinden emin olmak için Robot Brain'in ekranına bakın (C++). TurnLeft proje adı Slot 2 'de listelenmelidir.
- Projenin seçili olduğundan emin olduktan sonra robot üzerinde projeyi çalıştırın (C++) ve ardındanÇalıştırbutonuna basın.
Adım 5: Bekleyin ve Sola Dönün
Artık robotu sağa ve sola dönecek şekilde programladığımıza göre, robotun sola dönmeden ö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 sola dönmeden önce üç saniye beklemesini söyler.
wait(3, seconds); Drivetrain.turnFor(left, 90, degrees); - TurnLeft'ten WaitLeft'e değiştirmek için Proje Adını seçin.
- Yeni bir yuva seçmek için yuva simgesini seç. Yuva 3 'ü seçin.
- Projeyi indirin (C++).
- Projenizin indirildiğinden emin olmak için Robot Brain'in ekranına bakın (C++). WaitLeft proje adı Slot 3 'te listelenmelidir.
- Projenin seçili olduğundan emin olduktan sonra robot üzerinde projeyi çalıştırın (C++) ve ardındanÇalıştırbutonuna basın.
Adım 6: Güvenlik Kamerası Mücadelesini Tamamlayın!
Güvenlik Kamerası Mücadelesinde robot 90 derece sağa dönerek başlamalıdır. Robot daha sonra tıpkı bir güvenlik kamerası gibi 180 derece sola ve 180 derece sağa "tarama" yapacak. Robot daha sonra 180 derece sola ve 180 derece sağa dönüşleri iki kez daha tekrarlayacak. Böylece robot toplamda üç kez 180 derecelik bir alanı tarayacaktır.
Robotu programlamadan önce, robotun yolunu ve davranışlarını mühendislik not defterinize planlayın.
Güvenlik Kamerası Mücadelesini tamamladıktan sonra, ileri ve geri hareketleri ek robot davranışlarıyla birleştirerek daha da gelişmiş mücadeleleri tamamlayabileceksiniz.
Öğretmen Araç Kutusu
-
Çözümü
Aşağıdaki örnek çözümü inceleyin.
int main() {
// Robot Yapılandırması Başlatılıyor. ÇIKARMAYIN!
vexcodeInit();
// Proje kodunu başlat
// Robot 90 derece sağa dönecek
Drivetrain.turnFor(right, 90, degrees);
// Robot 180 derece sola dönecek
Drivetrain.turnFor(left, 190, degrees);
// Robot 180 derece sağa dönecek
Drivetrain.turnFor(right, 180, degrees);
// Robot 180 derece sola dönecek
Drivetrain.turnFor(left, 180, degrees);
// Robot 180 derece sağa dönecek
Drivetrain.turnFor(right, 180, degrees);
// Robot 180 derece sola dönecek
Drivetrain.turnFor(left, 180, degrees);
// Robot 180 derece sağa dönecek
Drivetrain.turnFor(right, 180, degrees);
}