MicroBit Processing

Hvordan kople en Microbit mot Processing.

Eksperimentet krever følgende utstyr:

Microbit

MicroBiten er programmert slik:

input.onButtonPressed(Button.A, function () {
    led.toggle(0, 0)
    serial.redirectToUSB()
    serial.writeLine("Hallo")
})
input.onButtonPressed(Button.B, function () {
    led.toggle(4, 4)
    serial.redirectToUSB()
    serial.writeLine("By")
})

Altså når vi trykker på en av de to knappene, A eller B, så skrives det en tekst til serieporten. Samtidig setter vi på/av to led-lys for å vise at Microbiten er i live.

Processing

Programmet (skissen) som tar imot signaler fra Microbiten over en USB-inngang. Dette er en minimalistisk versjon som ikke gjør annet enn å bekrefte hva som mottas i konsollet under kodeeditoren.

import processing.serial.*;
Serial port;

void setup(){
  size(60,80);
  // skriv ut tilgjengelige porter
  printArray(Serial.list());  
  // velger en av dem. Her må du kanskje endre
  port = new Serial(this, Serial.list()[0], 115200);
  port.bufferUntil(10);

}
void draw(){
  background(255,0,0);
}

void serialEvent(Serial port) {
 String inData = port.readString();
 // skriver ut teksten som har kommet inn
 print(inData);
}

Vi laster inn serieport biblioteket, printer tilgjengelige porter, kopler oss til en av dem plukker opp alle begivenheter på porten.

Etablering

Dette kan gjøres enklere enn det som vises nedenfor, men hvis du tar deg bryet med å gjøre det systematisk så har du samtidig en backup som gjør det lettere å finne igjen koden

  1. Opprett en katalog der du kan plassere alle filene, kall den f.eks. basicBtn
  2. Opprett følgende filer inn i katalogen:
  3. Lag et nytt prosjekt i MB-editoren som du kaller buttonAB og kopier koden fra buttonAB.js. Da kan du bearbeide denne koden i editoren i JavaScripformat eller som blockkode.
  4. Lagre som microbit-buttonAB.hex i den opprettede katalogen. (du får autmatisk microbit- prefix og .hex ekstension når du lagrer som buttonAB) Ikke lagre direkte på Microbiten.
  5. Da er all koden på plass i din mappe (basicBtn) på PC'en. Det som gjenstår er å kopiere koden fra mappa til Microbiten. Kople Microbiten til PCen med den usb-kabelen som leveres med Microbit. Microbiten vil manifestere seg som en drive i filutforskeren, typisk: D:/Microbit. Kopier microbit-buttonAB.hex fila fra din katalog til Microbiten (D:/Microbit).
  6. Da er du klar til kjøre. Lukk microbit-driven i filutforskeren og start processingskissen(dobbeltklikk på buttonAB.pde).

Problemer

Det kan oppstå problemer med at Processingkoden ikke kan lese serieporten. Dette er litt avhengig av hvordan maskinen din er konfigurert. Enten kan du få en melding om at porten du har valgt ikke eksisterer eller at den er opptatt (busy). Du kan gjøre følgende forsøk på å løse problemet:

Hvis ikke noe av dette hjelper så send meg en mail [ på denne adressen ] om hvordan du til slutt løste problemet så jeg kan tipse andre(🤞).

Resultatet

Hvis alt går bra kan det se slik ut. Her ser du at det skrives ut en list med kun en port:[0]"com4".