Skip to main content

Programování drápu - C++

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

  • Tato ukázka seznámí studenty se základním programováním drápového motoru robota V5 Clawbot.

  • Naučit se programovat drápový motor umožňuje studentům správně ovládat, jak V5 Clawbot uchopuje předměty ve svém okolí.

Clawbot V5 je připraven k uchopení!

Tento průzkum vám umožní začít vytvářet skvělé projekty, které používají dráp V5 Clawbota k uchopení objektů.

  • Instrukce VEXcode V5, které budou v tomto průzkumu použity, zahrnují:
    • ClawMotor.setPosition(0, stupně);
    • ClawMotor.spinFor(vpřed, 90, stupňů);
    • ClawMotor.setTimeout (2, sekundy);
  • Chcete-li zjistit další informace o pokynu, vyberte možnost Nápověda a poté výběrem ikony otazníku vedle příkazu zobrazíte další informace.

    VEXcode V5 s jednotkou pro příkaz zadanou v pracovním prostoru a nápověda k tomuto příkazu otevřená vpravo. Nápověda definuje příkaz a poskytuje informace o tom, jak se používá.

  • Ujistěte se, že máte stažený a připravený potřebný hardware, svůj technický notebook a VEXcode V5.
Požadované materiály:
Množství Potřebné materiály
1

Startovací sada VEX V5 pro učebnu (s aktuálním firmwarem)

1

VEXkód V5

1

Inženýrský zápisník

1

Příklad projektu s Clawbotem a Advanced TrainingBot (pohon 2 motory, bez gyroskopu)

1

Hliníková plechovka

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ždou z následujících možností:

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

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

  • Je mozek zapnutý na?

  • Je baterie

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

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

Krok 2: Spusťte nový projekt

Před zahájením projektu vyberte správnou šablonu projektu. Ukázkový projekt Clawbota a Advanced TrainingBot (pohon 2 motory, bez gyroskopu) obsahuje konfiguraci motoru Clawbota. Pokud šablonu nepoužijete, váš robot nespustí projekt správně.

Panel nástrojů VEXcode V5 s otevřenou nabídkou Soubor a otevřenými příklady zvýrazněnými v červeném poli. Otevřít příklady je čtvrtá položka v nabídce pod Projekty nových bloků, Nový textový projekt a Otevřít.

Proveďte následující kroky:

  • Otevřete nabídku Soubor.
  • VyberteOtevřítPříklady.

Ikona s nápisy Clawbot a Advanced TrainingBot s šedým robotem nad textem.

  • Vyberte a otevřete ukázkový projekt Clawbot a Advanced TrainingBot (pohon se 2 motory, bez gyroskopu).
  • Protože budeme programovat pro ovládání drápu, přejmenujte svůj projektClawControl.
  • Uložtesvůj projekt.
  • Zkontrolujte, zda je název projektu ClawControl nyní v okně uprostřed panelu nástrojů.

V dialogovém okně Název projektu na panelu nástrojů VEXcode V5 se zobrazí Claw Control a zobrazí se vybraný slot 1.

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

  • Protože se jedná o úvodní aktivitu s programováním, měl by učitel nejprve namodelovat jednotlivé kroky a poté požádat studenty, aby provedli stejné akce. 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 si studenti vybrali ukázkový projekt Clawbot a Advanced TrainingBot (pohon se 2 motory, bez gyroskopu).

    Můžete studentům ukázat, že na stráncePříkladyje k dispozici 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.
  • 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.

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 studentské skupiny zopakovaly kroky, které byly právě dokončeny při zahájení nového projektu ve VEXcode V5.

Krok 3: Naprogramujte dráp V5 k otevření

Nyní začneme naprogramováním drápu, aby se otevřel!

int main() {
  // Inicializace konfigurace robota. NEODSTRAŇUJTE!
  vexcodeInit();

  ClawMotor.setPosition(0, stupně);

}
  • Napište instrukciClawMotor.setPosition();, jak je znázorněno výše, do programovací oblasti pro nastavení počáteční polohy drápu.
  ClawMotor.setPosition(0, stupně);
  ClawMotor.setTimeout(2, sekund);
  • Přidejte instrukciClawMotor.setTimeout();, jak je znázorněno výše.
    • Všimněte si, že tato instrukce se objevuje před instrukcíClawMotor.spinFor();. Jeho účelem je nastavit, jak dlouho může motor Claw běžet, a po uplynutí této doby jej zastaví. Takže i když se motor nepohne o celých 60 stupňů, projekt zastaví motor Claw po uplynutí dvou sekund.
    • Ujistěte se, že Set Timeout je odsazen tak, aby odpovídal příkazu Set Position , a že všechny příkazy jsou ve složených závorkách.
  ClawMotor.setPosition(0, stupně);
  ClawMotor.setTimeout(2, sekund);
  ClawMotor.spinFor(reverse, 60, stupňů);
  • Napište instrukciClawMotor.spinFor();, jak je znázorněno výše, pro otevření čelistí o 60 stupňů.

Otevře se výběr slotu se slotem 1 zvýrazněným v červeném poli vedle dialogového okna s názvem projektu na panelu nástrojů VEXcode V5. Název projektu zní Claw Control.

  • Vyberte slot, do kterého bude projekt stažen na V5 Robot Brain, kliknutím na ikonu v rámečku 1, čímž otevřete všechny dostupné sloty projektu a vyberte požadovaný slot.

Panel nástrojů VEXcode V5 s červeným rámečkem kolem zelené ikony mozku. Ikona Mozek je napravo od ikony Controller a nalevo od ikony Stáhnout.

Panel nástrojů VEXcode V5 s červeným rámečkem kolem ikony Stáhnout. Ikony čtou zleva doprava, Controller, Brain, Download, Run a Stop.

  • Kliknutím na ikonu Stáhnout vedle ikony Informace o zařízení stáhnete projekt do V5 Robot Brain.

V5 Brain Home Screen zobrazující projekt Claw Control ve slotu 1 v levém dolním rohu. Řádek výše uvedených ikon obsahuje Drive, Devices, Settings a VEX.

  • Zkontrolujte, zda se projekt ClawControl stáhl do mozku ve vámi zvoleném slotu.

Ikona sady nástrojů pro učitele Sada nástrojů modelovat jako první

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 umístěte Clawbota tak, aby jeho dráp viděli všichni. Pokud plánujete demonstrovat více než jednou, můžete mezi jednotlivými cykly jemně zatlačit na dráp.
Řekněte studentům, že nyní je řada na nich, aby spustili své projekty.

  • Spusťte (vC++neboPython) projekt na Clawbotu tak, že se ujistíte, že je projekt vybrán, a poté stiskněte tlačítko Spustit. Gratulujeme k vytvoření vašeho prvního projektu pro přesun drápu!

Krok 4: Zkuste toto: Zavřete dráp V5

Nyní, když jste naprogramovali dráp tak, aby se otevřel, nyní jej naprogramujete tak, aby se zavíral.

Detailní obrázek shora dolů plně zavřeného drápu V5.

Obrázek zavřeného drápu V5 Nyní, když můžete dráp otevřít, budete jej chtít také zavřít.

  • Vraťte se do projektu ClawControl a přidejte další instrukciClawMotor.spinFor();, aby se Claw Motor otočil o 30 stupňů. Dráp by se měl do poloviny zavřít, protože se původně roztočil na 60 stupňů.
  • Otestujte, že váš revidovaný projekt má dráp otevřený na 60 stupňů a poté zavřený na 30 stupňů stažením a spuštěním vašeho projektu ClawControl.

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

Dříve se dráp otevíral na 60 stupňů. Součástí tohoto projektu byla instrukce pro nastavení časového limitu motoru, protože je důležité nastavit časový limit při napájení manipulátoru, jehož pohyb by mohl být nějakým způsobem omezen. Nastavení časového limitu zabraňuje zbytečnému opotřebení motoru.
Řešení tohoto kroku je následující:

int main() {
  // Inicializace konfigurace robota. NEODSTRAŇUJTE!
  vexcodeInit();

  ClawMotor.setPosition(0, stupňů);
  ClawMotor.setTimeout(2, sekundy);
  ClawMotor.spinFor(dozadu, 60, stupňů);
  ClawMotor.spinFor(dopředu, 30, stupňů);

}

Krok 5: Zkuste toto: Sekvenční více pohybů

Zavřít obrázek shora dolů otevřeného drápu V5 se šipkami směřujícími dovnitř a ven označujícími pohyb drápu.

Obrázek otevřeného drápu V5 s červenými šipkami ve spodní části obrázku označují směry, kterými se dráp může otevírat a zavírat, pohybující se vodorovně, aby uchopil nebo uvolnil předmětyNe vše, co zvednete drápem, bude mít stejnou velikost. Zkuste otevřít dráp do různých pozic v rozsahu pohybu.

  • Roztočte motor, abyste:
    • Otevřete na 70 stupňů
    • Zavřete na 20 stupňů
    • Otevřete na 10 stupňů
    • Zavřete na 30 stupňů
    • Zavřete na 25 stupňů
  • Pokud se drápový motor spustí při 0 stupních, na kolik stupňů je drápový motor na konci projektu otevřený?
  • Začněte se zavřeným drápovým motorem.

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

Řešení tohoto kroku je uvedeno níže.
Na konci projektu je drápový motor stále otevřený při 5 stupních: 70 - 20 = 50 --> 50 + 10 = 60 --> 60 - 30 = 30 --> 30 - 25 = 5 stupňů.

int main() {
  // Inicializace konfigurace robota. NEODSTRAŇUJTE!
  vexcodeInit();

  // Aktuální poloha Claw je nulová
  ClawMotor.setPosition(0, stupňů);

  // Nastavení časového limitu Claw
  ClawMotor.setTimeout(2, sekundy);

  ClawMotor.spinFor(reverse, 70, stupňů);
  ClawMotor.spinFor(forward, 20, stupňů);
  ClawMotor.spinFor(reverse, 10, stupňů);
  ClawMotor.spinFor(forward, 30, stupňů);
  ClawMotor.spinFor(forward, 25, stupňů);

}

Krok 6: Dokončení výzvy Lock Tight

Zblízka boční pohled na V5 Claw svírající hliníkovou plechovku od sody.

Detailní obrázek drápu V5 držícího hliníkovou plechovku The Lock Tight Challenge

  • Naprogramujte Clawbota tak, aby bezpečně uzavřel dráp na prázdné hliníkové plechovce o objemu 12 uncí, aniž by došlo k rozdrcení stran.
  • Nechte Clawbota držet plechovku, zatímco zvedá a spouští paži o 45 stupňů.
  • Clawbot by pak měl uvolnit plechovku a vycouvat z ní.
  • Začněte výzvu s otevřeným drápem a prázdnou plechovkou uvnitř.

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

  • Nechte studenty začít s otevřenou drápou a prázdnou plechovkou uvnitř.

  • Pokud se plechovka rozdrtí nebo vypadne z držáku, je nutné po úpravě projektu spustit výzvu znovu.

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

Zde je příklad řešení:

int main() {
  // Inicializace konfigurace robota. NEODSTRAŇUJTE!
  vexcodeInit();
  
  // Aktuální poloha Claw je nulová
  ClawMotor.setPosition(0, stupňů);
  
  // Nastavení časového limitu Claw
  ClawMotor.setTimeout(2, sekundy);
  
  ClawMotor.spinFor(vpřed, 170, stupňů);
  ArmMotor.spinFor(vpřed, 45, stupňů);
  ArmMotor.spinFor(vzad, 45, stupňů);
  ClawMotor.spinFor(vzad, 150, stupňů);
  Drivetrain.driveFor(vzad, 150, mm);
  
}
  • Projekt nastaví časový limit, zavře dráp kolem plechovky, zvedne a spustí plechovku, uvolní ji a poté se vrátí zpět.
  • Programovací rubrika(Dokumentace Google / .docx / .pdf)