Warning: mysqli_select_db() expects parameter 1 to be mysqli, string given in /home/itstreet/public_html/classes/CMySQL.php on line 22

Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/itstreet/public_html/classes/CMySQL.php on line 24
ITstreet -Raspberry Pi Pico i Blink LED
Preskoči na sadržaj

ITstreet postovi

Raspberry Pi Pico i Blink LED

U sled sveopšteg hajpa oko najnovije razvojne ploče iz Raspberry Pi kuhinje, uspeo sam da se dokopam jedne. I to kao pre-order. Pico sam nabavio iz Slovenačkog Galagomarketa plativši preporučenu cenu, plus poštarinu. Sve ukupno nepunih 9 evra.

Šta je Raspberry Pi Pico?
Pico je razvojna ploča koju je razvila fondacija Raspberry, za šta je u sopstvenoj kuhinji razvijen namenski mikrokontroler, RP2040. Sama ploča je relativno malih dimenzija, i tek nešto je veća od Arduino Nano, i tu sličnosti sa Nano prestaju. Čak i sa Arduino ekosistemom. Istina, iz Arduina su najavili sopstvenu ploču sa RP2040, što će ujedno značiti i podršku ovim mikrokontrolerima unutar IDE. U međuvremenu, moraćemo se zadovoljiti drugim alatima. Pico se može programirati preko MicroPythona, CircuitPythona ili C/C++. Za sada, ako niste sa Visual Studio na ti, C/C++ propisno zaobići. Izgubio sam par sati pokušavajući da VS dovedem u stanje da napišem jednu jedinu liniju koda i nisam uspeo. Naravno da je moguće, ali život je suviše kratak a alternative postoje. I to odlične.

Što se tiče tehničkih specifikacija, možete ispod videti da su sasvim pristojne, ali ne i top ponude.

  • MCU – RP2040, Arm Cortex-M0+@133MHz
  • RAM – 264KB
  • QSPI flash – 2MB
  • GPIO – 30
  • ADC – 4
  • UART – 2
  • SPI – 2
  • I2C – 2
  • PWM – 16
  • State machines – 8
  • USB 1.1 – 1
  • Temperature sensor
  • Programski jezici – MicroPython, CircuitPython, C/C++

Za programiranje Pico sam koristio Thonny a podrazumeva sa da je Python već instaliran na računaru. Operativni sistem je windows. Na zvaničnim stranicama treba preuzeti fajl sa kojim ćemo na Pico instalirati MicroPython. I to je sve što nam treba. Koraci su sledeći:
  • Držimo pritisnuto BOOTSEL dugme i povežemo Pico sa računarom
  • Puštamo dugme
  • Pico će se pojaviti kao Mass Storage drive
  • Bukvalno prekopiramo preuzet UF2 fajl iznad u root Pico
  • Pico će se restartovati
  • Otvaramo Thonny
  • Idemo redom Run->Select Interpreter i tu biramo Pico od ponuđenih ploča
  • Idemo na View i čekiramo Files da bismo dobili File manager sa leve strane
Sa ovim, Pico je spreman za programiranje. Thonny je zanimljiv u smislu da korisnički program možemo pokretati kroz REPL, bez da ga prebacujemo na Pico. Ovo je dobro radi testirana a svakim restartom Pico ga neće pokretati. Da bi Pico samostalno pokretao program, moramo ga preimenovati u main.py.

U Thonny-ju razlikujemo traku sa alatima, prozor glavnog editora i Shell. U Shell možemo kucati liniju po liniju koda i gledati kako ih Pico izvršava, a možemo i u glavnom editoru, pa ga pokrenuti kompletnog. Prilikom pokretanja programa, Thonny će nas pitati za lokaciju gde biramo Pico, ali možemo snimiti fajl i na računar.

Hello World! u svetu mikrokontrolera je trepćuća LED. Na Pico, ugrađena LED je na pinu 25. Pa hajde da napišemo jedan Blink program za Pico.

import machine
import utime
led_onboard = machine.Pin(25, machine.Pin.OUT)
while True:
    led_onboard.toggle()
    utime.sleep(1)



Python funkcioniše totalno drugačije od C/C++. Struktura je naravno drugačija, a prvo što upada u oči je da ovde nemamo trn u oku, tačku sa zapetom (;). Ne bih da ovaj članak pretvorim u Python tutorial, i u različitostu u odnosu na Arduino skečeve. Ipak, malo ću pojasniti Python program iznad. Uvozimo module machine i utime. Ovi moduli nam trebaju da bi program znao na šta se odnosi kada kažemo Pin i sleep. Deklarišemo led_onboard da je Pin modula machine, i to 25 i da je OUT(put). Zatim u while loop-u, dok je god True, a u ovom primeru biće zauvek, menjaćemo stanje na pinu. Iz modula vadimo funkciju sleep i kažemo joj da spava jednu sekundu. Na ovaj način možemo postaviti dodatnu LED na bilo koji digitalni pin i uz otpornik upotrebiti isti ovakav program uz deklarciju pina.

Gledaću da povremeno objavim po neki novi primer u vezi Pico. A i da povampirim blog. Nisam na njemu pisao prilično dugo.

Ostavite poruku

Vaša mejl adresa neće biti objavljena.Označena polja su obavezna*