Pyöri ympäri ja jatka haluttuun suuntaan (Lego Dance)

From wikiluntti

Johdanto

Tanssissa usein pyöritään ja tehdään piruetteja. Edellä oleva suoraan ajo ei kuitenkaan toimi, koska siinä oli säädetty kulma yhden ympyrän sisälle.

Teoriaa

Tiimalasi-funktio on kätevä, koska se on melkein kuin moniajoa. Nättiä koodia. Ensimmäinen koodi kääntyy oikeaan suuntaan, kunnes tiimalasi käskee sen pysäyttämään. Jälkimmäinen koodi hidastaa hieman ennen pysähtymistä, joten sen ei pitäisi kääntyä niin paljon yli (overshoot), mutta oikeastaan ylikääntymisellä ei tässä ole juurikaan väliä, koska suoraan ajo -koodi korjaa.

Muista tarkistaa

Alkuun tarvitaan pieni tauko eli tiimalasi tai gyron resetointi, jotta robotti ehtii resetoida koodinsa ennen uuden alkua. Se voidaan poistaa jossain vaiheessa. Aliohjelma ottaa sisäänmenona kierrosten lukumäärän desimaalilukuna.

Ole tarkkana, tulosta väliaikatietoja. Miinusmerkit, summaukset ja moottorien suunnat ja ratastukset, kaikki vaikuttavat ja toimivat mielenkiintoisella tavalla. Tiimalasilla toteutettu versio on yksinkertaisempi vaihtoehto.


Neliöajo ja kierrokset kulmissa

Gyrolla liikkuminen

Edellinen neliöajo-ohjelma ei toimi, koska kulma on yhden ympyrän kulman sisällä (tai kahden, -360 kulma 360). Se voitaisiin korjata resetoimalla gyroskooppi aina välillä, mutta gyron resetointi aiheuttaa virhettä loppumatkassa. Huomaa, että erilaisia ongelmia:

  • Alun käynnistämisessä gyro ei ehdi resetoitua ennen koodin ajoa. Laitoin siihen ofotus-lohkon, mutta voit kokeilla myös resetointilohkoa.
  • Pyörimisessä gyro ei aina tuntunut pysyvän vauhdissa, joten kulmat eivät olekaan täysin oikeita -- niitä, minkä takia gyroskoopin halusin käyttöön.
  • Silloin tällöin gyron johdot ovat huonosti, ja tällöin robotti kiihdyttää oudossa paikassa.