Programování drápu - C++
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.

- Ujistěte se, že máte stažený a připravený potřebný hardware, svůj technický notebook a VEXcode V5.
| 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ů?
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ě.
Proveďte následující kroky:
- Otevřete nabídku Soubor.
- VyberteOtevřítPříklady.
- 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ů.
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.
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ňů.
- 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.
- Připojte robota k počítači nebo tabletu. Ikona mozku v panelu nástrojůse po úspěšném navázání připojení rozsvítí zeleně.
- Kliknutím na ikonu Stáhnout vedle ikony Informace o zařízení stáhnete projekt do V5 Robot Brain.

- Zkontrolujte, zda se projekt ClawControl stáhl do mozku ve vámi zvoleném slotu.
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.

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.
Ř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ů

Ne 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.
Ř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

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ř.
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.
Ř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)