Skip to main content

Programování pohonu vpřed a vzad - C++

Ikona sady nástrojů pro učitele Nástin aktivit učitele

Tato studie seznámí studenty se základními způsoby programování, jako je pohyb vpřed, vzad a čekání. Tyto základní dovednosti jim pomohou uspět v další aktivitě a v soutěži Strike Challenge na konci této STEM laboratoře, kde budou soutěžit v bowlingu s využitím Speedbota.

Pomocí šablony projektu V5 Speedbot (pohon se 2 motory, bez gyroskopu) mohou studenti naprogramovat Speedbota tak, aby se pohyboval vpřed pouze pomocí jedné instrukce.

Speedbot je připraven k pohybu!

Tento průzkum vám poskytne nástroje, které vám umožní naprogramovat Speedbota pro jednoduché pohyby. Na konci této aktivity se zapojíte do výzvy Basketball Drills Challenge pomocí chování vpřed, vzad a čekání.

Ikona sady nástrojů pro učitele Sada nástrojů pro učitele

Zde je přehled uživatelského rozhraní VEXcode V5. Studenti se s těmito záložkami/tlačítky seznámí během aktivit v této STEM laboratoři Momentum Alley. V celé STEM laboratoři jsou také k dispozici odkazy s dalšími informacemi o těchto kartách/tlačítkách.

Obrázek pracovního prostoru VEXcode V5 s otevřenými poznámkami k nápovědě pro příkaz Drivetrain drive-in

  • Pokyny VEXcode V5, které budou použity při tomto průzkumu:
    • Drivetrain.driveFor(1, palce);
    • počkejte(1, sekundy);
  • Chcete-li se dozvědět více informací o pokynech, vyberte Nápověda a poté vyberte ikonu otazníku vedle příkazu pro zobrazení dalších informací.

    Obrázek pracovního prostoru VEXcode V5 s otevřenými poznámkami nápovědy pro příkaz Pohon hnacího ústrojí

     

  • Ujistěte se, že máte požadovaný hardware, svůj technický notebook a VEXcode V5 stažený a připravený.

Ikona tipů pro učitele Tipy pro učitele

Pokud student používá VEXcode V5 poprvé, může si tutoriály kdykoli během tohoto zkoumání přečíst.

Panel nástrojů VEXcode V5 s výukovými programy zvýrazněnými červeným rámečkem. Panel nástrojů zobrazuje zleva doprava logo V5, ikonu glóbu, složku Soubor a Výukové programy. Napravo od Tutoriálů jsou další ikony a funkce.

Požadované materiály:
Množství Potřebný materiál
1

Speedbot Robot

1

Nabitá baterie robota

1

VEXkód V5

1

USB kabel (pokud používáte počítač)

1

Technický poznámkový blok

Ikona tipů pro učitele Tipy pro učitele

Předveďte studentům každý krok řešení problémů.

Krok 1: Příprava na průzkum

Než začnete s aktivitou, máte každou z těchto položek připravenou? Zkontrolujte každý z následujících bodů:

  • Jsou motory zapojeny do správných portů?

  • Jsou inteligentní kabelyzcela zasunutydo všech motorů?

  • Je mozek zapnutý na?

  • Je baterie

Krok 2: Zahájení nového projektu

Pro zahájení projektu proveďte následující kroky:

  • Otevřete nabídku Soubor a vyberte Otevřít příklady.

    Panel nástrojů VEXcode V5 s otevřenou nabídkou Soubor a otevřenými příklady zvýrazněnými červeným rámečkem. Open Examples je čtvrtá položka nabídky pod New Blocks Project, New Text Project a Open.

     

  • Vyberte a otevřete projekt šablony Speedbot (Drivetrain 2-motor, No Gyro). Šablona projektu obsahuje konfiguraci motorupro Speedbot. Pokud šablonu nepoužijete, váš robot nebude projekt spouštět správně.

    Obrázek znázorňující ukázkové projekty s červeným rámečkem kolem projektu šablony Speedbot (2-motor hnacího ústrojí, bez gyroskopu)

     

  • Protože budete pracovat na pohybu Speedbota vpřed a vzad, pojmenujete svůj projektPohon. Vyberte název projektu, zadejte „Disk“a poté vyberte „Uložit“.

 

Obrázek zobrazující název projektu, který se mění na Drive

 

 

 

Ikona tipů pro učitele Tipy pro učitele

  • Názvy projektů mohou mít mezery mezi slovy nebo za nimi.

    Panel nástrojů V5 VEXcode s tlačítkem Název projektu zvýrazněným červeným rámečkem. Název projektu je nastaven na „Drive Forward“.

  • Můžete studenty požádat, aby k názvu projektu přidali své iniciály nebo název své skupiny. To pomůže rozlišit projekty, pokud požádáte studenty, aby je odevzdali.
  • Protože se jedná o první aktivitu s programováním, kterou se vaši studenti mohou pokusit, měli byste jednotlivé kroky namodelovat a poté studenty požádat o provedení stejných akcí. Učitel by pak měl sledovat, zda studenti správně dodržují kroky.
  • Ujistěte se, že studenti vybrali v nabídce Soubor možnost Otevřít příklady.
  • Ujistěte se, že studenti vybrali šablonu projektu Speedbot (pohon se 2 motory, bez gyroskopu).
  • Můžete studentům upozornit, že na stránce s příklady je několik možností, ze kterých si mohou vybrat. Při stavbě a používání jiných robotů budou mít možnost používat různé šablony.
  • Zkontrolujte, zda se název projektuDrivenyní nachází v okně uprostřed panelu nástrojů.

    Název projektu byl změněn na disk na panelu nástrojů.

     

Ikona sady nástrojů pro učitele Nástroje pro učitele projektů

  • Zdůrazněte, že když poprvé otevřeli VEXcode V5, okno bylo označeno jako Projekt VEXcode. Projekt VEXcode je výchozí název projektu při prvním otevření VEXcode V5. Jakmile byl projekt přejmenován Drive a uložen, zobrazení se aktualizovalo a zobrazovalo se nový název projektu. Pomocí tohoto okna v panelu nástrojů je snadné zkontrolovat, zda studenti používají správný projekt.

  • Řekněte studentům, že jsou nyní připraveni začít se svým prvním projektem. Vysvětlete studentům, že pouhým provedením několika jednoduchých kroků budou schopni vytvořit a spustit projekt, který posune Speedbota vpřed.

  • Připomeňte studentům, aby si své projekty během práce ukládali. Sekce C++ z knihovny VEX vysvětlují postupy ukládání ve VEXcode V5.

Ikona sady nástrojů pro učitele Sada nástrojů pro učitele Zastavte a diskutujte

Toto je dobrý bod k zastavení a k tomu, aby si studenti individuálně nebo ve skupinách zopakovali kroky, které právě dokončili při zahájení nového projektu ve VEXcode V5. Požádejte studenty, aby se nad tím zamysleli individuálně, než se o to podělí ve své skupině nebo s celou třídou.

Krok 3: Jeďte vpřed

Nyní jste připraveni začít programovat robota pro jízdu vpřed!

  • Než začneme programovat, musíme pochopit, co je to instrukce. Pokyny se skládají ze tří částí. Pro více informací o tom, co je instrukce, si přečtěte tento článek.

    Příkaz C++ rozdělený na jeho komponenty. Pohon je označen jako zařízení; Pohon pro je označen jako příkazy; a vpřed, 100 a mm jsou označeny společně jako parametry.

  • Přidejte instrukce do projektu, aby váš projekt vypadal takto:

    int main() {
      // Inicializace konfigurace robota. NEODSTRAŇUJTE!
      vexcodeInit();
      
      // Začněte kód projektu
      Drivetrain.driveFor(vpřed, 100, mm);

Ikona tipů pro učitele Tipy pro učitele

Jakmile začnete psát instrukci, můžete si všimnout funkce automatického dokončování. Pomocí kláves „Nahoru“ a „Dolů“ vyberte požadovaný název a poté stiskněte klávesu „Tab“ nebo (Enter/Return) na klávesnici pro potvrzení výběru. Pro více informací o této funkci si přečtěte článek C++.

VEXcode V5 s částí Drivetrain příkazu zadanou vlevo a vpravo se zobrazuje posouvatelný seznam možností automatického dokončování pro daný příkaz.

  • Vyberte ikonu slotu pro výběr jednoho z osmi dostupných slotů v mozku robota a vyberte slot 1.

    Panel nástrojů VEXcode V5 s nabídkou Slot otevřenou vlevo od názvu projektu. V rozbalovací nabídce jsou uvedeny všechny dostupné sloty, od 1 do 8. První slot je zvýrazněn červeným rámečkem.

     

  • Připojte robotický mozek V5 k počítači pomocí kabelu micro USB a zapněte robotický mozek V5. Ikona mozku na panelu nástrojůse po úspěšném navázání připojení rozsvítí zeleně.

    Panel nástrojů ve VEXcode V5 s červeným rámečkem kolem zelené ikony Brain, který se nachází mezi ikonami Controller a Download.

     

  • VyberteStáhnoutpro stažení projektu do Brainu.

    Panel nástrojů ve VEXCODE EXP s červeným rámečkem kolem ikony stahování, který se nachází mezi ikonou chamtivosti Brain a tlačítky Run a Stop.

Ikona sady nástrojů pro učitele Sada nástrojů pro učitele

  • Připomeňte studentům, aby odpojili USB kabel od robotického mozku. Pokud je robot během spouštění projektu připojen k počítači, může to způsobit, že bude tahat za připojovací kabel.

Ikona sady nástrojů pro učitele Sada nástrojů pro učitele Zastavte a diskutujte

Požádejte studenty, aby předpověděli, co si myslí, že se stane, když si tento projekt stáhnou a spustí na Speedbotu. Řekněte studentům, aby si své předpovědi zaznamenali do technických sešitů. Pokud to čas dovolí, požádejte každou skupinu, aby se podělila o svou předpověď.

Ikona sady nástrojů pro učitele Sada nástrojů pro učitele Model

  • Předveďte spuštění projektu před třídou, než ho všichni studenti zkusí najednou. Shromážděte studenty na jednom místě a nechte dostatek prostoru pro pohyb Speedbota, pokud je umístěn na podlaze.

  • Řekněte studentům, že nyní je řada na nich, aby spustili svůj projekt. Ujistěte se, že mají volnou cestu a že do sebe žádní Speedboti nenarazí.

  • Spusťte projekt (C++) na robotovi tak, že se ujistíte, že je projekt vybrán, a poté stiskněte tlačítkoSpustitna mozku robota. Gratulujeme k vytvoření prvního projektu!

    V5 Mozková obrazovka s otevřeným programem Pohon a červeným rámečkem kolem tlačítka Spustit na levé straně. Vpravo od Run jsou tlačítka pro Timed Run, Match a Wiring.

Krok 4: Zpátečka

Nyní, když jste naprogramovali robota pro jízdu vpřed, dovolte nám, abychom ho naprogramovali pro jízdu vzad.

  • Změňte parametr v instrukci pohonu na reverzní, aby váš projekt vypadal takto:

    int main() {
      // Inicializace konfigurace robota. NEODSTRAŇUJTE!
      vexcodeInit();
      
      // Začněte kód projektu
      Drivetrain.driveFor(vpřed, 100, mm);
    
    }
  • Vyberte název projektu a změňte jej zPohonnaReverzace.

    Název projektu na panelu nástrojů čte obráceně a je vybrána štěrbina 1.

  • Vyberte ikonu Slot pro výběr nového slotu. Vyberte slot 2.

    Výběr slotu ve VEXcode V5 otevřený s vybraným slotem 2 a zvýrazněným červeným rámečkem.

  • Stáhněte si projekt (v jazyceC++).

    Panel nástrojů VEXcode V5 s tlačítkem Stáhnout zvýrazněným červeným rámečkem na pravé straně. Tlačítko Stáhnout se nachází vpravo od zelené ikony Brain a vlevo od tlačítek Run (Spustit) a Stop (Zastavit).

  • Zkontrolujte, zda se váš projekt stáhl (v jazyceC++), a to pohledem na obrazovku robotického mozku. Název projektuReverseby měl být uveden v položce 2.

    Domovská obrazovka V5 Brain zobrazuje projekt Reverse ve slotu 2, druhou ikonu zleva ve spodním řádku vedle projektu Drive ve slotu 1.

  • Spusťte (vC++) projekt na robotovi tak, že se ujistíte, že je projekt vybrán, a poté stiskněte tlačítkoSpustitna robotickém mozku.

    Mozková obrazovka V5 s otevřeným projektem Reverse a tlačítkem Run zvýrazněným v červeném rámečku úplně vlevo. Vpravo od Run jsou tlačítka pro Timed Run, Match a Wiring.

Ikona sady nástrojů pro učitele Sada nástrojů kroku 4

  • Chcete-li změnit příkazdriveForzvpřednavzad, jednoduše změňte první parametr na -100. Díky tomu se motory v hnacím ústrojí budou pohybovat v opačném směru.

  • Počet mm lze změnit, ale v tomto příkladu je ponecháme na 100 mm, jak bylo nastaveno v předchozím kroku.

  • Připomeňte jim, aby před spuštěním projektu odpojili USB kabel od robotického mozku.

  • Připomeňte studentům, aby si své projekty během práce ukládali. Knihovna VEX obsahuje sekce pro jazyky C++ , které vysvětlují postupy ukládání ve VEXcode V5.

Krok 5: Počkejte a poté couvejte

Nyní, když jsme naprogramovali robota, aby jel vpřed a pak vzad, můžeme nyní přidat čekací pokyn, aby robot čekal určitou dobu před jízdou vzad.

  • Přidejte příkaz Wait před příkaz Drive for. Ujistěte se, že je Wait odsazen tak, aby odpovídal příkazu Drive for a že všechny příkazy jsou uvnitř kudrnatých závorek. To říká robotu, aby počkal tři sekundy před jízdou dozadu.

        počkat(3, sekundy);
    
        Hnací ústrojí.driveFor(vpřed, 100, mm);
  • Vyberte název projektu a změňte jej z Reverse na WaitReverse.

    Název projektu byl na panelu nástrojů změněn na Wait Reverse a je vybrán slot 2.

  • Vyberte ikonu Slot pro výběr nového slotu. Vyberte slot 3.

    Výběr slotu ve VEXcode V5 s červeným rámečkem kolem slotu 3 z 8.

  • Stáhněte si projekt (v jazyceC++).

    Tlačítko Stáhnout na panelu nástrojů VEXcode V5 zvýrazněné červeným rámečkem kolem něj, mezi zelenou ikonou Brain a tlačítky Run a Stop.

  • Zkontrolujte, zda se váš projekt stáhl (v jazyceC++), a to pohledem na obrazovku robotického mozku. Název projektu WaitReverse by měl být uveden ve slotu 3.

    Domovská obrazovka V5 Brain zobrazuje projekt Wait Reverse ve slotu 3, třetí ikonu ve spodním řádku.

  • Spusťte (vC++) projekt na robotu tak, že se ujistíte, že je projekt vybrán, a poté stiskněte tlačítkoSpustit.

    V5 Mozková obrazovka s otevřeným projektem Wait Reverse a tlačítkem Run zvýrazněným v červeném rámečku úplně vlevo. Vpravo od Run jsou tlačítka pro Timed Run, Match a Wiring.

Ikona sady nástrojů pro učitele Sada nástrojů kroku 5

  • Použití příkazu wait projekt neukončí, pouze pozastaví pohyb robota.

  • Pokud studenti používají počítač, připomeňte jim, aby před spuštěním projektu odpojili USB kabel od robota Brain.

  • Připomeňte studentům, aby si své projekty během práce ukládali. Knihovna VEX obsahuje sekce pro jazyky C++ , které vysvětlují postupy ukládání ve VEXcode V5.

Krok 6: Dokončete basketbalovou cvičební výzvu!

Nastavení pro basketbalové vrtačky ukazuje čtyři čáry rozmístěné se startovní čárou vlevo a čáry ve vzdálenosti 10 cm, 20 cm a 40 cm. Robot V5 je připraven začít s předními koly na startovní čáře.

Rozložení výzvy Basketball Drills Challenge

V Basketball Drills Challenge musí být robot schopen navigovat řadu čar v různých vzdálenostech. Robot pojede dopředu na první čáru, která je 10 cm od výchozí polohy, počká 1 sekundu a poté se vrátí zpět na stejnou čáru. Robot pak opakuje akci tím, že jede dopředu 20 cm na druhou čáru, počká 1 sekundu a pak jede dozadu na původní startovní čáru. Robot pojede dopředu na třetí čáru se vzdáleností 40 cm, počká 1 sekundu a nakonec se vrátí na startovní čáru, aby dokončil úkol.

Před naprogramováním robota naplánujte jeho cestu a chování ve svém technickém notebooku.

Po dokončení basketbalové výzvy budete moci kombinovat pohyby vpřed a vzad s dalším chováním robota a plnit tak ještě pokročilejší výzvy.
Při programování mějte na paměti, že 1 cm = 10 mm.

Ikona sady nástrojů pro učitele Sada nástrojů pro učitele Zastavte a diskutujte

Požádejte studenty, aby se podělili o svá řešení ve dvojicích, než je budou diskutovat s celou třídou. Usnadněte diskusi tím, že se zeptáte:

  • Setkal/a jste se při programování této výzvy s nějakými obtížemi?

  • Choval se váš robot tak, jak jste na základě vašeho projektu očekávali? Proč ano nebo proč ne?

  • Kdybyste mohli tu výzvu zopakovat, je něco, co byste udělali jinak?

Ikona sady nástrojů pro učitele Řešení – pro učitele – sada nástrojů

int main() {
  // Inicializace konfigurace robota. NEODSTRAŇUJTE!
  vexcodeInit();
  // Začátek projektu

  // Pojezd vpřed o 10 cm
  Drivetrain.driveFor(forward, 100, mm);
  // Čekání 1 sekunda
  wait(1, sekundy);
  // Pojezd zpět na startovní čáru
  Drivetrain.driveFor(reverse, 100, mm);

  // Pojezd vpřed o 20 cm
  Drivetrain.driveFor(forward, 200, mm);
  // Čekání 1 sekunda
  wait(1, sekundy);
  // Pojezd zpět na startovní čáru
  Drivetrain.driveFor(reverse, 200, mm);

  // Pojezd vpřed o 40 cm
  Drivetrain.driveFor(forward, 400, mm);
  // Čekání 1 sekunda
  wait(1, sekundy);
  // Pojezd zpět na startovní čáru
  Drivetrain.driveFor(reverse, 400, mm);

}