Wir fliegen zum Mars!
Die Präsentationen finden am Freitag von 10:30 bis 12 Uhr statt:
| Team | Teilnehmende | Präsentation | Preso Check |
|---|---|---|---|
| Soviet MAGA | Blendi, Daniele, Mats | P1.08 | OK |
| Shrek-Express | Lejla, Cosima, Noemi | P1.09 | OK |
| Kesselring Airlines | Nick, Noée, Joana | H1.03 | OK |
| Hermes 7 | Ivo, Aaron, Nicola Leban | H1.04 | OK |
| We know ball | Fabrice, Nicola Wartmann, Moreno | HL2.02 | OK |
| Super Crocket | Dima, Elias, Kevin | HL3.05 | OK |
| Eventuell Defekt | Andrin, Linus, Noa | HL3.06 | OK |
| Nase | Leon, Sean | HR2.05 | OK |
Code name: Elon Musk Ohne Murks / Leon Sucks / Leon Muks
Eine Rakete konstruieren, uns über die nötige Energie Gedanken machen und überlegen, wie der Rückstoss funktioniert, sowie Raketenstarts vermessen und dokumentieren.
!Liebe Rocketheads,
Sie haben sich für eine ambitionierte MINT-Woche angemeldet: das Ziel ist nichts Geringeres, als Elon Musk den Schneid abzukaufen und innert einer Woche den Mars zu erobern.
Den Einstieg und den Plan für den ersten Tag finden Sie im Rocket Science-Wiki.
Wichtige Information: Bringen Sie immer einen Raumanzug eine Regenjacke und Gummistiefel mit in den Kurs.
Mit besten Grüssen aus dem Kontrollraum:
Das Projekt wäre auch ohne Chemie durchführbar (nur Wasserrakete ohne Gasgenerator).
from microbit import * import log # The standard setting only allows accelerations up to 2g, we want 8g! accelerometer.set_range(8) # Initialize Altimeter import bmp280 alti = bmp280.BMP280() def read_compass(): return compass.get_x(), compass.get_y(), compass.get_z() LOGGING = False START = 0 # Set the timer to log data every 20 milliseconds (50 measurements per second) @run_every(ms=20) def log_single_row(): print(".", end="") if not LOGGING: return print("+", end="") timestamp = time.ticks_ms() - START # TODO: do nothing unless countdown has started! record = {'launch_ts' : timestamp} accel = dict(zip(('ax', 'ay', 'az'), accelerometer.get_values())) bearing = dict(zip(('mx', 'my', 'mz'), read_compass())) record.update(accel) record.update(bearing) altitude = {'altitude': alti.Altitude()} record.update(altitude) print(record) log.add(record) import time def start_countdown(): global LOGGING global START START = time.ticks_ms() print("countdown started, resetting log") # Delete last log log.delete() # Define which columns we are going to log. log.set_labels('launch_ts', 'ax', 'ay', 'az', 'mx', 'my', 'mz', 'altitude', timestamp=log.MILLISECONDS) LOGGING = True def launch_abort(): global LOGGING print("launch aborted") LOGGING = False import radio radio.config(channel=42, group=67) while True: msg = radio.receive() if msg == "start_countdown": start_countdown() elif msg == "launch_abort": launch_abort() sleep(100)
from microbit import * import radio radio.config(channel=42, group=67) while True: if button_a.was_pressed(): radio.send("start_countdown") elif button_b.was_pressed(): radio.send("launch_abort") sleep(50)