Star-Tracker

Star-Tracker

Der Star-Tracker ist eine Kugel, die Hundeschritte zählt und sie an den Hund Calli sendet. Ab jetzt kommt kein Hund mehr zu kurz raus :)

Schwer

2 UE

ab 12 Jahren

Das Star-Tracker-Projekt wurde von Emily, Emma und Merle aus der sechsten Klasse und Timo aus der siebten Klasse in der MINT-AG des Gymnasium Rheindahlen in Mönchengladbach entworfen und von ihnen im Rahmen von #HackTheSummer der Gesellschaft für Informatik e.V. weiterentwickelt.
Weitere Infos findet ihr hier.

Der sogenannte Calli ist ein gebastelter Hund. Wenn der Star-Tracker genügend Hundeschritte gezählt hat, ruft er ”Prima” und wackelt mit dem Kopf und dem Schwanz.

Es gibt zwei verschiedene Programme: den Sender und den Empfänger.

In diesem Projekt wird der MakeCode Editor benutzt.
1Der Empfänger
2Der Sender
Programmieranleitung Sender
1Start-Einstellungen

Im ersten Schritt wird der Funkkanal bestimmt und die Variablen definiert.
Für den Sender werden zwei Variablen benötigt - Schritte und Schalter.

Schritte = Die Schritte, die der Hund macht.

Schalter = Speichert den Status AN | AUS.

Doppelklicken zum Kopieren
2AN | AUS Schalter

Über das gleichzeitige Drücken der Tasten A und B wird der Star-Tracker an- und ausgeschaltet.
Die Eingabe sind die A und B Tasten. Werden sie gleichzeitig gedrückt, wird der Wert der Variable Schalter gelesen. Folgende Bedingungen werden definiert:

Wenn Schalter = 0, dann ändere den Wert der Variable Schalter auf 1 / AN

Wenn Schalter = 1, dann ändere den Wert der Variable Schalter auf 0 / AUS

Ist der Schalter an und die Tasten AB werden gedrückt, werden die gezählten Schritte in die Variable Schritte gespeichert und an den Empfänger gesendet.

Doppelklicken zum Kopieren
3Schritte anzeigen

Wenn die Taste B gedrückt wird, werden die gezählten Schritte auf dem Display gezeigt, aber nicht gelöscht.

Doppelklicken zum Kopieren
4Schritte zählen

Um die Schritte zu zählen, wird eine Dauerhaft-Schleife benötigt.
Über die RGB-LED wird angezeigt, ob der Star-Tracker AN oder AUS ist.

AN = RGB-LED leuchtet grün

AUS = RGB-LED leuchtet rot

Doppelklicken zum Kopieren

Mit Hilfe des Lagesensors werden die Schritte gezählt. Misst der Lagesensor eine Beschleunigung, die über dem definierten Schwellenwert ist, wird ein Schritt zum Wert der Variable Schritte addiert.

Dass der Schritt gezählt wurde, wird durch eine Anzeige auf dem Display sichtbar - z.B. durch ein Herz.
Damit auch wirklich nur ein Schritt pro Beschleunigung gezählt wird, ist die kleine Pause wichtig.
Nach der Pause wird das Display wieder gelöscht. Der nächste Schritt kann nun gezählt werden.

TIPP: Lasst euch ausgeben, wie stark die Beschleunigung bei einem Schritt ist. Dieser Wert definiert den Schwellenwert.

Wird eine Beschleunigung stärker als 1300 mg gemessen, wird der Schritt gezählt.

Doppelklicken zum Kopieren
Geschafft! Hier könnt ihr euch den Programm-Code noch einmal ansehen.

Code öffnen HEX

Programmieranleitung Empfänger
5Start-Einstellungen

Im ersten Schritt wird der Funkkanal bestimmt und die Variablen definiert.
Für den Empfänger werden zwei Variablen benötigt - Schrittziel und Gesamtschritte.
Zum Start wird das Schrittziel und die Gesamtschritte auf 0 gesetzt und der Kanal festgelegt

Schrittziel = Speichert das vorab eingestellte Schrittziel ab. Die Schritte, die der Hund machen soll.

Gesamtschritte = Speichert die übertragenen Schritte ab. Die Schritte, die der Hund gemacht hat.

Doppelklicken zum Kopieren
6Schrittziel einstellen

Über die Pins wird das Schrittziel eingestellt. Durch die Berührung von Pin0 wird das Schrittziel auf 0 zurückgesetzt. Auf dem Display wird eine 0 ausgegeben.

Doppelklicken zum Kopieren

Durch die Berührung von Pin1 wird das Schrittziel um 10 verringert.
Auf dem Display wird der aktualisierte Wert ausgegeben.

Doppelklicken zum Kopieren

Durch die Berührung von Pin2 wird das Schrittziel um 10 erhöht.
Auf dem Display wird der aktualisierte Wert ausgegeben.

Doppelklicken zum Kopieren

Durch die Berührung von Pin3 könnt ihr euch den aktuellen Wert ausgeben lassen.

Doppelklicken zum Kopieren
7Schrittzahl empfangen

Wenn Daten vom Sender empfangen werden, wird die empfangene Zahl in die Variable Gesamtschritte gespeichert und auf dem Display angezeigt.

Doppelklicken zum Kopieren

Im nächsten Schritt wird überprüft, ob die gezählten Schritte das Schrittziel erreichen.
Ist die Bedingung erfüllt, wird das Grußkartenmodul angeschaltet, in einer 3-mal Wiederholungsschleife ein Pokal auf dem Display angezeigt und beide Servos in Bewegung gesetzt.

Doppelklicken zum Kopieren
8Ergebnis erneut anzeigen lassen

Möchtet ihr euch das Ergebnis auf Tastendruck noch einmal anzeigen lassen, dann könnt ihr den Programm-Code von oben einfach kopieren und in das Tasten-Ereignis der Taste AB einfügen.

Im nächsten Schritt wird überprüft, ob die gezählten Schritte das Schrittziel erreichen.
Ist die Bedingung erfüllt, wird das Grußkartenmodul angeschaltet, in einer 3-mal Wiederholungsschleife ein Pokal auf dem Display angezeigt und beide Servos in Bewegung gesetzt.

Doppelklicken zum Kopieren
Geschafft! Hier könnt ihr euch den Programm-Code noch einmal ansehen.

Code öffnen HEX

Probiert es selbst aus

Hier könnt ihr euch alles ansehen, selber ausprobieren und natürlich erweitern. Viel Spaß!

zip