PYBRICKS250922-3112-43118_LICENSE_blocks-individual-lifetime_v1_viczanpeter@gmail.com_1_36RMMG
Für Elise
from pybricks.hubs import EV3Brick
ev3 = EV3Brick()
notes = [
'E5/8','D#5/8','E5/8','D#5/8','E5/8','B4/8','D5/8','C5/8','A4/4',
'C4/8','E4/8','A4/8','B4/4',
'E4/8','G#4/8','B4/8','C5/4',
'E4/8','E5/8','D#5/8','E5/8','D#5/8','E5/8','B4/8','D5/8','C5/8','A4/4',
]
ev3.speaker.play_notes(notes, tempo=120) # tempót ízlés szerint emeld 132-ig
Körhinta:
#!/usr/bin/env pybricks-micropython
from pybricks.hubs import EV3Brick
from pybricks.ev3devices import Motor
from pybricks.parameters import Port, Stop
from pybricks.tools import StopWatch, wait
ev3 = EV3Brick()
# A: közepes motor (mozgatjuk), B: motor mint enkóder (szöget olvasunk)
kismotor = Motor(Port.A)
nagymotor = Motor(Port.B)
# Nullázd a B motor szögét, hogy 0-ról induljon a kijelzés
nagymotor.reset_angle(0)
watch = StopWatch()
# Indítsd az A motort állandó sebességgel (fok/s). Állíthatod, pl. 180..720.
kismotor.run(360)
# 10 másodpercig mintavételezzük a B motor szögét
while watch.time() < 10000: # ms
ang = nagymotor.angle() # fok
print(ang)
wait(100) # 10 Hz-es frissítés (100 ms)
# Állítsd meg az A motort (fékes megállás)
kismotor.stop(Stop.BRAKE)
ev3.speaker.beep()
szöggel való elforgatás:
nagymotor.run_angle(360, 45, then=Stop.HOLD, wait=False)
színszenzor tesztelése:
#!/usr/bin/env pybricks-micropython
from pybricks.hubs import EV3Brick
from pybricks.ev3devices import ColorSensor
from pybricks.parameters import Port, Color
from pybricks.tools import wait
ev3 = EV3Brick()
sensor = ColorSensor(Port.S4) # ← ez a lényeg
while True:
refl = sensor.reflection() # 0–100 (%), piros LED-del visszavert fény
amb = sensor.ambient() # 0–100 (%), környezeti fény
col = sensor.color() # Color.RED/BLACK/... vagy None
rgb = sensor.rgb() # (R,G,B) nyers értékek
print(f"refl={refl} amb={amb} color={col} rgb={rgb}", flush=True)
wait(200)
infraszenzor:
#!/usr/bin/env pybricks-micropython
from pybricks.hubs import EV3Brick
from pybricks.ev3devices import InfraredSensor
from pybricks.parameters import Port
from pybricks.tools import wait
ev3 = EV3Brick()
infraszenzor = InfraredSensor(Port.S4)
while True:
prox = infraszenzor.distance() # 0..100 közelségi érték
print(f"IR prox: {prox}")
wait(100)
Mercedeshez:
from pybricks.hubs import TechnicHub
from pybricks.parameters import Direction, Port, Stop
from pybricks.pupdevices import Motor
from pybricks.tools import wait
# Definiálások
technic_hub = TechnicHub()
# mint láthatjátok a "Direction.COUNTERCLOCKWISE/CLOCKWISE"
# megadásával szabájozhatjuk az irányát, nem kell -1 el szorozni
Hatulso = Motor(Port.A, Direction.COUNTERCLOCKWISE)
Elulso = Motor(Port.B, Direction.COUNTERCLOCKWISE)
Kormany = Motor(Port.C, Direction.CLOCKWISE)
# .dc új programrész, nem szögben, hanem
#teljesítményben dolgozik -100% és 100% között
# így nem kell sebesség változót sem felvennünk
Elulso.dc(70)
Hatulso.dc(70)
# az audinak maximum 110 fokos szögben tudjuk
# megadni a kanyarodást ami kb. 55 fok lesz
Kormany.run_angle(500, -110)
Elulso.hold()
Hatulso.hold()
Audihoz:
from pybricks.hubs import TechnicHub
from pybricks.parameters import Direction, Port, Stop
from pybricks.pupdevices import Motor
from pybricks.tools import wait
# Definiálások
technic_hub = TechnicHub()
# mint láthatjátok a "Direction.COUNTERCLOCKWISE/CLOCKWISE"
# megadásával szabájozhatjuk az irányát, nem kell -1 el szorozni
Hatulso = Motor(Port.A, Direction.COUNTERCLOCKWISE)
Elulso = Motor(Port.B, Direction.CLOCKWISE)
Kormany = Motor(Port.C, Direction.CLOCKWISE)
# .dc új programrész, nem szögben, hanem
#teljesítményben dolgozik -100% és 100% között
# így nem kell sebesség változót sem felvennünk
Elulso.dc(70)
Hatulso.dc(70)
# az audinak maximum 110 fokos szögben tudjuk
# megadni a kanyarodást ami kb. 55 fok lesz
Kormany.run_angle(500, -110)
Elulso.hold()
Hatulso.hold()
5. óra Mercedeshez:
from pybricks.hubs import TechnicHub
from pybricks.pupdevices import Motor
from pybricks.parameters import Axis, Button, Color, Direction, Port, Side, Stop
from pybricks.robotics import DriveBase
from pybricks.tools import wait, StopWatch
# Definiálások
technic_hub = TechnicHub(top_side=Axis.Z, front_side=Axis.X)
# mint láthatjátok a "Direction.COUNTERCLOCKWISE/CLOCKWISE"
# megadásával szabájozhatjuk az irányát, nem kell -1 el szorozni
Hatulso = Motor(Port.A, Direction.COUNTERCLOCKWISE)
Elulso = Motor(Port.B, Direction.COUNTERCLOCKWISE)
Kormany = Motor(Port.C, Direction.CLOCKWISE)
feljutas = 0
while True:
if 0 == 0:
#
#
#
elif 0 == 0:
#
#
elif 1 == 1:
if 1 == 1:
#
#
elif 1 == 1:
#
#
#
from pybricks.hubs import TechnicHub
from pybricks.pupdevices import Motor
from pybricks.parameters import Axis, Button, Color, Direction, Port, Side, Stop
from pybricks.robotics import DriveBase
from pybricks.tools import wait, StopWatch
# Definiálások
technic_hub = TechnicHub(top_side=Axis.Z, front_side=Axis.X)
# mint láthatjátok a "Direction.COUNTERCLOCKWISE/CLOCKWISE"
# megadásával szabájozhatjuk az irányát, nem kell -1 el szorozni
#Hatulso = Motor(Port.A, Direction.COUNTERCLOCKWISE)
#Elulso = Motor(Port.B, Direction.COUNTERCLOCKWISE)
#Kormany = Motor(Port.C, Direction.CLOCKWISE)
feljutas = 0
while True:
if technic_hub.imu.tilt()[0]>3 and feljutas == 0:
Elulso.hold()
Hatulso.hold()
feljutas=1
#
elif feljutas == 0:
Elulso.dc(50)
Hatulso.dc(50)
elif feljutas == 1:
#tolasson le
