Welcome to Hackster!
Hackster is a community dedicated to learning hardware, from beginner to pro. Join us, it's free!
Stephan Noller
Published © MIT

Corona Proximity Tracker

Privacy friendly proximity tracker/warner to track potential infection chains.

IntermediateFull instructions provided2 hours785
Corona Proximity Tracker

Things used in this project

Hardware components

Calliope mini
Calliope mini
×1

Story

Read more

Code

Corona proximity tracker

JavaScript
two Calliope minis can detect whether they are close and create a warning + record the id of the touchpoint.
let posids: number[] = []
let id = 0
let i = 0
input.onButtonPressed(Button.A, () => {
    basic.showString("Benachrichtige ids: ")
    for (let i = 0; i <= 9; i++) {
        if (posids[i] > 10) {
            basic.showNumber(i)
        }
    }
})
radio.onDataPacketReceived( ({ receivedNumber }) =>  {
    posids[receivedNumber] = posids[receivedNumber] + 1
    basic.showIcon(IconNames.Sad)
    music.playTone(988, music.beat(BeatFraction.Sixteenth))
    basic.setLedColor(Colors.Yellow)
    basic.pause(1000)
    basic.clearScreen()
    basic.pause(1000)
    basic.setLedColor(Colors.Green)
})
radio.setGroup(99)
id = Math.random(10)
radio.setTransmitPower(1)
posids = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
basic.showString("Corona Tracker")
basic.showString("id:")
basic.showNumber(id)
basic.setLedColor(Colors.Green)
basic.forever(() => {
    radio.sendNumber(id)
    for (let i = 0; i <= 9; i++) {
        if (posids[i] > 10) {
            music.playTone(262, music.beat(BeatFraction.Whole))
            basic.setLedColor(Colors.Red)
        }
    }
    basic.pause(2000)
})

Credits

Stephan Noller
8 projects • 11 followers
Contact

Comments

Please log in or sign up to comment.