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. Tehkää ohjelma, jossa moottorin teho riippuu etäisyysanturin lukemasta.
Tehtävä 4. Tehkää ohjelma, jossa robotti ajaa yhteen suuntaan, jonka jälkeen se kääntyy 180 astetta ja palaa lähtöpaikkaansa.
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. Testaa moottoreiden synkronointikäsky nSyncedMotors, sekä moottorien PID-säätö. (Voi laittaa päälle koodissa tai sitten Motors and Sensors setup -ikkunasta).
Tehtävä 9. Tulostakaa moottorien *nopeus* debugPrint()-funktiolla ja kopioikaa data Exceliin ja piirtäkää kuvaaja siitä. Huom. Joudutte ottamaan Advanced (tjs) -tilan päälle, jotta pääsette debug-ikkunaan käsiksi.
Tehtävä 10. 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 kuin tehtävässä 9. Mitä havaitsette?
Ohjeita
Jos luette antureita heti ohjelman alussa, niin alkuun kannattaa laittaa noin sekunnin odotus, jotta anturien arvot ehtivät asettua.