Skip to main content

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

Ikona sady nástrojů pro učitele Osnova aktivity pro 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 Automed Challenge na konci této STEM laboratoře, kde se budou pohybovat po nemocničním patře pomocí 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 laboratoři Medbot STEM. V celé STEM laboratoři jsou také k dispozici odkazy s dalšími informacemi o těchto kartách/tlačítkách.

Snímek obrazovky zobrazující rozhraní VEXcode V5. Panel nástrojů se nachází v horní části obrazovky, vlevo pod ním je nabídka s funkcí drag and drop a vpravo pod ní okno programování v C++. Pod programovacím oknem se nachází okno „Chyby“.

  • Pokyny VEXcode V5, které budou použity při tomto průzkumu:
    • Drivetrain.driveFor(vpřed, 200, mm);
    • 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í.

    Nabídka nápovědy VEXcode pro příkaz Drive For. V pravém horním rohu je zvýrazněna ikona Nápověda, která znázorňuje, co vybrat pro otevření nabídky Nápověda.

     

  • 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. Výukové programy se nacházejí v panelu nástrojů.

Panel nástrojů VEXcode V5 s tlačítkem Tutoriály zobrazeným v červeném rámečku napravo od nabídky Soubor.

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ě.

    Nabídka „Příklady projektů“ je otevřená a je vybrána kategorie „Šablony“. Projekt Speedbot (Drivetrain 2-motor, No Gyro) je zvýrazněn červeným rámečkem označujícím, který projekt vybrat a otevřít.

     

  • Protože budete pracovat na pohybu Speedbota vpřed a vzad, pojmenujete svůj projektPohon.  Klikněte na název projektu, zadejte disk a vyberte Uložit.

 

Rozbalovací nabídka přejmenování se otevře z tlačítka Název projektu na panelu nástrojů V5 VEXcode. Projekt se přejmenovává 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ů.

    Panel nástrojů VEXcode V5 zobrazující název projektu „Drive“.

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 na Drive a uložen, zobrazení se aktualizovalo a zobrazovalo 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. SekceC++z knihovny VEX vysvětluje 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í. Další informace o tom, co je instrukce, naleznete v článku „Syntax Rules and Guidelines - VEXcode V5“.

    Jednotka C++ pro příkaz s označením komponent příkazu. Pohon je označen jako zařízení; pohon pro je označen jako příkaz; a vpřed, 100 a mm jsou označeny jako parametry.

  • Přidejte instrukci do projektu tak, 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ánekC++.

Uživatel zadává příkaz v jazyce C++ a po zahájení psaní souboru Drivetrain.d program otevře rozbalovací nabídku s možnostmi automatického dokončování.

  • 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ů VEXcode V5 s červeným rámečkem kolem zelené ikony mozku napravo od tlačítka ovladače.

     

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

    Panel nástrojů VEXcode V5 s červeným rámečkem kolem ikony stahování, mezi tlačítky Brain a Run.

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ěď.

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

    Domovská obrazovka V5 Brain zobrazuje program Drive v otvoru 1 v levém dolním rohu přímo pod ikonou Drive.

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();
        // Zahájit kód projektu
    
        Drivetrain.driveFor(reverse, 100, mm);
    
    }
  • Vyberte název projektu a změňte jej z jednotky na zpátečku.

    Dialogové okno Název projektu v VEXcode V5 čte Reverse a ukazuje, že je vybrán slot 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 (C++) projekt.

    Tlačítko Stáhnout na panelu nástrojů VEXcode V5 zvýrazněné červeným rámečkem vlevo od zelené ikony mozku a vpravo od tlačítek Spustit a Zastavit.

  • Zkontrolujte, zda se váš projekt stáhl (C++), a to pohledem na obrazovku robotického mozku. Název projektu Reverse by měl být uveden ve slotu 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 projekt (C++) na robotovi tak, že se ujistíte, že je projekt vybrán, a poté stiskněte tlačítkoSpustitna mozku robota.

    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. SekceC++z knihovny VEX vysvětluje 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.

    Dialogové okno Název projektu v VEXcode V5 čte Wait Reverse a ukazuje, že je vybrán slot 2.

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

    Výběr slotu na panelu nástrojů VEXcode V5 zobrazuje vybraný a zvýrazněný slot 3 s červeným rámečkem.

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

    Tlačítko Stáhnout na panelu nástrojů VEXcode V5 je zvýrazněno v červeném rámečku vpravo od zelené ikony mozku a vlevo od tlačítek Spustit a Zastavit.

  • Zkontrolujte, zda se váš projekt stáhl (C++), 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 projekt (C++) 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. SekceC++z knihovny VEX vysvětluje 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 se posune vpřed ke třetí čáře o vzdálenost 40 cm, počká 1 sekundu a poté se konečně vrátí na startovní čáru, aby dokončil výzvu.

Před programováním robota si naplánujte jeho dráhu a chování ve svém technickém sešitě.

Po dokončení basketbalové výzvy budete schopni kombinovat pohyby vpřed a vzad s dalším chováním robota a splnit 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 Řešení – pro učitele – sada nástrojů

Podívejte se na ukázkové řešení níže:

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);

}

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?