py5 u Thonny-ju – instalacija i prvi sketch
U ovom kursu crtamo i animiramo u py5-u: to je Processing za pravi Python 3. Radimo u Thonny-ju, istom okruženju koje koristimo za osnove Pythona i za MicroPython na micro:bit-u. Tako učenik celu godinu radi u jednom programu.
Python Mode u Processing-u 4 se više ne održava i koristi stari Python 2.7 (Jython). Crtanje i animacije rade, ali biblioteke za serijsku vezu i zvuk često ne rade – baš one koje trebaju za micro:bit. Detalji: Processing 4 – problemi i izbor puta.
Korak 1 – Thonny
Preuzmi Thonny sa thonny.org i instaliraj ga. Ako ga već imaš iz osnovnog kursa, ažuriraj ga na poslednju verziju. py5 traži Python 3.11 ili noviji, a Thonny ga donosi sa sobom.
Korak 2 – dodatak thonny-py5mode
- U Thonny-ju otvori Tools → Manage plug-ins…
- Potraži
thonny-py5modei klikni Install. - Zatvori i ponovo pokreni Thonny. U meniju se pojavljuje py5.
Korak 3 – uključi imported mode
U meniju py5 označi Imported mode for py5. Prvi put dodatak sam preuzima i podešava Javu (JDK) – to traje nekoliko minuta, samo jednom. Ne moraš ručno da instaliraš Javu niti da podešavaš JAVA_HOME.
kada radiš obične Python programe iz osnovnog kursa (input, print), isključi imported mode. On je namenjen samo programima koji crtaju.
Korak 4 – prvi sketch
# py5 u Thonny-ju (imported mode): nema import naredbe ni py5. ispred funkcija
def setup():
size(600, 400)
def draw():
background(240)
fill(0, 150, 255)
no_stroke()
circle(mouse_x, mouse_y, 50) # krug prati miš
Pokreni zelenim dugmetom ▶. Otvara se prozor sa krugom koji prati miš.
Šta se menja u odnosu na Processing Python Mode
Logika programa ostaje ista: setup(), draw(), koordinate, boje. Menjaju se imena: umesto velikog slova u sredini (mouseX) piše se malo slovo i donja crta (mouse_x).
| Processing Python Mode | py5 (imported mode) |
|---|---|
mouseX, mouseY | mouse_x, mouse_y |
pmouseX | pmouse_x |
mousePressed (promenljiva) | is_mouse_pressed |
def mousePressed(): | def mouse_pressed(): |
keyPressed (promenljiva) | is_key_pressed |
def keyPressed(): | def key_pressed(): |
keyCode | key_code |
noStroke(), noFill() | no_stroke(), no_fill() |
strokeWeight(3) | stroke_weight(3) |
textSize(20), textAlign(CENTER) | text_size(20), text_align(CENTER) |
rectMode(CENTER), ellipseMode(…) | rect_mode(CENTER), ellipse_mode(…) |
frameCount | frame_count |
frameRate(30) | frame_rate(30) |
noLoop() | no_loop() |
map(v, a, b, c, d) | remap(v, a, b, c, d) |
loadImage("slika.png") | load_image("slika.png") |
PVector | Py5Vector |
add_library('serial') + serialEvent() | import serial (pyserial), čitanje u draw() |
size, background, fill, stroke, ellipse, rect, line, circle, text, width, height, random i constrain pišu se isto, pa mnogi primeri rade bez izmena.u imported mode-u ne nazivaj svoje promenljive imenima py5 funkcija (npr.
size, text, width). Piši velicina, poruka, sirina_palice.py5 i micro:bit
Za čitanje podataka sa micro:bit-a instaliraj paket pyserial: Tools → Manage packages…, potraži pyserial, Install. Primer celog projekta je u lekciji micro:bit kao gejming kontroler, a osnova u lekciji micro:bit → py5 preko serijskog porta.
isti Thonny služi i za micro:bit. Kada si snimio program na micro:bit, prebaci interpreter na Local Python 3 (donji desni ugao Thonny-ja), pa tek onda pokreni py5 sketch koji čita port.
Proveri znanje
Otvori kviz
Mini kviz: py5 u Thonny-ju
1. Kako se u py5 piše mouseX?
2. Šta radi dodatak thonny-py5mode prvi put kad uključiš imported mode?
3. Kada isključuješ imported mode?
4. Kako se zove funkcija map() u py5?
Korisni spoljni resursi
- py5 – zvanična dokumentacija – uputstva i referenca funkcija
- thonny-py5mode – dodatak za Thonny
- Status Python Mode-a – zvanično objašnjenje Processing tima
- Thonny
