LAKI PINGVINI Nije Pico, nego Tiny
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.
|
||||||||||
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Intel Core i9-14900K i Core i7-14700K Nema zime uz Intelove mašine Da li je Raptor Lake Refresh samo još vrelija i neznatno brža verzija prethodne generacije? Apple iPhone 15, iPhone 15 Pro i iPhone 15 Pro Max Petrovača, ajdared i zlatni delišes iPhone 15 je „prepakovana” verzija modela 14 Pro, sa Appleovim čipsetom A16 Bionic „ispod haube”... High tech igračke i razvoj naučnog razmišljanja M’mera mpoyamba Visokokvalitetne, a povoljne edukativne igračke postoje za svaku sferu interesovanja vašeg deteta... Dell Alienware AW2724DM Ponos na vašem stolu Odličan monitor. Vrhunski! Međutim, kao što verovatno znate, Alienware je neka vrsta statusnog simbola... Hisense 43A7KQ VIDAA sa više smisla Neobičan brak pametnog i tradicionalnog televizora, koji se lako koristi i bez ijedne napredne opcije za gledanje TV programa... Finansijske tehnologije Turbulencije ne prestaju Da li nas očekuje recesija ili „meko prizemljenje”? Ključne kompanije sektora finansijskih tehnologija ne čekaju previše... EmulationStation Desktop Edition 2.1.1 Vizuelna strana emulacije Emulation-Station je frontend za emulatore, koji donosi mogućnost kastomizacije prikaza sadržaja... Super Mario Bros. Wonder Super Mario Bros. Wonder je dragulj u serijalu 2D Mario platformera, na koji se čekalo više od tri decenije... Assassin’s Creed Mirage Igra ima fokusiranu, vrlo linearnu priču kakvu su imali prvi naslovi u serijalu... Forza Motorsport Pre trka nije moguće voziti kvalifikacije, već sami birate startno mesto na gridu... Marvel’s Spider-Man 2 Akciona komponenta Marvel’s Spider-Mana 2 je stravično dobra, mada su Majls i Piter previše slični... |
||||||||||