Micro:bit LED matrica — prikaz teksta i slika


LED matrica na micro:bit-u se sastoji od 5 × 5 LED dioda. Svaka dioda može imati osvetljenje od 0 (isključena) do 9 (maksimalno osvetljenje). Pomoću MicroPython-a možemo prikazivati tekst, slike i jednostavne animacije.


✔ Ovu lekciju možeš isprobati u:

  • Thonny (MicroPython za micro:bit)
  • MakeCode Python režimu (uz prilagođavanje sintakse)
  • Online editoru: https://python.microbit.org

1️⃣ Prikaz teksta


Koristimo display.scroll() da tekst „skroluje“ po LED matrici.



from microbit import *

# display.scroll prikazuje tekst koji se pomera
# svako slovo prolazi kroz LED matricu

display.scroll("Zdravo!")

Napomena:

  • display.scroll() je deo MicroPython biblioteke microbit
  • Tekst se prikazuje jedno slovo po jedno
  • Možeš menjati brzinu pomoću parametra delay

# Sporije prikazivanje (veći delay = sporije)
display.scroll("Python", delay=150)

2️⃣ Prikaz jednostavnih slika


MicroPython ima ugrađenu Image klasu sa gotovim ikonama.



from microbit import *

# Prikaz gotove slike
display.show(Image.HEART)

sleep(1000)  # Pauza 1 sekundu

display.show(Image.SMILE)

Kreiranje sopstvene slike

Slika se definiše pomoću stringa od 5 redova. Svaki broj (0–9) predstavlja jačinu LED diode.


from microbit import *

# 0 = ugašeno
# 9 = maksimalna jačina

smile = Image("09090:"
              "09090:"
              "00000:"
              "90009:"
              "09990:")

display.show(smile)

Svaki red ima 5 cifara, a redovi su razdvojeni dvotačkom.


3️⃣ Kontrola pojedinačnih LED dioda


Možemo uključivati pojedinačne LED diode pomoću koordinata (x, y). Koordinate idu od 0 do 4.


from microbit import *

# Uključi LED na sredini (2,2)
display.set_pixel(2, 2, 9)

# Uključi gornji levi ugao
display.set_pixel(0, 0, 9)

Ovo je korisno kada želiš preciznu kontrolu ili praviš igru.


4️⃣ Animacije


Možemo prikazivati više slika redom koristeći listu.


from microbit import *

# Lista frejmova (slika)
frames = [
    Image.HEART,
    Image.HEART_SMALL,
    Image.HEART
]

while True:  # Beskonačna petlja
    for f in frames:
        display.show(f)
        sleep(500)  # Pauza 0.5 sekundi

Petlja for prolazi kroz svaku sliku u listi. Ovo pravi jednostavnu animaciju „kucanja srca“.


5️⃣ Brisanje ekrana


Ako želiš da ugasiš sve LED diode:


display.clear()

6️⃣ Reakcija na dugme


Možemo kombinovati LED matricu i dugmad.


from microbit import *

while True:
    if button_a.is_pressed():
        display.show(Image.HAPPY)
    elif button_b.is_pressed():
        display.show(Image.SAD)
    else:
        display.clear()

Program stalno proverava da li je dugme pritisnuto.


Petlja i pauze


Funkcija sleep() pauzira program u milisekundama. 1000 ms = 1 sekunda.

Bez sleep() animacija bi bila prebrza i nevidljiva.


Mini zadaci (detaljno objašnjeni)


Zadatak 1

Prikaži svoje ime sporije (delay = 150).

Zadatak 2

Napravi svoju sliku (npr. slovo svog imena). Obrati pažnju da svaka linija mora imati 5 cifara.

Zadatak 3

Napravi animaciju od najmanje 3 slike. Koristi listu i for petlju.

Zadatak 4 (izazov)

Kada se pritisne dugme A — prikazuj tekst. Kada se pritisne dugme B — prikaži animaciju.


Napomena o okruženjima


✔ U Thonny moraš pisati: from microbit import *

✔ U MakeCode Python koristi se drugačija sintaksa:


basic.show_string("Zdravo")
basic.show_icon(IconNames.HEART)

MakeCode automatski učitava potrebne biblioteke.


Šta si naučio?

  • kako prikazati tekst
  • kako napraviti sopstvenu sliku
  • kako napraviti animaciju
  • kako kontrolisati pojedinačne LED diode
  • kako kombinovati LED matricu i dugmad

Vežbanje — 10 zadataka (od lakših ka težim)


GRUPA 1 — Vođene vežbe (korak po korak)


Zadatak 1 — Prikaži svoje ime sporije

Prikaži svoje ime na LED matrici tako da se tekst pomera sporije.

Koraci:

  • Koristi funkciju display.scroll()
  • Dodaj parametar delay=150
  • Zameni tekst svojim imenom

from microbit import *

# Prikaz imena sporije
display.scroll("Marko", delay=150)

✔ Isprobaj u Thonny ili online editoru.


Zadatak 2 — Prikaz brojeva od 1 do 5

Prikaži brojeve od 1 do 5 koristeći petlju.

Ideja: koristi for petlju i range()


from microbit import *

# range(1,6) znači: 1,2,3,4,5
for i in range(1, 6):
    display.show(i)
    sleep(800)  # Pauza 0.8 sekundi

Ovde učimo kako petlja ponavlja radnju više puta.


Zadatak 3 — Napravi svoje slovo

Kreiraj sliku prvog slova svog imena.

Važno: Svaki red mora imati 5 cifara, a ukupno 5 redova.


from microbit import *

slovo = Image("99990:"
              "90090:"
              "99990:"
              "90090:"
              "90090:")

display.show(slovo)

Eksperimentiši sa jačinom (0–9).


Zadatak 4 — Trepćuća tačka u centru

Uključi LED diodu u centru i neka treperi.

Koordinate centra su (2,2).


from microbit import *

while True:
    display.set_pixel(2, 2, 9)  # Uključi
    sleep(500)
    display.set_pixel(2, 2, 0)  # Isključi
    sleep(500)

Ovde učimo kako se koristi while True i koordinate.


Zadatak 5 — Jednostavna animacija

Napravi animaciju koristeći najmanje 3 slike.


from microbit import *

frames = [
    Image.HEART,
    Image.HEART_SMALL,
    Image.HEART
]

while True:
    for slika in frames:
        display.show(slika)
        sleep(400)

Ovde učimo rad sa listama i petljom unutar petlje.



GRUPA 2 — Samostalni zadaci (minimalne smernice)


Zadatak 6

Prikaži tekst „Python“ samo kada se pritisne dugme A.


Zadatak 7

Kada se pritisne dugme B, prikaži brojeve od 5 do 1 (odbrojavanje).


Zadatak 8

Napravi animaciju pomeranja tačke sa leve na desnu stranu ekrana. (Savet: koristi petlju i set_pixel(x, y, 9))


Zadatak 9

Napravi program gde:

  • Dugme A prikazuje srce
  • Dugme B prikazuje osmeh
  • Ako nijedno nije pritisnuto — ekran je prazan

Zadatak 10 (izazov)

Napravite mini-igru:

  • Tačka počinje na sredini ekrana
  • Dugme A pomera tačku ulevo
  • Dugme B pomera tačku udesno
  • Tačka ne sme izaći van granica (0–4)

Ovo kombinuje:

  • koordinate
  • promenljive
  • uslove
  • petlju

Napomena o okruženjima


✔ U Thonny moraš pisati: from microbit import *

✔ U MakeCode Python koristi se drugačija sintaksa:


basic.show_string("Zdravo")
basic.show_icon(IconNames.HEART)

MakeCode automatski učitava potrebne funkcije.


Šta si naučio?

  • kako koristiti tekst i slike
  • kako raditi sa petljama
  • kako kontrolisati pojedinačne LED diode
  • kako reagovati na dugmad
  • kako kombinovati više koncepata u jedan program

Skriveni mini kviz — LED matrica (MicroPython)

Klikni na kviz i proveri da li razumeš rad sa tekstom, slikama, petljama i koordinatama LED matrice.

Otvori kviz

Mini kviz: LED matrica

1. Koja funkcija prikazuje tekst koji se pomera po LED matrici?





2. Koliko LED dioda ima micro:bit matrica?





3. Koje su koordinate centra matrice?





4. Šta radi funkcija sleep(1000)?





5. Šta radi sledeći kod?


for i in range(5):
    display.show(i)
    sleep(500)







Promenljive u MicroPython projektima

Na strani o upotrebi promenljivih u projektima micro:bit-a u MakeCode okruženju možete naučiti kako se promenljive koriste za čuvanje i manipulaciju podataka u stvarnim programima (npr. brojač koraka, merenje osvetljenja, temperatura, itd.). ➡️ Otvorite: Upotreba promenljivih u projektima micro:bit (MAKECODE) :contentReference[oaicite:2]{index=2}

U ovoj lekciji ćeš videti kako iste ideje možeš primeniti sa MicroPython-om, koristeći Python kod umesto blokova. Za svaki primer objasniću šta se dešava i dati ti uputstvo za rešavanje.


Primer 1 — Brojač potresa (shake counter)

Cilj: svaki put kada protresemo micro:bit, uvećavamo brojač i prikazujemo njegovu vrednost.

Objašnjenje:

  • Koristi promenljivu steps da čuva ukupan broj potresa.
  • Funkcija accelerometer.was_gesture("shake") vraća True kada se uređaj protrese.
  • U petlji proveravamo gest i uvećavamo promenljivu.

from microbit import *

steps = 0  # početna vrednost

while True:
    if accelerometer.was_gesture("shake"):
        steps += 1           # uvećaj brojač
        display.show(steps)  # prikazi novi broj
        sleep(500)           # kratka pauza da se ne broji duplo

□ Isprobaj ovo u Thonny-ju ili online editoru: svaki put kada protreses uređaj, vidićeš kako brojač raste.


Primer 2 — Prikaz svetlosti i temperature na dugmadima

Cilj: kada pritisneš dugme A — prikazuješ nivo svetlosti u prostoriji; kada pritisneš dugme B — prikazuješ temperaturu.

Objašnjenje:

  • display.show() prikazuje broj na LED matrici.
  • input.light_level() vraća nivo svetlosti (0–255).
  • temperature() vraća temperaturu u °C.

from microbit import *

while True:
    if button_a.is_pressed():
        light = display.read_light_level()  # očitavanje svetlosti
        display.show(light)
        sleep(1000)

    if button_b.is_pressed():
        temp = temperature()                # očitavanje temperature
        display.show(temp)
        sleep(1000)

□ Ovo ti omogućava da vidiš konkretne vrednosti senzora kada pritisneš odgovarajuće dugme.


Primer 3 — Automatsko merenje u intervalima

Cilj: Periodično (npr. svakih 10 sekundi) očitavati i prikazivati svetlost, pa temperaturu, bez pritiskanja dugmadi.

Objašnjenje:

  • Koristimo sleep() da napravimo pauzu između očitavanja.
  • Vrednosti senzora se čuvaju u promenljivama i prikazuju redom.

from microbit import *

while True:
    light = display.read_light_level()
    display.scroll("L:" + str(light))  # prikaz nivoa svetlosti
    sleep(500)

    temp = temperature()
    display.scroll("T:" + str(temp))   # prikaz temperature
    sleep(5000)                        # 5 sekundi pauze pre sledećeg ciklusa

□ Ovaj program stalno prikazuje promene u osvetljenju i temperaturi.


Ovi primeri pokazuju kako da koristiš promenljive i senzore u realnim MicroPython projektima — slično MakeCode primerima, ali u Python stilu. Možeš ih koristiti kao osnovu za sopstvene projekte, npr. brojač koraka sa tempom vremena, alarm na svetlost ili prikaz grafikona svetlosti kroz vreme.