Sisältö

Opintojakson sisällöt

Kokonaisuus Sisältö Tavoitteet Tehtävät Materiaalia
1 Tutustuminen kurssin sisältöihin, tavoitteisiin ja välineisiin. Oppilas tietää, mitä opintojakso pitää sisällään, miltä arduinot näyttävät ja millaisia välineitä kurssilla käytetään. Testataan valmista Blink-esimerkkiä. Erilaisia arduino-laitteita:
https://www.arduino.cc/en/Main/ArduinoBoardMega2560
https://www.arduino.cc/en/Main/ArduinoBoardUno
https://www.arduino.cc/en/Main/ArduinoBoardNano

Aloitusopas:
https://www.arduino.cc/en/Guide/HomePage
2 Arduinon ohjelmointiin käytettävä kieli. Morsetus ledillä. Oppilas ymmärtää arduino-ohjelman rakenteen (setup/loop), eri muuttujatyyppien erot ja osaa siirtää kirjoittamansa ohjelman arduino-laitteelle. Muokataan valmista Blink-esimerkkiä siten, että se morsettaa oppilaan nimen tavallisen vilkkumisen sijaan. Muuttujista:
https://www.arduino.cc/en/Tutorial/Variables

Kielestä yleisesti:
https://www.arduino.cc/en/Reference/HomePage

Blink-esimerkki:
https://www.arduino.cc/en/Tutorial/Blink

Morseaakkoset:
http://fi.scoutwiki.org/Morsen_aakkoset
3 Arduinon digitaaliset pinnit, Serial.print, digitalWrite, digitalRead ja pulseIn-funktiot, ehtolauseet, etäisyyssensori Oppilas ymmärtää eron HIGH- ja LOW-tilojen välillä sekä osaa käyttää ehtolauseita ja asettaa arduino-laitteen digitaalisille pinneille arvoja. Oppilas tutustuu ultraääni-etäisyyssensorin käyttöön, sekä Serial Monitorille tulostamiseen Tehdään ohjelma, joka vilkuttaa lediä kolmella eri tiheydellä riippuen kuinka kaukana etäisyyssensori havaitsee esteen. Digitaalisista pinneistä:
https://www.arduino.cc/en/Tutorial/DigitalPins

Ehtolauseista:
https://www.arduino.cc/en/Reference/If
https://www.arduino.cc/en/Reference/Else

Etäisyyssensorista:
http://www.instructables.com/id/Simple-Arduino-and-HC-SR04-Example/?ALLSTEPS
4 Analogiset pinnit, pulssinleveysmodulaatio, potentiometri, summeri Oppilas ymmärtää erot digitaalisten ja analogisten pinnien välillä sekä tietää, mitä pulssinleveysmodulaatio tarkoittaa. Oppilas tutustuu potentiometrin ja summerin toimintaan. Tehdään ohjelma, jonka avulla ulkoisen ledin kirkkautta voidaan säätää pulssinleveysmodulaatiolla potentiometristä saatavan lukeman perusteella. Tehdään ohjelma, jonka avulla summerin tuottamaan ääneen voidaan vaikuttaa potentiometriä kääntämällä. Potentiometri ja analogRead:
https://www.arduino.cc/en/tutorial/potentiometer

analogWrite:
https://www.arduino.cc/en/Reference/AnalogWrite

Pulssinleveysmodulaatio:
https://www.arduino.cc/en/Tutorial/PWM

Summeri:
https://www.arduino.cc/en/Tutorial/PlayMelody
http://www.instructables.com/id/How-to-use-a-Buzzer-Arduino-Tutorial/?ALLSTEPS
5 Toistorakenteet, nesteenkorkeus-sensori, sensorin ulostulon kalibrointi Oppilas osaa käyttää for- ja while-silmukoita ohjelmissaan. Oppilas ymmärtää toimenpiteet analogisen sensorin ulostulon kalibroinnissa. Mitataan nesteenkorkeutta sensorilla ja pyritään määrittämään saatavasta signaalista nesteenkorkeus cm-yksikössä. Tehdään ohjelma, joka vilkuttaa lediä cm-korkeuden perusteella. Toistorakenteet:
https://www.arduino.cc/en/Reference/For
https://www.arduino.cc/en/Reference/While
https://www.arduino.cc/en/Reference/DoWhile

Nesteenkorkeus-sensori, esimerkiksi:
http://www.instructables.com/id/liquid-level-sensor-tutorial/?ALLSTEPS
http://www.learningaboutelectronics.com/Articles/Arduino-liquid-level-sensor-circuit.php
6 Servot, tasajännite-moottorit, joystick, Hall-anturi ja transistorit. Oppilas ymmärtää transistorien toimintaperiaatteen ja kykenee käyttämään niitä moottorien ohjaamiseen tarvittaessa. Oppilas osaa ohjata servoja ja ymmärtää hall-anturin Ohjataan servon asentoa joystick-ohjaimella. Mitataan etäisyyttä magneettiin hall-anturilla ja säädetään moottorin nopeutta etäisyyden perusteella. Servo:
http://www.instructables.com/id/Arduino-Servo-Motors/?ALLSTEPS

Moottoreista ja transistoreista:
https://learn.adafruit.com/adafruit-arduino-lesson-13-dc-motors?view=all

Hall-anturista:
http://playground.arduino.cc/Code/HallEffect

Joystickistä:
https://www.arduino.cc/en/Tutorial/JoyStick
7 Syötteen antaminen Serial.read-komennon avulla tietokoneelta, painikkeet, valoisuuden ja lämpötilan mittaus Oppilas osaa syöttää arduino-laitteelle syötteitä tietokoneelta, ohjata ohjelman ja laitteen toimintaa painikkeiden avulla sekä hyödyntää lämpötilan ja valoisuuden antureita. Tehdään laite, joka mittaa lämpötilaa pimeällä. Lämpötilan noustessa tietyn rajan yli, laite vilkuttaa lediä. Käyttäjä voi antaa laitteelle valoisuuden ja lämpötilan arvoille uudet rajat painamalla ensin painiketta ja sen jälkeen syöttämällä rajat tietokoneelta. Syötteen antaminen:
http://www.toptechboy.com/arduino/lesson-12-simple-and-easy-way-to-read-strings-ints-and-floats-over-arduino-serial-port/

Lämpötilan mittaamisesta:
https://learn.adafruit.com/tmp36-temperature-sensor?view=all

Painikkeesta:
https://www.arduino.cc/en/Tutorial/Button

Valoisuuden mittaamisesta:
http://www.instructables.com/id/How-to-use-a-photoresistor-or-photocell-Arduino-Tu/?ALLSTEPS
8 Robotin suunnittelu ja esimerkkirobotin rakentaminen Oppilas osaa hahmotella robotin toimintalogiikkaa sekä kartoittaa sen tarvitsemia sensoreita toiminnan tarpeiden mukaan. Oppilas osaa rakentaa robotin ohjeistetusti. Pohditaan, mitä toimintaa automaattisesti avautuviin sähköoviin liittyy ja mitä tietoja sähköovi tarvitsee toimiakseen. Rakennetaan opettajan ohjeiden avulla toimiva sähköovi. Esimerkkitoteutus:

9 Oman robotin suunnittelu, toteutus ja esittely Oppilas osaa suunnitella robotin oikean elämän tarvetta varten ja kykenee avustettuna rakentamaan toimivan prototyypin robotista. Oppilas pystyy esittelemään robottinsa tärkeimmät toiminnot muille samantasoisille oppilaille ymmärrettävästi. Suunnitellaan, rakennetaan ja esitellään robotti. Robotin idea voi tulla esimerkiksi jostain oppilaan omasta tarpeesta tai havainnoimalla ja pyrkimällä kopioimaan jokin olemassa oleva automatisoitu toiminto. Oppilaat tuottavat työskentelystään kirjallisen raportin sekä esittelevät robottinsa muille oppilaille.