LAKI PINGVINI
Pimoroni Tiny2040
Nije Pico, nego Tiny
D. PETROVIĆ
1. januar 2022.

Pimoroni nudi dva modela ove pločice: sa osam i dva megabajta memorije. Mi smo dobili ovaj prvi. Razlika u ceni je nepune dve britanske funte, što smatramo da je mala razlika za četiri puta više memorije. Pločica je zaista malih dimenzija, 21×18 milimetara, i za ne poverovati je šta se sve tu našlo. Tiny2040 možemo da posmatramo kao sabijenu verziju RPi Pico. Pinout je izdeljen u dva bočna headera, koji iz očiglednih razloga nisu mogli da nam stave na raspolaganje kompletan pinout RP2040 mikrokontrolera koji se nalazi sa donje strane pločice. Ipak, na raspolaganju su nam čak 12 GPIO. Pimoroni je celu jednu stranu rezervisao za digitalne i pinove preko kojih pristupamo interfejsima RP2040. Izbor pinova je takav da možemo koristiti i po nekoliko UART, SPI i I2C interfejsa. Sa suprotne strane su naponska četiri i četiri analogna. Od ovih naponskih, tu su dva GND i po jedan 3v3 i VBUS (5V). Naponski regulator NCP115AMX330TCG je u stanju da isporuči do 300 miliampera na 3,3 volta. Drugi GND na pinu „8” je možda i suvišan i možda je njegovo mesto mogao da zauzme još neki GPIO. Tim pre što se jedan GND nalazi i na Debug tropinskom headeru. Debug header je na svom standardnom mestu za Pico. Oznake pinova na headerima vrlo su čitke.

Sami headeri, kao na Pico, mogu da se koriste kao PTH, ali i da se preko sečenih otvora (kastelacije) leme direktno na ploču nosača. Zapravo, mogli bi da pločica sa svoje donje strane nema komponente. Ovako, osim što prati neki dizajn samog Pico, upotrebnu funkciju nema. Jedino da ploča nosač ima usek na sebi.

O samom mikrokontroleru RP2040 već smo pisali: u pitanju je ARM Cortex M0+ sa radnim taktom od 133 megaherca i sa 264 kilobajta SRAM-a. Ako su sve komponente vezane za RP2040 sa donje strane, šta je sa gornje? Sa gornje strane se, pored USB-C priključka, našlo mesta i za dva tastera (’Reset’ i ’Boot’), kao i RGB LED između. Pimoroni je RGB LED vezao za nekorišćene pinove 18, 19 i 20. Kao firma koja, obično, šeme svojih proizvoda ne stavlja na raspolaganje, ovde su napravili izuzetak. Tu vidimo da je RGB LED postavljena kao active low; drugim rečima, sa nižim vrednostima, jače će sijati.

Tiny2040 možemo da programiramo koristeći razne programske jezike: C/C++, MicroPython i CircuitPython. Na zvaničnim stranicama su linkovi ka svim neophodnim primerima i fajlovima. Kao i za RPi Pico, ako se koristi MicroPython, UF2 fajl (USB flashing format) preuzimamo sa zvaničnih Raspberry Pi ili MicroPython stranica. Povezujemo Tiny2040 sa računarom dok držimo pritisnut taster ’Boot’, a zatim na novoprijavljeni drajv kopiramo UF2 fajl. S obzirom na postojanje tastera ’Reset’, za razliku od RPi Pico, ovde možemo i povezani Tiny2040 prebaciti u DFU, tako što ćemo dok držimo pritisnut ’Reset’, pritisnuti ’Boot’, a zatim ih pustiti. U svakom slučaju, Tiny2040 prijaviće se kao RPI-RP2 drajv.

Ispod je primer sa Pimoronijevog foruma, pisan u Micropythonu za klasičan test RGB LED. Program koji bi trebalo da se stalno vrti na pločici treba nazvati main.py. Za programiranje sa MicroPythonom može da se koristi Thonny, ali i neki drugi editor, kao što je, recimo, uPyCraft IDE.

# Tiny 2040 RBG LED control

# Tony Goodhew 11th March 2021

import utime

from machine import Pin, PWM

# Setup RGB LED

# Construct PWM objects with RGB LED

rpwm = PWM(Pin(18)) # RED

gpwm = PWM(Pin(19)) # GREEN

bpwm = PWM(Pin(20)) # BLUE

# Set the PWM frequency.

rpwm.freq(1000)

gpwm.freq(1000)

bpwm.freq(1000)

# Turn off

rduty = 65535

gduty = 65535

bduty = 65535

rpwm.duty_u16(rduty)

gpwm.duty_u16(gduty)

bpwm.duty_u16(bduty)

defLED(r,g,b):

rduty = int(65535 -(65535 * r/255))

gduty = int(65535 -(65535 * g/255))

bduty = int(65535 -(65535 * b/255))

rpwm.duty_u16(rduty)

gpwm.duty_u16(gduty)

bpwm.duty_u16(bduty)

LED(255,255,255)

utime.sleep(0.3)

LED(255,0,0)

utime.sleep(0.3)

while True:

# Blink

for i in range(4):

LED(0,0,255)

utime.sleep(0.3)

LED(0,0,0)

utime.sleep(0.3)

# Fade UP

for i in range(255):

LED(i,i,0)

utime.sleep(0.01)

# Fade DOWN

for ii in range(255,-1,-1):

LED(ii,ii,0)

utime.sleep(0.01)

Za Tiny2040 postoji namenski UF2, ukoliko se koristi CircuitPython, a može da se preuzme sa zvaničnih CircuitPython stranica. CircuitPython dolazi sa povećim brojem ugrađenih modula (biblioteka u Arduino IDE terminologiji). Za najveći broj primena, tu je sve što je potrebno. Tiny2040 postaviće se kao CIRCUITPY drajv i sve što treba je da program pisan u, recimo, MU, prekopiramo na Tiny2040. Za razliku od MicroPythona, CircuitPython UF.2 postavlja pločicu kao konstantni ROM; uvek će se prijavljivati kao drajv.

Da bismo programirali Tiny2040 kroz Arduino IDE, potrebno je da instaliramo podršku za RP2040 ploče. U Preferences URL polje unosimo: „https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json”, a zatim u Boards Manageru instaliramo ploče. Nažalost, ne postoji ekskluzivna podrška za Tiny2040, ali odabirom Raspberry Pi Pico će i Tiny2040 raditi savršeno. Blink skeč kao takav, naravno, neće raditi, jer built-in LED nije na pinu 25, niti je u pitanju jedna LED. Kao i za RPi Pico i ovde je prvi put neophodno priključiti Tiny2040 u Boot režimu. Prvi skeč prebacujemo bez odabira COM porta; IDE će se sam postarati za sve. Nakon prebacivanja, Tiny2040 će se restartovati i prijaviti, u našem slučaju, kao Raspberry Pi Pico. Nadalje će se stalno tako prijavljivati. Ako želimo da se vratimo jezicima Zmija, dovoljno je pločicu prebaciti u BOOT režim i prekopirati odgovarajući UF.2 fajl.

int ledR = 18;

int ledG = 19;

int ledB = 20;

int delayTime = 5;

void setup() {

pinMode(ledR, OUTPUT);

pinMode(ledG, OUTPUT);

pinMode(ledB, OUTPUT);

digitalWrite(ledR, HIGH);

digitalWrite(ledG, HIGH);

digitalWrite(ledB, HIGH);

}

void loop() {

for(int i=255; i>0; i--){

analogWrite(ledR, i);

delay(delayTime);

}

delay(1000);

digitalWrite(ledR, HIGH);

for(int i=255; i>0; i--){

analogWrite(ledG, i);

delay(delayTime);

}

delay(1000);

digitalWrite(ledG, HIGH);

for(int i=255; i>0; i--){

analogWrite(ledB, i);

delay(delayTime);

}

delay(1000);

digitalWrite(ledB, HIGH);

}

Najbliže poređenje Tiny204 bilo bi sa Adafruit QT Py RP2040. Iako sa većim brojem dostupnih GPIO, Tiny2040 je manja pločica. Opet, proizvod iz Adafruita ima Neopixel, Stemma QT konektor i, generalno, drugačije organizovan pinout. Nemamo je na raspolaganju za probu, ali hardver je isti i morale bi da rade identično u većoj meri. Tiny2040 kao jedini nedostatak ima cenu. U odnosu na osnovni RPi Pico, Tiny2040 je više nego dvostruko skuplji. Isto važi i za QT Py RP2040.


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