Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| lehrkraefte:sbt:informatik:glf22:robotik-mit-svcode:reusecode [2023/05/12 19:26] – created Karlheinz Schubert | lehrkraefte:sbt:informatik:glf22:robotik-mit-svcode:reusecode [2023/05/12 19:30] (current) – [Wiederverwendung von Python Code in meherern Programmen] Karlheinz Schubert | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Wiederverwendung von Python Code in meherern Programmen ====== | ||
| + | |||
| + | Wie können wir die in der Basislektion ermittelten Daten (Raddurchmesser, | ||
| + | |||
| + | → Wir lagern sie in die Datei '' | ||
| + | |||
| + | ===== Neues Bibliothks-Modul: | ||
| + | |||
| + | <WRAP center round todo> | ||
| + | <code python ev3Geometrie.py> | ||
| + | # | ||
| + | # imports nach https:// | ||
| + | from pybricks.hubs import EV3Brick | ||
| + | from pybricks.ev3devices import Motor, TouchSensor, | ||
| + | from pybricks.parameters import Port, Stop, Direction, Button, Color | ||
| + | from pybricks.tools import wait, StopWatch, DataLog | ||
| + | from pybricks.robotics import DriveBase | ||
| + | from pybricks.media.ev3dev import SoundFile, ImageFile | ||
| + | |||
| + | from math import pi # Wert pi importieren | ||
| + | |||
| + | # Create your objects here. | ||
| + | ev3 = EV3Brick() | ||
| + | ev3.speaker.beep() | ||
| + | |||
| + | links = Motor(Port.A) | ||
| + | rechts = Motor(Port.B) | ||
| + | |||
| + | # ---------------- | ||
| + | dRad = 5.40 # [cm] Raddurchmesser gemessen | ||
| + | spur = 10.5 # [cm] Radabstand gemessen | ||
| + | # -------------- | ||
| + | uRad = dRad * pi # [cm] Radmufang | ||
| + | grad_pro_cm = 360 / uRad # [°/cm] | ||
| + | cm_pro_grad = uRad / 360 # [cm/°] | ||
| + | print(" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Programme, die das Bibliothks-Modul: | ||
| + | <WRAP center round todo> | ||
| + | <code python gerade-100cm.py> | ||
| + | # | ||
| + | |||
| + | import ev3Geometrie as g | ||
| + | |||
| + | distanz = 100 # 100cm soll der Roboter fahren | ||
| + | |||
| + | # 120 Grad/s Drehgeschwindigkeit, | ||
| + | g.links.run_angle(520, | ||
| + | g.rechts.run_angle(520, | ||
| + | </ | ||
| + | Um nicht immer ev3Geometrie schreiben zu müssen, importiert man es mit '' | ||
| + | </ | ||
| + | |||
| + | |||
| + | <WRAP center round todo> | ||
| + | <code python kreis-80cm.py> | ||
| + | # | ||
| + | |||
| + | import ev3Geometrie as g | ||
| + | from math import pi # Wert pi importieren | ||
| + | |||
| + | # Kreis mit Durchmesser d und geschwindigkeit v fahren | ||
| + | v = 400 | ||
| + | d = 80 | ||
| + | di = d - (2 * g.spur) | ||
| + | u = d * pi | ||
| + | ui = di * pi | ||
| + | vi = v * ui / u | ||
| + | print(" | ||
| + | |||
| + | g.links.run_angle(v, | ||
| + | g.rechts.run_angle(vi, | ||
| + | </ | ||
| + | </ | ||