Tee itse - Arduino-projektit ammatillisen koulutuksen matlu-valinnaisiin osaamistavoitteisiin
Personalized Learning Robotics Virtual Environments

Hakanen Arvi FT, dos.  at Helsingin kaupunki/ KASKO


Tee itse - Arduino-projektit ammatillisen koulutuksen matlu-valinnaisiin osaamistavoitteisiin

Mitä: "Opiskelija tutkii kokeellisesti (mittaa ja havainnoi) mekaniikkaan sekä lämpö-, sähkö-, valo-, aalto-oppiin liittyviä käsitteitä ja lainalaisuuksia käyttäen soveltuvia menetelmiä ja välineitä."

Kokemuksellinen ilmiöpohjaisuus ja ymmärtäminen fysiikan valinnaisissa osaamistavoitteissa voidaan viedä toiselle tasolle, kun rakennetun mittausautomaation käytön sijaan rakennetaan itse. Fyke-valinnaisessa "Virtapiirit ja robotiikka" mittausautomaatio alkaa anturitestauksella: ensin testataan kahden johtimen (vastus- tai diodityyppisiä) antureita ja sen jälkeen kolmen johtimen transistorityyppisiä antureita. Didaktisesti kysytään/kehitetään sekä luonnontieteellisiä että matematiikan/loogisen päättelyn taitoja. Esim. painonappi voidaan koodata joko pinMode(#, INPUT); tai pinMode(#, INPUT_PULLUP); komennolla - jälkimmäinen paitsi enabloi Arduinon sisäänrakennetun 10 kilo-ohmin vastuksen myös kääntää I/O logiikan päinvastaiseksi.


Harjoitus 1. Logiikkaohjelmointia (Tinkercad-harjoitus): Tutki kahta Tinkercad-simulaatiota: ajamalla ja testaamalla simulaatioita saatko selville mitä ne tekevät ja miten ne on ohjelmoitu? 

Kumpikaan simuloiduista porteista ei vielä riitä porraskäytävävalojen ohjaukseen. (Portaikon kummassakin päässä on valokatkaisija, josta voidaan sekä sytyttää että sammuttaa portaikon valaistus.) Miksei?

Miten toteutat kahden valokatkaisijan portaikkovalaistuksen ohjauksen Arduinolla?

Miten lisäät ohjaukseen kolmannen valokatkaisijan?

Autodesk - Tinkercad tunnuksen voit luoda esim. Facebook- tai Google-tunnuksesi avulla.

Tee linkki omaan projektiisi. Oikea yläkulma: Share/Collaborate Circuit - Invite People - Copy.

Harjoituksessa tutkitaan kahden painonapin ja ledin avulla toteutettuja AND ja OR loogisia portteja. Ensimmäisessä on vaikeuksia saada valot syttymään yhdestä paikasta ja jälkimmäisessä on vaikeuksia saada ne sammumaan. Ratkaisuna on yhden kirjaimen lisääminen koodiin (= XOR). Opiskelija keksi riippumattoman ratkaisun, joka muistuttaa "kahden herätyskellon ongelman" ratkaisua todennäköisyyslaskennassa:

void loop()

{
  if (digitalRead(SW1) == 0){
    if (digitalRead(SW2) == 0){
    digitalWrite(LED1, 0);
    }
  }
  if (digitalRead(SW1) == 0){
    if (digitalRead(SW2) == 1){
    digitalWrite(LED1, 1);
    }
  }
  if (digitalRead(SW1) == 1){
    if (digitalRead(SW2) == 0){
    digitalWrite(LED1, 1);
    }
  }
  if (digitalRead(SW1) == 1){
    if (digitalRead(SW2) == 1){
    digitalWrite(LED1, 0);
    }
  }
}

Varsinaiseen mittausautomaatioon ensimmäinen askel on Hämäräkytkimen ohjelmointi (mallina voidaan käyttää opettajan jakamaa "dataloggeri" projektia). Erilainen kynnysarvo tarvitaan Tinkercad-simulaatiossa ja reaalimaailmassa, jossa käytetään oikeaa LDR-vastusta valon mittaamiseen. Tutustutaan lisäksi käsitteisiin "sarjamonitori" ja "sarjaplotteri" simulaation/ohjelman ajossa. Seuraavaksi peliin lisätään 2x16 segmenttinäyttö (esim. sulautettu lämpötilanmittausjärjestelmä) ja sitä seuraavaksi tulostetaan kuvaajaa exceliin (opettajan antama excel, joka sisältää ActiveX makron). RGB-herätteen avulla koodataan spektrofotometri, jolla mitataan virvoitusjuomapulloista leikattuja värisuotimia. Valon intensiteettimittauksen lineaarisuustestiä varten käytettyjen puhelimien ja laskimien polarisaatiosuotimista voidaan rakentaa (kvantti)mekaaninen dimmeri. Mehackit-salkusta löytyvän IR-ledin ja punaisen ledin avulla voidaan toteuttaa DIY-oksimetri, laite joka mittaa sormenpäästä pulssin ja vuorotellen mitatun kahden ledin vastekäyrien avulla happisaturaation. Ohjelmoinnissa C++; //kasvatetaan kokonaislukumuuttujan C arvoa yhdellä.

Kuva 1.: Oppilaan excel-ruutukaappaus spektrofotometrilla mitatusta suodatinyhdistelmästä (sini - puna) ja vihreästä suodattimesta.

 


Miten: Arduino-projektit Mehackit tarvikesalkun ja Grove Starter Kit välineillä, simulaatiot Tinkercadissa, ohjelmointi C++ Arduino IDEllä.

Missä: Ammatillisen koulutuksen yhteisissä tutkinnonosissa ja lukiossa (matlu-aineet).