Table of Contents

Laboratorul 01: Simulator Wowki, introducere în RP2040

Microcontroler

Microcontrolerele sunt circuite integrate (IC) mici pe care le puteți programa să îndeplinească diverse sarcini. Acestea au un procesor, memorie și pini de intrare/ieșire (GPIO) pentru a interacționa cu lumea externă. De la jucării până la mașini, microcontrolerele sunt prezente peste tot în electronică.

RP2040 este un microcontroler puternic și versatil construit de Raspberry Pi Foundation. Acest cip, bazat pe arhitectura ARM, este inima plăcilor de dezvoltare precum popularul Raspberry Pi Pico. De asemenea, folosim RP2040 în placa Marble Pico.

Raspberry Pi Pico board Marble Pico board

Raspberry Pi Pico oferă o flexibilitate remarcabilă în ceea ce privește programarea. Alegerea metodei potrivite depinde de nevoile și preferințele tale. Indiferent de metoda aleasă, Pico-SDK oferă o bază solidă pentru dezvoltarea de aplicații embedded.

Pentru a debloca potențialul microcontroller-ului RP2040, Raspberry Pi Foundation a creat Pico-SDK. Acest kit de dezvoltare software (SDK) gratuit și open-source vă oferă instrumentele și bibliotecile necesare pentru a programa RP2040 în C și C++.

Pe lângă Pico-SDK, există și alte metode eficiente pentru a programa Raspberry Pi Pico, fiecare având propriile avantaje și dezavantaje:

1. MicroPython este o implementare a limbajului Python pentru microcontrolere și sisteme embedded. Oferă avantajele Python-ului, cum ar fi dezvoltarea rapidă și sintaxa simplă, păstrând în același timp o amprentă mică potrivită pentru dispozitive cu resurse limitate. Este ideal pentru prototipuri rapide și proiecte educaționale, deși poate avea performanțe ușor mai scăzute decât C/C++ pentru aplicații care necesită calcule intensive.

2. CircuitPython este o variantă a Python-ului optimizată pentru microcontrolere, cu accent pe ușurința utilizării și integrarea hardware. Este similar cu MicroPython, dar se remarcă prin integrarea superioară cu plăci precum Raspberry Pi Pico și o comunitate în expansiune. Deși excelent pentru proiecte educaționale și de dimensiuni mici spre medii, poate avea unele limitări în comparație cu MicroPython în ceea ce privește gama de biblioteci și funcționalități disponibile.

3. Alte limbaje:

IDE-uri și medii de dezvoltare:

Opțiuni pentru programare cu SDK-ul C:

Desi marea majoritatea a proiectelor experimentate in cadrul laboratorului pot fi realizate cu MicroPython sau CircuitPython pentru proiectele mai complexe recomandam utilizarea C/C++ in special din considerente de performanta. De asemenea recomandam sa verificati disponibilitatea bibliotecilor, pentru a va asigura că există biblioteci disponibile pentru limbajul și proiectul dvs.

RP2040

Numele acestui cip a fost furnizat de Raspberry Pi Foundation și este explicat în fișa tehnică:

RP: Reprezintă “Raspberry Pi”, similar cu modul în care alte produse Raspberry Pi folosesc “Pi” în numele lor.

RP2040 pinout

RP2040 are două nuclee de procesor M0+, DMA, memorie internă și blocuri periferice conectate prin intermediul țesăturii de bus AHB/APB. Acesta oferă o varietate de caracteristici pentru dezvoltare flexibilă:

RP2040 system overview

Pe scurt, RP2040 oferă procesare puternică, opțiuni flexibile de memorie, diverse opțiuni de comunicare și periferice integrate, ceea ce îl face potrivit pentru diverse proiecte de dezvoltare.

Datasheet

RP2040, la fel ca majoritatea componentelor electronice, are o fișă tehnică (uneori numită fișă de date sau fișă de specificații). Acest document este ca un manual de instrucțiuni pentru cip, explicând caracteristicile sale și cum să îl utilizați în proiectele dvs.

Ce conține o fișă tehnică RP2040?

A avea în vedere:

Configurarea GPIO-urilor

Pinii GPIO pot fi utilizați ca ieșiri (LED-uri, motoare, buzzere) sau ca intrări (butoane, senzori).

RP2040 are trei periferice care controlează pinii GPIO:

Simulator Wowki

Wokwi este o platformă bazată pe web care vă permite să simulați și să prototipați circuite electronice cu microcontrolere. Oferă o interfață vizuală unde puteți glisa și plasa componente, conectați-le cu fire virtuale și scrieți cod pentru a controla comportamentul lor. Wokwi suportă în prezent plăci de microcontrolere populare precum:

De ce să folosiți Wokwi?

Cum funcționează Wokwi?

Wokwi este un instrument excelent pentru studenții de la Computer Science care doresc să învețe despre electronică și programare. Platforma oferă un mediu sigur și accesibil pentru experimentare și dezvoltare de proiecte.

Exercitii

  1. Creați un program în Wokwi pentru a clipi un LED conectat la un microcontroler Raspberry Pi Pico (RP2040).
  2. Proiectați și implementați un program pentru un microcontroler Raspberry Pi Pico (RP2040) care incrementează un contor de la 0 la 9 și afișează numărul curent pe un display cu 7 segmente. Programul ar trebui să includă și un buton de resetare care, atunci când este apăsat, resetează contorul înapoi la 0.
  3. Rescrieti aplicatia de la punctul 2 in MicroPython si observati diferentele de implementare.

Bibliografie