Michael Klein
Published © CC BY-SA

Calliope Mini Corona App

Mit der Bluetoothsignalstärke den Abstand zwischen 2 Calliope mini feststellen und dabei die Seriennummern als Kontaktdaten tracken.

IntermediateProtip1 hour401
Calliope Mini Corona App

Things used in this project

Hardware components

Calliope mini
Calliope mini
×1

Software apps and online services

MakeCode
Microsoft MakeCode

Story

Read more

Schematics

Coronaapp.hex

Die StandardCoronaapp mit Personenspeicherung

CoronaappOLED

Coronaapp mit OLED SSD1306 Anzeige

Code

Programmcode des Standardprogramms

Typescript
Läuft nur in der aktuellen Betaversion makecode.calliope.cc/beta
input.onButtonPressed(Button.B, function () {
    i2 = 1
    while (i2 < Liste.length) {
        basic.showString("" + i2 + ":" + Liste[i2])
        i2 += 1
    }
})
// Die Empfangsstärke reicht von
//
// -128 (schwaches Signal)
//
// bis -42 (starkes Signal)
radio.onReceivedNumber(function (receivedNumber) {
    Seriennummer = radio.receivedPacket(RadioPacketProperty.SerialNumber)
    if (Liste.indexOf(Seriennummer) < 1) {
        Liste.push(Seriennummer)
    }
    if (radio.receivedPacket(RadioPacketProperty.SignalStrength) * -1 < 80) {
        music.playTone(659, music.beat(BeatFraction.Sixteenth))
        basic.setLedColor(0xff0000)
    } else {
        basic.setLedColor(0x00ff00)
    }
})
input.onButtonPressed(Button.A, function () {
    basic.showString("" + (Liste.length - 1) + " Kontakte")
})
let Seriennummer = 0
let i2 = 0
let Liste: number[] = []
// Leider muss die Liste initialisiert sein,
//
// wir ignorieren einfach das erste Element.
Liste = [0]
radio.setGroup(1)
radio.setTransmitPower(5)
// Übertragung der Seriennummern aktivieren!
radio.setTransmitSerialNumber(true)
basic.forever(function () {
    radio.sendNumber(0)
    basic.pause(200)
})

Credits

Michael Klein

Michael Klein

41 projects • 52 followers
Na klar Bio! Oder direkt aus dem Garten ;-)

Comments