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 bibliotekemicrobit- 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
stepsda čuva ukupan broj potresa. - Funkcija
accelerometer.was_gesture("shake")vraćaTruekada 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.