i

Challenge Heiße Hand

Deine Herausforderung: Bringe Calliope auf Temperatur

Logo Heiße Hand

Wie gut kannst du das Thermometer des Calliope erhitzen?

Challenge Heiße Hand
Bringe Calliope innerhalb einer vorgegeben Zeit mit den Händen auf eine möglichst hohe Temperatur.

Aufgabe: Unterprogramm für Heiße Hand

Screenshot Temperatur

Erstelle für Calliope ein Unterprogramm, das nach einem Countdown innerhalb einer 10-Sekunden-Zeitspanne regelmäßig überprüft, ob die jeweilige Temperatur über dem bisherigen Maximalwert liegt und danach das Maximum aller Temperaturmessungen ausgibt.
Bei jedem neuen Maximum während der Messzeit soll die LED rot sein - sonst blau.

Hilfekärtchen

Calliope mit eingezeichnetem Temperatursensor Achsen

Calliope hat einen eingebauten Temperatursensor (Temperaturfühler). Der sitzt allerdings im Prozessorbauteil. Seine eigentliche Aufgabe ist, die Temperatur des Prozessors (also der Recheneinheit des Calliope) zu überwachen. Wenn du aber deinen Finger auf das Prozessorbauteil legst, wirst du feststellen, dass die gemessene Temperatur höher wird. Aber natürlich entspricht diese Temperatur auch ohne deinen Finger nicht der Raumtemperatur.

Eine Alternative sind externe Temperatursensoren (z.B. als Element des CO2-Sensors), die du an den Calliope anschließen kannst.


Du benötigst eine neue Variable (z.B. "maximum"), die du mit der aktuellen Temperatur initialisierst.
Nun musst du regelmäßig überprüfen, ob die aktuelle Temperatur größer als das bisherige Maximum ist. Warte danach aber ca. eine halbe Sekunde mit der nächsten Messung.

Bei einem neuen Maximum schalte die LED auf rot und gib die gerade gemessene Temperatur aus. Sonst schalte die LED auf blau.

Screenshot Maximum bestimmen

Das letzte Hilfekärtchen gibt es in 60 Sekunden...

Funktion heisseHand:
	... (hier fehlt noch was) ...
	merke dir in der Variablen maximum die aktuelle Temperatur
	setze die LED auf grün
	zeige die aktuelle Temperatur an
	merke dir in der Variablen startwert die aktuelle Laufzeit(ms)
	während die Differenz aus aktueller Laufzeit und startwert < 10000 ist:
		wenn die aktuelle Temperatur > maximum ist:
			merke dir in der Variablen maximum die aktuelle Temperatur
			setze die LED auf rot
			zeige die aktuelle Temperatur an
		sonst:
			setze die LED auf rot
		pausiere 500ms
	zeige den Wert der Variablen maximum an

Nö! 😜

Suche

v
14.10.2.5
inf-schule.de/projekte/challenges_mit_calliope/challenges/heisse_hand
inf-schule.de/14.10.2.5
inf-schule.de/@/page/ZOPE9eanWIdQ5VgS

Rückmeldung geben