Eigentlich wollte ich meine Kinder mit dem Calliope mini über Funk (Bluetooth) Ostereier suchen lassen. Dann wurde erst ein einfaches Annäherungsprogramm draus und am Ende die Variante, bei der auch die Kontaktdaten der anderen Calliope mini gespeichert und abgerufen werden können.
Annäherung ErkennenWoran erkennt man, ob sich ein Calliope mini einem anderen nähert? Man lässt sich z.B. von ihm eine Zahl über Funk senden und erkennt anhand der Signalstärke des empfangenen Pakets ob er weiter weg oder näher ist.
Die Empfangsstärke reicht von -128 (schwaches Signal) bis – 42 (starkes Signal). Somit kann man die Entfernung eines anderen Calliope mini ungefähr einschätzen. Ich habe die Grove 4-Digit-Anzeige verwendet. Damit ich den Wert auch anzeigen konnte habe ich die Signalstärke mit (-1) multipliziert um einen positiven Wert zu bekommen. Der lag so um die 80. Wenn er also kleiner als 80 ist, ist der andere Mini zu nah, die LED leuchtet rot und es wird ein Ton abgespielt. So einfach!
Es ist zum Rückverfolgen der Verbreitung des Virus aber auch interessant, wer alles Kontakt mit mir gehabt haben könnte! Dazu muss die Übertragung der Seriennummer eingeschaltet werden (Setze Übertragung der Seriennummer wahr) und es wird nun bei jedem Funkpaket zusätzlich die Seriennummer mitgesendet. Diese werden in einem Array gespeichert bzw. in der Luxusvariante des Programms auch auf das angeschlossene OLED sofort ausgegeben.
Ansonsten kann man sich die Anzahl der Kontakte über Knopf A auf dem Display des Mini ausgeben lassen bzw. die Seriennummern der Kontakte über Knopf B. Die Sendeleistung habe ich etwas reduziert, damit nicht nicht alle Calliope Mini auf der gegenüberliegenden Straßenseite mitgezählt werden.
Viel Spaß beim Nachprogrammieren und verbessern!
Bitte die neuste Betaversion makecode.calliope.cc/beta verwenden!
Comments