You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 40 Next »

Tehtävä 1.
Tee ohjelma, joka saa robotin ajamaan eteenpäin 75% teholla sekunnin ajan, jonka jälkeen moottorit pysäytetään.

Tehtävä 2.
Lisää ohjelmaan ominaisuus, joka saa robotin palaamaan lähtöpaikkaansa. Eli ajat moottoreilla saman ajan, mutta negatiivisella teholla.

Tehtävä 3.
a) Tehkää ohjelma, jossa moottorin teho riippuu etäisyysanturin lukemasta.
b) Muuttakaa ohjelmaa siten, että nopeus riippuu kaikkien anturien arvojen summasta. Muuttakaa summan arvo välille -100...100.

Tehtävä 4.
a) Tehkää ohjelma, jossa robotti ajaa yhteen suuntaan, jonka jälkeen se kääntyy 180 astetta, palaa lähtöpaikkaansa, kääntyy 180 astetta ja jatkaa samaa uudestaan.
b) Lisätkää ohjelmaan ominaisuus, jossa se ilmoittaa kuinka monta kertaa se on kääntynyt (joko näytölle tai debugPrint:in avulla).

Tehtävä 5.
a) Tehkää ohjelma, jossa robotti käynnistyy kun taputatte käsiänne (painatte kosketusanturia) ja myös pysähtyy kun taputatte käsiänne (painatte kosketusanturia).
b) Lisätkää ohjelmaan ominaisuus, että robotti ensin hidastaa ja lopulta pysähtyy, jos jokin esine tulee liian lähelle. Käyttäkää etäisyysanturia tähän.

Tehtävä 6.
Tehkää ohjelma, jossa robotti lähtee liikkeelle kun taputatte käsiänne(painat kosketusanturia) ja hidastaa kun pallo tulee vastaan. Robotti pysähtyy kun kosketusanturi osuu palloon. Nappaa pallon kyytiin ja palaa lähtöpaikkaan (tunnistetaan valoanturilla), pysähtyy ja vapauttaa pallon.

Tehtävä 7.

Tehkää ohjelma, jossa robotti seuraa lattialle asetettua teippiä. Arvostelu 1.10 pistettä saavutetusta kiertoajasta riipuen.

Tehtävä 8.
a) Tulostakaa moottorien nopeus debugPrint()-funktiolla ja kopioikaa data Exceliin ja piirtäkää kuvaaja siitä. Nopeuden saatte laskettua nMotorEncoder:in arvosta.
Huom. Joudutte ottamaan Super User -tilan päälle (Window>Menu Level>Super User), jotta pääsette debug-ikkunaan (Robot>Debug Windows>Debug Stream) käsiksi.
b) Testatkaa moottoreiden synkronointikäsky nSyncedMotors, sekä moottorien PID-säätö. Sen voi laittaa päälle koodissa tai sitten Motors and Sensors setup -ikkunasta. Tehkää sama exceliin siirto a)-kohdassa. Mitä havaitsette?

Tehtävä 9.
Tee ohjelma, jossa robotti tekee kolmea eri tehtävää, riippuen siitä mikä heräte robotille annetaan. Herätteenä toimii sormen napsutus.

  • Yhdellä napsautuksella robotti pyörähtää puoli kierrosta vasemmalle
  • kahdella napsautuksella puoli kierrosta oikealle
  • kolmella napsautuksella robotti ajaa kymmenen senttiä suoraan.

Tehtävä 10.
Tee ohjelma, joka lukee etäisyyssensorin arvoja ns. raakadatana SensorRaw[]:n avulla. Tehkää funktio joka tallentaa arvoja int-taulukkoon ja toinen funktio, jolla voidaan hakea keskiarvo halutulta ajalta (tyyliin keskiarvo viimeisistä viidestä arvosta).


Ohjeita

Jos luette antureita heti ohjelman alussa, niin alkuun kannattaa laittaa noin sekunnin odotus, jotta anturien arvot ehtivät asettua.

  • No labels
You must log in to comment.