Adafruit Circuit Playground Express -mikrokontrolleri ja sen käyttö opetuksessa

Adafruit Cicuit Playground Express (CPX) mikrokontrolleri sopii hyvin eri kouluasteiden teknologiaprojekteihin, koska sitä voidaan ohjelmoida 1) koodilohkoilla eli JavaScrpitillä, 2) pythonilla ja 3) Arduino editorissa C++ ohjelmointikielellä. Lisäksi CPX:ssä on integroituna runsaasti erilaisia sensoreita. Esittelemme CPX:n sensorit ja kuinka pääset alkuun erilaisissa ohjelmointiympäristöissä. Circuit Playgroundista on olemassa Classic ja uudempi Express-versio, johon tutustumme alla.

CPX on monipuolinen ja suorituskykyinen laite, joka on hyvä vaihtoehto koulujen valitsemaksi mikrokontrolleriksi erilaisiin teknologiaprojekteihin, koska laitteeseen on pakattu runsaasti erilaisia sensoreita ja laitteita. CPX:llä on mahdollista toteuttaa mitä erilaisimpia projekteja.

playground express

Käyttöjännite ja Input- ja output-laitteet

CPX:n käyttöjännitteen voit syöttää mikrousb-portista tai akkuliittimestä. Ulkoisten CPX:n ohjaamien laitteiden käyttöjännite voidaan ottaa 3.3V tai VOUT -porteista. Ulkoisten laitteiden virransyötössä kannattaa käyttää porttia VOUT, koska siihen on rakennettu sisäinen suojaus liian suuria virtoja varten. Näin et vahingossa riko CPX -ohjainta liian suurella sähkövirralla.

Kytkentäpinnit ulkoisia laitteita ja sensoreita varten

CPX:ssä on ulkokehällä 8 kytkentäpinniä A0 – A7, joita voi käyttää sekä analogisen että digitaalisen signaalin lähettämiseen ja vastaanottamiseen.  Pinni A0 toimii lisäksi ääniulostulona (D/A -muunnin), jos haluat käyttää ulkoista kaiutinta.

Alustalle integroidut laitteet

Circuit Playground Express-mikrokontrollerin vahvuus on levylle integroiduissa laadukkaissa sensoreissa ja laitteissa, joiden avulla on mahdollista toteuttaa hyvin monipuolisia teknologiaprojekteja.

  • painonapit A ja B, jotka ovat liitetty portteihin D4 ja D5.
  • liukukytkin (D7)
  • 10 Neopixel RGB-LEDiä (D8)
  • 1 punainen LED (D13)
  • kiihtyvyysanturi (D27)
  • infrapunalähetin (D25)
  • infrapunavastaanotin (D26)
  • kauitin (A0)
  • valoisuusanturi (A8)
  • lämpötila-anturi (A9)
  • infrapunasäteilyyn perustuva etäisyysmittari (A10)

Tarkemmat kuvaukset kytkentäpinneistä ja levylle liitetyistä i/o -laitteista  löydät Adafruitin sivuilta.

Ohjelmointiympäristöt ja niiden käyttöönotto

Seuraavassa esitellään lyhyesti miten pääset alkuun CPX:n ohjelmoimisessa eri ohjelmointikielillä.

Mac tai linux tietokoneella ohjelmointi ei vaadi CPX:lle erillisten ajurien asennusta.

Windows tietokoneella ohjelmointi alkaa ajurien asennuksella. Aloita asennus windows-ajurin lataussivulta.

Arduino-ohjelmointiympäristö ja C++

Arduinon ohjelmointiympäristön editori on varma valinta CXP:n ohjelmointiin, koska CPX:lle on kirjoitettu valmiiksi Arduino-kirjasto, jonka sisältämillä funktioilla on helppo ohjata ja lukea CPX:n sensoreita. Lisäksi ohjelmassa on valmiiksi hyvä sarjaportti-ikkuna, josta hyötyä ohjelmakoodin muuttujien arvojen tulostamisessa ja mahdollisten virheiden etsinnässä. Voit myös esittää muuttujien arvoja ajan funktiona erillisessä kuvaajassa (ns. Serial Plotter) ohjelman suorituksen aikana.

  1. Jos et ole aikaisemmin tehnyt tietokoneellasi Arduino-ohjelmointia, niin asenna ensin Arduino-ohjelmointiympäristö. 
  2. Asenna Arduino editoriin SAMD-boardien tuki valitsemalla Työkalut–> Kortti –> Boards Manager. Kirjoita hakukenttään SAMD ja valitse asenna ( Install).Näyttökuva 2019-4-18 kello 16.08.07.png
  3. Käynnistä Arduinon ohjelmointiympäristö eli editori uudelleen.
  4. Kun aloitat ohjelmoinnin muista vaihtaa käytettäväksi mikro-ohjaimeksi eli kortiksi Työkalut –>Kortti: ”Circuit Playgroud Express”.
  5. Yhdistä CPX mikrousb-johdolla tietokoneeseen.  Paina CPX:n keskellä olevaa RESET -näppäintä useamman sekunnnin ajan, jolloin ulkokehän ledit palavat hetken punaisena ja jäävät palamaan vihreänä. Tällöin CPX on lataustilassa (BootLoader Mode), ja voit syöttää siiheen koodia arduinon editorista. Tarkista onko Circuit Playground Express valittu usb-serial-laitteksi: Työkalut–> Portti: ”Circuit Playground Express” .Näyttökuva 2019-4-18 kello 16.39.01
  6. Kirjoita editoriin alla oleva esimerkkikood ja lähetä se CPX:n painamalla editorin ”Lähetä” näppäintä (nuoli oikealle).
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin 13 as an output.
pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
  1. Näyttökuva 2019-4-18 kello 16.52.37.png

Jos koodin lataus CPX:ään onnistui, levyyn integroitu pieni punainen led vilkkuu 1 sekunnin taajuudella.

CircuitPython ja Mu-editori

Circuit-python on hyvä valinta, koska python on selkeä ja pelkistetty ohjelmointikieli, joka sopii aloittelijalle. CircuitPythonissa on laaja kirjasto erilaisten sensorien ohjaukseen. Lisäksi CircuitPython tukee tiedostojen tallentamista, eli voit tehdä projekteja joissa käytetään esimerkiksi valmiita äänitiedostoja. Mu-editorissa on myös Serial -ikkuna, eli  seurata ohjelman suoritusta erilaisilla tulosteilla.

Ohjeet Mu-editorin käytön aloittamiseksi CircuitPythonilla:

  1. Asenna Mu -editori lataussivulta. Valitse Adafruit CircuitPython.Näyttökuva 2019-4-18 kello 17.19.23
  2. Lataa  CircuitPython kääntäjä ja samalla tarvittavat kirjastot täältä . Ladattavan tiedoston nimen loppuosa on muotoa *.uf2 riippuen käytettävästä versiosta. Nimi voi olla esimerkikiksi: ”adafruit-circuitpython-circuitplayground_express-3.1.2.uf2”.
  3. Kytke CPX usb-porttiin ja paina CPX:n RESET näppäintä useamman sekunnin ajan pohjassa, jonka jälkeen ulkokehällä olevat led -valot palavat hetken punaisena ja jäävät palamaan vihreänä. Tämän jälkeen CPX näkyy resurssien hallinnassa (finder macissa) nimellä CLAYBOOT.

Näyttökuva 2019-4-18 kello 16.39.01

  1. Rahaa hiirellä ladattu uf2-tiedosto CLAYBOOT-kansioon, jonka jälkeen vihreät led -valot sammuvat ja CPX on valmis ohjelmoitavaksi pythonilla mu-editorissa.
  2. Huomaa, että tiedosto on oltava  nimetty code.py . Ohjelman suoritus alkaa heti kun tallennat tiedoston.
  3. Kirjoita testikoodi ja tallenna tiedosto nimellä code.py, jolloin ohjelman suoritus alkaa välittömästi tallennuksen jälkeen.

# Write your code here 🙂 Tama rivi on kommentti!
import time

import board
from digitalio import DigitalInOut, Direction, Pull

led = DigitalInOut(board.D13)
led.direction = Direction.OUTPUT

while True:
led.value = True
time.sleep(0.5)
led.value = False
time.sleep(0.5)

Näyttökuva 2019-4-18 kello 17.42.12

Huomaa pythonissa suoritettavat lohkot merkitään sisennyksillä! Hipsujen sisällä olevat vihreät tekstit ovat kommentteja, joita pythonkääntäjä ei suorita. Poistamalla kommenttimerkit voit muokata koodia siten, että lediä voi ohjata napilla A. Komentoi tällöin ylempi while-lohko pois.

Huomaa, että Mu-editorilla voit ohjelmoida myös microbittiä pythonin avulla. Tarvitset tähän micropython asennuksen, jota ei tässä yhteydessä käsitellä.

Mu-editori ei tykkää ääkkösistä edes kommenteissa eli älä käytä ääkkösiä! Myös muiden editorien käyttö on mahdollista, mutta niitä ei tässä käsitellä.

MakeCode ja koodilohkot & JavaScript

Jos olet ohjelmoinut microbitillä koodilohkojen avulla, niin MakeCode:n koodilohkot ovat sinulle tuttu ja turvallinen aloitusympäristö. Microsoftin MakeCode ympäristöstä löydät eri valmiit koodilohkot erilaisten i/o-laitteiden ohjaukseen. Voit siirtyä BLOCKS ja JAVASCRIPT välilehtien välillä ja vertailla koodeja. Käytössä on myös microbitistä tuttu simulaattori.

MakeCode sivuilta löydät runsaasti valmiita projektisiemerkkejä ja ideoita!

Näyttökuva 2019-4-18 kello 17.54.53

  1. Siirry sivulle: https://makecode.adafruit.com/
  2. Valitse tarvitsemasi koodilohkot. Hakukenttä on tehokas työkalu sopivien lohkojen etsintään.
  3. Kytke CPX usb-porttiin ja paina CPX:n RESET näppäintä useamman sekunnin ajan pohjassa, jonka jälkeen ulkokehällä olevat led -valot palavat hetken punaisena ja jäävät palamaan vihreänä. Tämän jälkeen CPX näkyy resurssien hallinnassa (finder macissa) nimellä CLAYBOOT.

Näyttökuva 2019-4-18 kello 16.39.01

  1.  Paina MakeCode-ohjelmointiympäristön Download-nappia, jolloin tietokoneesi ladatut tiedostot-kansioon ilmestyy *.uf2 niminen projektitiedosto. Esimerkissä: circuitplayground-blink.uf2.
  2. Raahaa tämä tiedosto kansioon CLAYBOOT, jolloin ohjelman suoritus alkaa.

Kannattaa rohkeasti tutustua kolmeen eri tapaan ohjelmoida CPX:ää. Iloisia hetkiä Circuit Playgroundin Expressin parissa toivoen,

Matti Heikkinen ja Simo Naatula

18.04.2019

Mainokset

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Google photo

Olet kommentoimassa Google -tilin nimissä. Log Out /  Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s