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 ja palaa lähtöpaikkaansa.
b) Lisätkää ohjelmaan ominaisuus, jossa se ilmoittaa kuinka monta kertaa se on kääntynyt (joko näytölle tai debugPrint:in avulla).
Note |
---|
Huom! Alla olevat tehtävät muuttuvat vielä! |
Tehtävä 5.
Tehkää ohjelma, jossa robotti käynnistyy kun taputatte käsiänne ja myös pysähtyy kun taputatte käsiänne.
Tehtävä 6.
Lisätkää tehtävään 5 ominaisuus, että robotti pysähtyy, jos jokin esine tulee liian lähelle. Käyttäkää etäisyysanturia tähän.
Tehtävä 7.
Tehkää ohjelma, jossa robotti lähtee liikkeelle kun taputatte käsiänne ja hidastaa kun pallo tulee vastaan. Robotti pysähtyy kun kosketusanturi osuu palloon. Nappaatte pallon kyytiin ja palaatte lähtöpaikkaan ja vapautatte pallon.
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.
Wiki Markup |
---|
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.