Ohjeita
Jos luette antureita heti ohjelman alussa, niin alkuun kannattaa laittaa noin sekunnin odotus, jotta anturien arvot ehtivät asettua.
...
Tehtävä 1.
Tee ohjelma, joka saa robotin ajamaan eteenpäin 75% teholla sekunnin ajan, jonka jälkeen moottorit pysäytetään.
...
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). flipflop muistaa tilan eli oliko robotti liikkeessä vai pysähdyksissä.
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.
...
- eteenpäin ajaminen, kunnes pallo tulee vastaan
- pallon nappaaminen kyytiin
- kääntyminen 180 astetta
- loppupaikkaan palaaminen
Muuten ohjelma toimii samalla tavalla kuin tehtävässä 6.
Tehtävä 9.
Tehkää ohjelma, jossa robotti ajaa 40000 pulssia (muista pulssilaskurin maksimiarvo on 32767, eli tapahtuu moottorin laskurin ylivuoto).
Vihje: tutustu nMotorEncoder-muuttujaan. (Help>Open Help>NXT Functions>Motors)
Tehtävä 10.
a) Tulostakaa moottorien nopeus debugPrint()-funktiolla ja kopioikaa data Tehkää ohjelma, joka tulostaa moottorien nopeuden debugPrint:in avulla. Kopioikaa tulostukset Exceliin ja piirtäkää kuvaaja siitä. Nopeuden saatte laskettua nMotorEncoder:in arvosta.
Vihje: tutustu nMotorEncoder-muuttujaan. (Help>Open Help>NXT Functions>Motors)
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ä 11.
Tehkää ohjelma, jossa robotti tekee kolmea eri toimintoa, riippuen siitä mikä heräte robotille annetaan. Herätteenä toimii sormen napsutus (tai kosketussensori). Tehkää toiminnot omiin funktioihinsa.
- Yhdellä napsautuksella robotti pyörähtää puoli kierrosta vasemmalle.
- Kahdella napsautuksella robotti pyörähtää puoli kierrosta oikealle.
- Kolmella napsautuksella robotti ajaa sekunnin suoraan.
Tehtävä 12.
Tehkää ohjelma, joka seuraa lattialle asetettua suoraa teippiä (pituus n.60cm) ja kääntyy teipin päässä. Robotin tulee seurata "rataa" neljä kertaa päästä päähän alle 20 sekunnissa.
Tehtävä 13.
Tehkää ohjelma, jossa toteutatte omassa funktiossaan parametrina annetun pituisen odotuksen ajastimen avulla. Siis toteutatte oman wait1Msec() -tyylisen funktion. Sama toiminnallisuus, mutta oma toteutus.
Tehtävä 14.
Testaa ohjelman Neljästä askeleesta koostuva sekvenssiohjelma toiminta. Viritä ohjelma siten, että se ajaa 60 cm:n teipin päästä päähän 17 sekunnissa.
...
.Tehtävä .
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). Tehtävä .
-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).- Wiki Markup
Tehtävä ?.
Tehkää ohjelma, jossa robotti seuraa lattialle asetettua teippiä. Arvostelu 1.10 ? pistettä saavutetusta kiertoajasta riipuen.
Ohjeita
Jos luette antureita heti ohjelman alussa, niin alkuun kannattaa laittaa noin sekunnin odotus, jotta anturien arvot ehtivät asettua.