Haladó Szakkör – segédlet

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





Scroll to Top