mbed-ohjelmointiympäristö toimii nettiselaimessa (tarvittavat microbit-kirjastot latautuivat siihen itsestään) |
#include "MicroBit.h"
MicroBit uBit;
int main()
{
uBit.init();
uBit.display.scroll("Hello World!");
release_fiber();
}
Huomattavaa koodissa on se, että Microbit-objektin instanssi (uBit) pitää luoda ennen main():iä, jotta se on globaalimuuttuja. Main:in sisällä se ensin alustetaan init-metodilla ja sen jälkeen sitä käytetään ledimatriisin (display) ohjaamiseen. fiber tarkoittanee lähinnä säiettä, joka lopuksi vapautetaan.
Tässä esimerkissä reagoidaan nappeihin A, B sekä P0-pinnin kosketukseen GND:n kanssa (laita jotakin sähköäjohtavaa P0:n ja GND:n väliin).
#include "MicroBit.h"
MicroBit uBit;
void onButton(MicroBitEvent e)
{
if (e.source == MICROBIT_ID_BUTTON_A)
uBit.display.printChar('A');
if (e.source == MICROBIT_ID_BUTTON_B)
uBit.display.printChar('B');
if (e.source == MICROBIT_ID_IO_P0)
uBit.display.printChar('0');
}
int main()
{
uBit.init();
uBit.messageBus.listen(MICROBIT_ID_BUTTON_A, MICROBIT_EVT_ANY, onButton);
uBit.messageBus.listen(MICROBIT_ID_BUTTON_B, MICROBIT_EVT_ANY, onButton);
uBit.messageBus.listen(MICROBIT_ID_IO_P0, MICROBIT_EVT_ANY, onButton);
uBit.io.P0.isTouched();
while (1)
uBit.sleep(10000);
}
Tässä esimerkissä käytetään erilaisia eventtejä. Jotta ohjelma saa ne, niiden kuunteluun pitää ensin rekisteröityä messageBus.listen - metodilla. Samalla kerrotaan eventhandler-funktion nimi (onButton). Ennen kun koodi laitetaan odottamaan eventtejä (sleep) alustetaan P0 - pinni toimimaan "on/off" moodissa eli reagoimaan kosketukseen kuin painonappi. Eventhandler-funktiossa tutkitaan eventin tyyppiä ehtolauseiden avulla ja näytetään eri merkkejä näytöllä.
Sormi johtaa sen verran sähköä, että P0-pinni yhdistyy GND:hen ja syntyy virtapiiri |
Dokumentti tämän kirjaston käyttöön löytyy täältä. Vaikka itse en ole graafisten ympäristöjen ystävä, oppilaiden kanssa niistä on aloitettava. Jää nähtäväksi kuinka monelle se jää yläkoulun aikana liian pieneksi pääsemme kiinni C++:aan...
Ei kommentteja:
Lähetä kommentti