Ohjelmointi
Robottiauton ohjelmointi
Ohjelmoidaan robottiauto toimimaan näin:
1. Liitä mikro-ohjain kiinni tietokoneeseen USB-kaapelilla.
2. Käynnistä Crumblen ohjelmointiympäristö työpöydällä olevasta kuvakkeesta.
![ohjelma.png ohjelma.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/ledin-vilkutus2/ohjelmointi2/ohjelmointivaihe/ohjelma-png:file/photo/a9db551c9f463d2dc8ccb54b3a59e96b800b3e16/ohjelma.png)
3. Raahaa Basic-osiosta aloituspalikka PROGRAM START koodialueelle.
![o1.png o1.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/sanaruletti/ohjelmointi/so/o1-png:file/photo/6408018f456d381b963494d03cb1c9e734b5d123/o1.png)
4. Ensimmäiseksi mikro-ohjaimen tulee odottaa käden heilautusta infrapunasilmän edessä.
Ohjelmoidaan odotus käyttämällä Basic-osiosta löytyvää komentoa WAIT UNTIL. Raahaa komento koodiin.
![o4.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/o4-png:file/photo/f4614ee10fbbbfbf7e90717dced029b2acad7df6/o4.png)
5. Komennon parametriksi sijoitetaan totuusarvopalikka, joka palauttaa arvon tosi tai epätosi.
Odottaminen päättyy, kun totuusarvopalikka palauttaa arvon tosi.
Raahaa parametriksi Basic-osiosta palikka A IS HI ja muuta parametrin HI arvoksi LO klikkaamalla
parametria hiiren vasemmalla painikkeella.
Infrapunasilmä on liitetty mikro-ohjaimen pinniin A ja totuusarvopalikka A IS LO palauttaa arvon tosi
silloin kun infrapunasilmä lähettää mikro-ohjaimelle digitaalisen signaalin LO (este tai käden heilautus
havaittu silmän edessä).
![o5.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/o5-png:file/photo/decabca8a674e22db92297e03e682a9ed448fcfc/o5.png)
6. Odotuksen jälkeen siirrytään ikuisesti toistettavaan toistorakenteeseen.
Lisää Basic-osiosta rakenne DO FOREVER... LOOP koodiin.
![o6.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/o6-png:file/photo/fbd23f07ebbd7df31abd05f3782a42a7cae0ffc0/o6.png)
7. Käynnistetään robottiauton moottori. Lisää toistorakenteen sisälle Basic-osiosta
komento MOTOR 1 FORWARD AT 75 %. Klikkaa parametria 75 ja kirjoita sen tilalle luku 30.
![o7.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/o7-png:file/photo/86f8fc9a52183a6bca50b0ae8f84bfd3c2c8135c/o7.png)
8. Moottori pidetään käynnissä, kunnes infrapunasilmä ilmoittaa havainneensa esteen edessä.
Tällöin se lähettää mikro-ohjaimelle digitaalisen signaalin LO. Ohjelmoidaan mikro-ohjain odottamaan tätä.
Lisää Basic-osiosta komento WAIT UNTIL ja raahaa komennon parametriksi totuusarvopalikka A IS HI.
Klikkaa parametria HI, jolloin sen tilalle vaihtuu arvo LO.
![o8.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/o8-png:file/photo/893712530c8c80c96e6dcf8d3e22ffa101c4996c/o8.png)
9. Kun mikro-ohjain on suorittanut kohdan 8 komennon, niin robottiauto on tullut esteen kohdalle.
Silloin sammutamme moottorin. Lisää Basic-osiosta komento MOTOR 1 FORWARD AT 75 % ja klikkaa
parametria FORWARD kaksi kertaa hiiren vasemmalla painikkeella. Komennoksi muuttuu MOTOR 1 STOP.
![o9.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/o9-png:file/photo/072e7235aec0efe040024febb89d6e7fe77eadf8/o9.png)
10. Nyt ohjelman tulee odottaa, että joku poistaa esteen robottiauton edestä.
Kun estettä ei enää ole, niin infrapunasilmä lähettää mikro-ohjaimelle digitaalisen signaalin, jonka arvo on HI.
Lisää Basic-osiosta komento WAIT UNTIL ja raahaa sen parametriksi totuusarvopalikka A IS HI.
![o10.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/o10-png:file/photo/9072d2ad8c840b195992072e10f0a0a022dd645e/o10.png)
Tämän komennon suorituksen jälkeen mikro-ohjain siirtyy toistorakenteen alkuun.
Moottori käynnistetään jälleen ja jäädään odottamaan esteen havaitsemista.
Ohjelma on nyt valmis.
Lataa ohjelma mikro-ohjaimeen.
Latauksen jälkeen irrota USB-kaapeli mikro-ohjaimesta.
Seuraava vaihe: Testaus
Ohjelman valmis koodi:
![koodi.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/koodi-png:file/photo/7562c7c10f44e57ed99e128cbd4d8fae98fa5c92/koodi.png)
- Kun virta kytketään paristomoduulista päälle, niin mikro-ohjain jää odottamaan käden heilautusta infrapunasilmän edessä.
- Tämän jälkeen siirrytään ikuisesti toistettavaan toistorakenteeseen, jossa:
- Käynnistetään moottori
- Odotetaan, kunnes infrapunasilmä ilmoittaa mikro-ohjaimelle esteestä signaalin arvolla LO
- Sammutetaan moottori
- Odotetaan, kunnes infrapunasilmä ilmoittaa mikro-ohjaimelle esteen poistumisesta signaalin arvolla HI.
Aloitus
1. Liitä mikro-ohjain kiinni tietokoneeseen USB-kaapelilla.
2. Käynnistä Crumblen ohjelmointiympäristö työpöydällä olevasta kuvakkeesta.
![ohjelma.png ohjelma.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/ledin-vilkutus2/ohjelmointi2/ohjelmointivaihe/ohjelma-png:file/photo/a9db551c9f463d2dc8ccb54b3a59e96b800b3e16/ohjelma.png)
3. Raahaa Basic-osiosta aloituspalikka PROGRAM START koodialueelle.
![o1.png o1.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/sanaruletti/ohjelmointi/so/o1-png:file/photo/6408018f456d381b963494d03cb1c9e734b5d123/o1.png)
4. Ensimmäiseksi mikro-ohjaimen tulee odottaa käden heilautusta infrapunasilmän edessä.
Ohjelmoidaan odotus käyttämällä Basic-osiosta löytyvää komentoa WAIT UNTIL. Raahaa komento koodiin.
![o4.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/o4-png:file/photo/f4614ee10fbbbfbf7e90717dced029b2acad7df6/o4.png)
5. Komennon parametriksi sijoitetaan totuusarvopalikka, joka palauttaa arvon tosi tai epätosi.
Odottaminen päättyy, kun totuusarvopalikka palauttaa arvon tosi.
Raahaa parametriksi Basic-osiosta palikka A IS HI ja muuta parametrin HI arvoksi LO klikkaamalla
parametria hiiren vasemmalla painikkeella.
Infrapunasilmä on liitetty mikro-ohjaimen pinniin A ja totuusarvopalikka A IS LO palauttaa arvon tosi
silloin kun infrapunasilmä lähettää mikro-ohjaimelle digitaalisen signaalin LO (este tai käden heilautus
havaittu silmän edessä).
![o5.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/o5-png:file/photo/decabca8a674e22db92297e03e682a9ed448fcfc/o5.png)
6. Odotuksen jälkeen siirrytään ikuisesti toistettavaan toistorakenteeseen.
Lisää Basic-osiosta rakenne DO FOREVER... LOOP koodiin.
![o6.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/o6-png:file/photo/fbd23f07ebbd7df31abd05f3782a42a7cae0ffc0/o6.png)
7. Käynnistetään robottiauton moottori. Lisää toistorakenteen sisälle Basic-osiosta
komento MOTOR 1 FORWARD AT 75 %. Klikkaa parametria 75 ja kirjoita sen tilalle luku 30.
![o7.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/o7-png:file/photo/86f8fc9a52183a6bca50b0ae8f84bfd3c2c8135c/o7.png)
8. Moottori pidetään käynnissä, kunnes infrapunasilmä ilmoittaa havainneensa esteen edessä.
Tällöin se lähettää mikro-ohjaimelle digitaalisen signaalin LO. Ohjelmoidaan mikro-ohjain odottamaan tätä.
Lisää Basic-osiosta komento WAIT UNTIL ja raahaa komennon parametriksi totuusarvopalikka A IS HI.
Klikkaa parametria HI, jolloin sen tilalle vaihtuu arvo LO.
![o8.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/o8-png:file/photo/893712530c8c80c96e6dcf8d3e22ffa101c4996c/o8.png)
9. Kun mikro-ohjain on suorittanut kohdan 8 komennon, niin robottiauto on tullut esteen kohdalle.
Silloin sammutamme moottorin. Lisää Basic-osiosta komento MOTOR 1 FORWARD AT 75 % ja klikkaa
parametria FORWARD kaksi kertaa hiiren vasemmalla painikkeella. Komennoksi muuttuu MOTOR 1 STOP.
![o9.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/o9-png:file/photo/072e7235aec0efe040024febb89d6e7fe77eadf8/o9.png)
10. Nyt ohjelman tulee odottaa, että joku poistaa esteen robottiauton edestä.
Kun estettä ei enää ole, niin infrapunasilmä lähettää mikro-ohjaimelle digitaalisen signaalin, jonka arvo on HI.
Lisää Basic-osiosta komento WAIT UNTIL ja raahaa sen parametriksi totuusarvopalikka A IS HI.
![o10.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/o10-png:file/photo/9072d2ad8c840b195992072e10f0a0a022dd645e/o10.png)
Tämän komennon suorituksen jälkeen mikro-ohjain siirtyy toistorakenteen alkuun.
Moottori käynnistetään jälleen ja jäädään odottamaan esteen havaitsemista.
Ohjelma on nyt valmis.
Lataa ohjelma mikro-ohjaimeen.
Latauksen jälkeen irrota USB-kaapeli mikro-ohjaimesta.
Seuraava vaihe: Testaus
Ohjelman valmis koodi:
![koodi.png](https://peda.net/alajarvi/nuoret-v%C3%A4rkk%C3%A4rit/alakoulu/crumble-projektit/robottiauto/ohjelmointi/ro/koodi-png:file/photo/7562c7c10f44e57ed99e128cbd4d8fae98fa5c92/koodi.png)