LAKI PINGVINI
Pimoroni Raspberry Pi Pico Packs
Rančevi za Malinu
D. PETROVIĆ
1. decembar 2021.

Nakon, bezmalo, godinu dana, slobodno možemo reći da je Pico preležao sve dečje bolesti. Jedan od najvećih iskoraka je, možda, izvorna podrška za C/C++ kroz Arduino IDE. U međuvremenu, zajednica nije sedela skrštenih ruku, pa imamo bezbroj primera u vezi sa ovom pločicom, kako u Arduino okruženju, tako i za oba „zmijska” jezika. Ni proizvođači hardvera nisu sedeli skrštenih ruku - na tržištu se u međuvremenu pojavio veliki broj dodataka za Pico.

Pimoroni svoja rešenja koja dolaze u formi shielda, kakve smo sretali u Arduino svetu, naziva rančevima (pack). Ovi rančevi se preko svojih headera spajaju sa Picom, te Pico ostaje sa donje strane, zapostavljen. Rančevi formiraju lice ovog sendviča.

Pico Display Pack je ranac koji Picou daje mogućnost unosa, ali i prikaza podataka. Na PCB tek neznatno široj od samog Pico, nalazi se IPS LCD ekran dijagonale 1,14 inča. Ekran je izuzetno čist i jasan, sa neverovatno velikim uglovima vidljivosti. Sposoban je da prikaže 18-bitnu sliku u rezoluciji 240×135 tačaka. S obzirom na to da je LED na Pico sada nedostupan pogledu, na raspolaganju nam je RGB LED. Ukoliko nam iz nekog razloga ova LED ne treba, već samo GPIO sa kojima je povezana, ispod su trace koji se mogu preseći, samim tim i eliminisati RGB LED. Sa obe strane ekrana nalaze se po dva korisnička tastera obeležena slovima. Uz Pico i ovaj „ranac”, može se napraviti zaista mnogo toga. Na mreži se može naći primer retro igre Tenkići, koji savršeno rade sa ovim hardverom. Ženski header na rancu je SMD, što će reći da se prilikom razdvajanja ranca od Pico mora voditi računa da ne bi došlo do eventualnog oštećenja na samoj štampanoj pločici. Kao nedostatak, smatramo nemogućnost povezivanja Pico sa drugim hardverom, jer će ranac prekriti kompletan pinout. Jedno od rešenja je ženski među-header kojim bismo povezali samo neophodne GPIO za tastere, RGB, napajanje i SPI interfejs preko koga ekran i komunicira sa Pico. Da ne zaboravimo, Pimoroni je jasno obeležio položaj Pico u odnosu na ranac.

Pimoroni je za rad sa ovim ekranom pripremio i svoj MicroPython uf2 fajl koji u sebi sadrži sve neophodne biblioteke, tako da nama ostaje samo programiranje. Uz to, na zvaničnim GitHub stranicama nalaze se i primeri koji iz ranca izvlače maksimum. Koristimo Python, jer je prirodnije okruženje, mada je Pimoroni pripremio i C/C++ primere.

U primeru koji sledi, bilo kojim tasterom pozivamo da se prikaže jedna tačna formulacija. Prvo uvozimo neophodne biblioteke i pokrećemo ekran baferom. Nivo osvetljenja se može podesiti po želji. Dve funkcije su tu da nam ekran brišu, kao i da prikažu formulaciju prilikom pritiska bilo kog od tastera. Možete videti da se tasteri pozivaju prema svojim oznakama.

import picodisplay as display

import utime

# izacija ekrana baferom niza bajtova

buf = bytearray(display.get_width() * display.get_height() * 2)

display.init(buf)

display.set_backlight(0.5) #osvetljenje

# funkcija za brisanje ekrana

def clear():

display.set_pen(0, 0, 0)

display.clear()

display.set_led(0, 0, 0)

display.update()

# funkcija za prikaz teksta koju pozivamo bilo kojim tasterom

def text():

clear()

display.set_pen(80, 255, 5)

display.text("SK Labs", 10, 10, 240, 4)

display.set_pen(220, 5, 255)

display.text("RULEZ", 10, 50, 240, 6)

display.update()

display.set_led(50, 50, 50)

utime.sleep(1)

clear()

while True:

if display.is_pressed(display.BUTTON_A):

text()

elif display.is_pressed(display.BUTTON_B):

text()

elif display.is_pressed(display.BUTTON_X):

text()

elif display.is_pressed(display.BUTTON_Y):

text()

else:

display.set_pen(255, 0, 0)

display.text("Press any button!", 10, 10, 240, 4)

display.update()

utime.sleep(0.1) #biramo vreme za koje Pico proverava da li je taster pritisnut.

Na GitHubu, u odeljku biblioteke, nalaze se i pojašnjenja funkcija, pa, tako, vidimo da RGB možemo da kontrolišemo sa display.set_led(r, g, b). Isto važi za grafičke parametre koji su manje-više poznati, a zanimljiv nam je Cliping. Na mreži se mogu naći razni primeri, a jedan, svakako zanimljiv, je svojevrsna animacija, zapravo, smenjivanje BMP za koje je ekran isto tako sposoban. Ekran može da se koristi za prikaz grafikona, menija, pa čak i nekih jednostavnijih igara. Ko je pomenuo Tetris?

Drugi, ništa manje zanimljiv, ranac nazvan je Pico Unicorn Pack. Ovaj ranac donosi RGB LED matricu u formatu 7x16 lampica. LED su na crnoj PCB, sa vrlo malim rastojanjem, a pod rukom čak deluju kao ravna ploča. Ovih čak 112 LED su u stanju da „ispišu” bilo šta, počevši od teksta, animacije, do RGB LED zida. Svakoj pojedinačnoj LED se može direktno pristupiti i odrediti boja i osvetljenje. Mi smo se sa sličnim rešenjima često sretali, poslednji put u prošlom broju, kada smo pisali o micro:bit, a još ranije o Maker ekranu iz E-Radionice. Ovaj ranac je malo većih dimenzija od ekrana iznad, a zajednička su im četiri tastera, sa istim oznakama: „A”, „B”, „X” i „Y”. Tasterima možemo kontrolisati nivo osvetljenja, upravljati sadržajem ekrana, pa čak i koristiti za neke jednostavnije igre.

Ekran funkcioniše tako što ispisuje po jedan red. Ovo se dešava veoma brzo, tako da se i ne primećuje. Za svaki red je zadužen po jedan GPIO koji kontroliše MOSFET-e. Za upravljanje samim RGB LED upotrebljena su tri TLC53283 LED drajvera, čiji je protok podataka 35 megaherca, uz širinu pulsa od 50 nanosekundi.

Kao i za sve druge projekte Pimoronija, i Unicorn ima svoje primere. Upravljanje tasterima i njihovo označavanje je ostalo isto. Funkcijom picounicorn.set_pixel(x, y, r, g, b) možemo se obratiti bilo kom pikselu. U primeru koji sledi, sa tasterima „A” i „Y” „pozivamo” LED u svoj ugao u zavisnosti od toga koji je taster pritisnut. Mislimo da primer ne treba dodatno pojašnjavati.

import picounicorn

picounicorn.init()

w = picounicorn.get_width()

h = picounicorn.get_height()

while True:

# brišemo ceo ekran

for x in range(w):

for y in range(h):

picounicorn.set_pixel(x, y, 0, 0, 0)

# ispisujemo plavi piksel u donjem desnom uglu

picounicorn.set_pixel(15, 6, 0, 0, 255)

# čekamo da se pritisne taster A

while not picounicorn.is_pressed(picounicorn.BUTTON_A):

pass

# ako je taster pritisnut

# brišemo ceo ekran

for x in range(w):

for y in range(h):

picounicorn.set_pixel(x, y, 0, 0, 0)

# ispisujemo crveni piksel u gornjem levom uglu

picounicorn.set_pixel(0, 0, 255, 0, 0)

# čekamo da se pritisne taster Y

while not picounicorn.is_pressed(picounicorn.BUTTON_Y):

pass

# ako je taster pritisnut

# brišemo ceo ekran

for x in range(w):

for y in range(h):

picounicorn.set_pixel(x, y, 0, 0, 0)

# ispisujemo plavi piksel u donjem desnom uglu

picounicorn.set_pixel(15, 6, 0, 0, 255)

Pimoroni u ponudi ima veći broj rančeva. Neki od njih su prilično zanimljivi, poput Audio ranca, ali i ekrana koji su varijacije na temu u odnosu na ova dva koje smo vam predstavili. Cene su veoma pristupačne, a ni poštarina nije previsoka. Na kvalitet izrade nemamo niti jednu zamerku - štaviše, iznenađeni smo koliko pažnje je posvećeno detaljima.


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
JUN 2025
Doom: The Dark Ages
Doom iz mračnog doba drugačiji je od svih drugih Doomova, jer je Slayer koncipiran kao tenk sa štitom...
Clair Obscur: Expedition 33
Estetika Belle Époquea, gameplay u skladu sa kanonima JRPG-a, vrhunsko pripovedanje i ljubav prema igrama...
Computex 2025, Tajpej, Tajvan
AI NEXT
Ovaj, nekada ultra-PC-specifični sajam, odavno se proširio na srodne tehnologije, biznis rešenja i digitalne usluge, postavši varijanta azijskog C...
Gigabyte GeForce RTX 5070 Gaming OC 12G
Višak samopouzdanja
Kartica je sa hardverske strane vrlo kvalitetna, ali ništa ne može da nadomesti nedostatak snage „pod haubom”...
Asus ProArt P16 (H7606WP)
Pronalazak neverovatnog
Novi ProArt P16 donosi moderna rešenja, u dobro usaglašenom odnosu gabarita i performansi – alatka koju ćete sa ponosom nosati sa sobom...
Logitech ProX Superlight 2
Sve udvostručeno
Ovaj miš predstavlja jasnu indikaciju da najveći proizvođač ne želi da napusti nijedan segment tržišta...
Winhance 25.05
Popravka Prozora
U pitanju je alatka koja omogućava da se brzo rešite (većine) bloatwarea, ali i da obavite optimizaciju rada Windowsa...
TCL NXTPAPER 11 Plus
Momak za sve
Ovo bi bio najbolji tablet „za te pare” i da košta 100 evra više...
.rs: Beogradski prevoz na Yandexu • Srbija u SEPA • Loši primeri digitalizacije
Unapređeno e Zakazivanje
Beogradski prevoz na Yandexu • Srbija u SEPA • Loši primeri digitalizacije
Google Mariner, Google Astra i AI autonomni agenti
Uspon tihog softvera
Umesto kliktanja stručnog lica, softver će, već ove godine, u tihom, gotovo nečujnom načinu rada - završavati posao...
Fatal Fury: City of the Wolves
Fatal Fury je oduvek bio čudna cvećka u svetu borilačkih igara; takav je i ostao...
Arc Raiders
Novi extraction shooter iz pera autora dobrih delova franšize Battlefield (i potcenjenog The Finals)...
© 2025 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama