Un ghid pentru începători pentru MicroPython cu Raspberry Pi Pico

Un ghid pentru începători pentru MicroPython cu Raspberry Pi Pico

Raspberry Pi Pico este cel mai nou membru al familiei Raspberry Pi. Înainte de aceasta, linia de produse Raspberry Pi erau computere cu o singură placă capabile să ruleze un sistem de operare.

Bazat pe noul cip RP2040, Raspberry Pi Pico acceptă atât MicroPython, cât și C/C++. Cu Raspberry Pi Pico, începătorii și entuziaștii pot controla hardware-ul și dispozitivele conectate. Pinii GPIO ai Raspberry Pi Pico pot fi folosiți pentru a estompa luminile, pentru a citi starea comutatoarelor și multe altele.

Ce este MicroPython?

Programarea pe microcontrolere s-a făcut predominant în limbajul C, așa cum sa văzut folosit în plăcile de dezvoltare Arduino . Apoi, în 2014, a fost publicat un nou limbaj de programare pentru microcontrolere, MicroPython. MicroPython vă permite să scrieți cod Python pe metalul gol al unui microcontroler. Aceasta înseamnă că puteți scrie cod Python fără un sistem de operare.

Python este un limbaj de programare de nivel înalt, prietenos pentru începători, care permite utilizatorilor să se concentreze pe învățarea conceptelor de programare. Este aproape același lucru cu MicroPython.

Folosind un LED

Pentru a controla hardware-ul, Pico vorbește cu seria de pini de-a lungul ambelor margini. Aceștia se numesc pini de ieșire de intrare de uz general (GPIO), iar LED-ul de la bord poate fi găsit pe GPIO 25. Pentru a-l controla, importați mai întâi bibliotecile necesare:

import machine

import utime

Apoi apelați funcția Pin folosind biblioteca mașinii pentru a gestiona pin-ul GPIO al Pin-ului, în acest caz, setăm Pin-ul la GPIO 25, deci este primul parametru. Al doilea parametru îl setează ca pin de ieșire mai degrabă decât ca pin de intrare, făcând acest lucru, pinul știe ce ar trebui să facă:

onboard_led = machine.Pin(25, machine.Pin.OUT)

Pentru a continua, în următorul cod, îi spunem lui Pico să-și seteze apoi valoarea pinului la GPIO 25 la 1 sau „pornit”.

while True: onboard_led.value(1)

Cu toate acestea, s-ar putea să realizezi că nu pare să se întâmple nimic. Acest lucru se datorează faptului că Pico funcționează foarte repede, astfel încât LED-ul se aprinde mai repede decât poți percepe cu ochiul. Pentru a remedia acest lucru, trebuie să încetinim programul utilizând comanda sleep din biblioteca utime . Codul complet în care LED-ul se va aprinde și se va stinge poate fi văzut mai jos:

import machine import utime onboard_led = machine.Pin(25, machine.Pin.OUT) while True: onboard_led.value(1) utime.sleep(5) onboard_led.value(0) utime.sleep(5)

Comutarea LED-urilor pornit și oprit

Alternativ, există o altă modalitate de a porni și opri LED-urile, cu comanda de comutare :

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

În exemplu, comanda de comutare înlocuiește necesitatea de a seta valoarea LED-ului la 1 și mai târziu la 0. Acesta se va aprinde în continuare timp de 5 secunde și apoi se va stinge încă cinci, atâta timp cât programul rulează.

Crearea Funcțiilor

Un ghid pentru începători pentru MicroPython cu Raspberry Pi Pico

Pe măsură ce programele devin mai complexe, ajută la gruparea unor bucăți de cod împreună, astfel încât să mențină coerența. Pentru a face acest lucru, MicroPython precum Python permite utilizarea funcțiilor. Funcțiile sunt un grup de instrucțiuni înrudite care îndeplinesc o anumită sarcină. De exemplu, în următorul cod, este definită o funcție numită printNames :

def printNames: print(“Raspberry Pi 1”) print(“Raspberry Pi 2”) print(“Raspberry Pi 3”) print(“Raspberry Pi 4”) print(“Raspberry Pi Compute Module”) print(“Raspberry Pi 400”) print(“Raspberry Pi Pico”) printNames()

Ultima linie din cod apelează funcția astfel încât să se execute efectiv.

Bucle

Un ghid pentru începători pentru MicroPython cu Raspberry Pi Pico

Logica condiționată efectuează diferite acțiuni în funcție de faptul dacă o constrângere booleană este evaluată drept adevărat sau fals. O mulțime de proiecte Raspberry Pi Pico se bazează pe aceste declarații logice. În exemplul următor, o instrucțiune if-else este utilizată pentru a determina dacă o instrucțiune print se va executa:

i = 17 def printNames(): if i > 15: print("i is greater than 15!") else: print("i is not greater than 15") printNames()

În exemplul următor, bucla for este utilizată cu funcția range . Aceste bucle pot fi folosite pentru a repeta un bloc de cod de mai multe ori.

Un ghid pentru începători pentru MicroPython cu Raspberry Pi Pico

Pentru acest exemplu, comanda de imprimare va fi executată de cinci ori cu o întârziere de cinci secunde între fiecare dintre ele cu comanda de repaus :

import utime def printNames(): for i in range(5): print("Raspberry Pi Pico") utime.sleep(5) printNames()

Convertor analog-digital (ADC)

Deși nu o veți putea vedea, Raspberry Pi Pico are un convertor intern analog-digital. În exemplul următor, un potențiometru este conectat la Raspberry Pi Pico pe GPIO 26, care este capabil de funcționalitate ADC:

import machine import utime pot = machine.ADC(26) while True: print(pot.read_u16()) utime.sleep(1)

Aici, înainte de a putea folosi acest pin capabil de ADC, acesta trebuie configurat cu funcția ADC. Apoi, în timp ce programul rulează, valoarea potențiometrului se va imprima în fiecare secundă. Alți pini de pe Raspberry Pi Pico care sunt capabili ADC includ GPIO27, 28 și 29.

Modulație pe lățime a impulsurilor (Pwm)

Ieșirea digitală a unui microcontroler poate fi doar 1 sau 0. Pentru a crea un semnal analogic, veți avea nevoie de un convertor digital-analogic. Cu toate acestea, o altă modalitate este de a crea în mod artificial un semnal analogic, folosind modularea lățimii impulsului sau PWM pe scurt.

Prin pornirea și oprirea unui semnal digital, acesta este cunoscut sub numele de puls. Prin modularea lățimii unui impuls, acesta creează artificial un semnal analogic, așa cum se vede în exemplul următor:

import machine import utime pot = machine.ADC(26 led = machine.PWM(machine.Pin(21)) led.freq(1000) while True: led.duty_u16(pot.read_u16())

Mai întâi, au fost importate bibliotecile mașină și utime . Un obiect, onboard_led este creat cu o ieșire PWM activată pe pinul GPIO 21. Apoi, folosind comanda freq , aceasta setează frecvența pentru a modula lățimea impulsului. Imaginați-vă că întoarceți potențiometrul, LED-ul va crește mai luminos când este rotit într-un sens.

Acest lucru se întâmplă deoarece valoarea analogică de la potențiometru este folosită ca valoare pentru ciclul de lucru al semnalului PWM, este o valoare între 0 și 65535. Cu toate acestea, fără conversie, rotirea ușor a potențiometrului poate determina deja ca LED-ul să atingă nivelul maxim de luminozitate. .

Pentru a remedia acest lucru, astfel încât potențiometrul să atingă luminozitatea maximă doar când este rotit până la capăt, valoarea este convertită cu funcția duty_u16 . Această funcție îl transformă într-un număr întreg de 16 biți, care este o valoare între 0 și 1024, care este același interval de valori pe care l-ați primi de la pinul analog al lui Pico.

Creați mai multe cu Raspberry Pi Pico

Acest articol a acoperit comenzile de bază din MicroPython pe Raspberry Pi Pico. Pentru mai multe informații, consultați documentația oficială despre programarea MicroPython cu Raspberry Pi Pico .

Dacă nu este deja configurat pe Raspberry Pi Pico, obțineți Thonny IDE pentru a rula codul MicroPython sau, alternativ, verificați emulatorul CPU Unicorn pentru a rula un microcontroler virtual direct pe computer.


Cele mai bune 6 locuri pentru a căuta modele de imprimare 3D

Cele mai bune 6 locuri pentru a căuta modele de imprimare 3D

Pe măsură ce brevetele de imprimare 3D au expirat, industria a explodat în casă.

10 antene Wi-Fi cu rază lungă de acțiune DIY pe care le puteți face acasă

10 antene Wi-Fi cu rază lungă de acțiune DIY pe care le puteți face acasă

În timp ce antenele Wi-Fi moderne vă permit să utilizați cele mai rapide viteze din pachetul ISP-ului dvs., acestea pot fi destul de costisitoare. Din fericire, poți oricând să apelezi la proiecte de bricolaj pentru a-ți îmbunătăți semnalul de conexiune fără a cheltui prea mulți bani.

Iată cum să overclockați RAM PC: dar ar trebui?

Iată cum să overclockați RAM PC: dar ar trebui?

Obținerea RAM pentru computer este o necesitate. Deși, dacă nu îl rulați la capacitatea sa maximă, pierdeți multe. Fiecare program stochează date în RAM pentru o perioadă pentru o accesibilitate mai rapidă. Cu o memorie RAM overclockată, puteți crește performanța computerului dvs.

Cum să construiți un turn de zaruri DIY pentru jocuri de masă

Cum să construiți un turn de zaruri DIY pentru jocuri de masă

Se crede că zarurile există de mii de ani. În acest timp, însă, s-a făcut foarte puțin pentru a avansa sau a inova această tehnologie. În timp ce materialele s-au schimbat și metodele de fabricare a zarurilor s-au mutat și ele înainte, încă ești blocat să arunci zarurile cu mâna ca un fel de om din peșteră.

Proiectarea și imprimarea 3D a propriilor miniaturi de masă cu o imprimantă FDM

Proiectarea și imprimarea 3D a propriilor miniaturi de masă cu o imprimantă FDM

Jocurile de masă precum D&D și Warhammer oferă o modalitate excelentă de a vă bucura de divertisment interactiv fără a fi nevoie de un computer sau consolă.

Top 10 idei de bricolaj pentru a-ți transforma dormitorul

Top 10 idei de bricolaj pentru a-ți transforma dormitorul

Iluminatul este lipiciul care ține decorul împreună. Accentuează caracteristicile atractive ale camerelor tale, transformându-l într-o oază caldă și confortabilă la care îți va plăcea să vii în fiecare seară. Cea mai bună parte? Nici măcar nu trebuie să dai banii pentru că există câteva idei de bricolaj destul de fenomenale pentru a-ți lumina dormitorul. Iată topul nostru de top 10:

Un ghid pentru începători pentru MicroPython cu Raspberry Pi Pico

Un ghid pentru începători pentru MicroPython cu Raspberry Pi Pico

Raspberry Pi Pico este cel mai nou membru al familiei Raspberry Pi. Înainte de aceasta, linia de produse Raspberry Pi erau computere cu o singură placă capabile să ruleze un sistem de operare.

Cum să recuperați datele de pe un hard disk extern

Cum să recuperați datele de pe un hard disk extern

Hard disk-urile externe au devenit din ce în ce mai populare datorită vitezei, costului și confortului lor. Cu toate acestea, la fel ca hard disk-urile obișnuite, acestea sunt supuse acelorași riscuri de pierdere a datelor, fie că este vorba despre mecanic sau software.

11 alternative la Raspberry Pi Pico

11 alternative la Raspberry Pi Pico

Lansarea Raspberry Pi Pico a fost incitantă. Nu numai că Fundația Raspberry Pi s-a mutat în sfârșit pe piața microcontrolerelor de hobby, dominată anterior de Arduino, dar o făcea și cu propriul său siliciu.

Cum să instalați o cameră de bord în mașina dvs

Cum să instalați o cameră de bord în mașina dvs

Dacă aveți o cameră de bord, montarea acesteia ar putea părea o corvoadă. În unele cazuri, nu este atât de simplu pe cât ți-ai dori, dar instalarea unei camere de bord în mașină merită fiecare minut pe care îl petreci pe ea.