This is an old revision of the document!


Laboratorul 01. Introducere în Microbit

Placa de dezvoltare Microbit

Microbit (BBC Micro Bit sau micro:bit) este un microcontroler (minicalculator simplu cu capacități limitate care poate rula un singur program) dezvoltat cu ajutorul BBC în scopuri educaționale. Printre caracteristicile principale ale plăcii se numără:

  • Nordic nRF52833 SoC
    • Procesor ARM Cortex-M4 core cu 64 MHz
    • Memorie RAM: 128 KB
    • Memorie Flash: 512 KB
  • Interfata de conectare prin USB
  • Microfon si speaker
  • Antena radio
  • 2 butoane programabile
  • 25 de LED-uri
  • 3 pini programabili
  • Senzor tactil

Simulator Microbit

Pentru a putea simula interacțiunea și programarea unei plăci Microbit, vom folosi o platformă online numită MakeCode. Primii pași pe care îi vom face în acomodarea cu acest simulator este să creăm un proiect și să scriem un program folosind Visual Programming.

Visual Programming (Blockly)

Visual Programming sau Blockly este o bibliotecă dezvoltată de Google care ne permite să scriem coduri folosind blocuri care se pot lega împreună folosind mouse-ul (drag-and-drop). Odată ce programul este “ansamblat” și rulat, în spate se generează codul echivalent într-un limbaj high-level precum Python sau JavaScript (în cazul platformei MakeCode, codul rezultat este în JavaScript).

Avantajul la folosirea Blockly este că nivelul de cunoștințe de programare necesar este redus, iar un program minimal poate fi construit cu ușurință. Dezavantajul major apare în momentul în care dorim să construim programe mai mari și mai complexe, dezvoltarea acestuia într-un limbaj de programare normal fiind mult mai rapidă și mai facilă.

În continuare vom vedea care sunt câteva din block-urile principale din cadrul platformei MakeCode:

Block-uri de bază

Acestea sunt block-uri simple utilizate pentru simularea unui ecran din LED-urile disponibile pe placă, dar și alte funcții precum delay-uri, care întârzie execuția block-ului următor de cod. Câteva exemple sunt:

  • Generarea de imagine folosind LED-urile:

  • Afișarea unui număr folosind LED-urile:

  • Întârzierea execuției următorului block de cod:

Block-uri de interacțiune cu funcționalitățile plăcii

Acestea sunt block-urile care interacționează cu senzorii disponibili pe placă precum cei de atingere, giroscop (pentru înclinație) sau temperatură, dar și cu alte componente precum cele două butoane de pe placă. Câteva exemple sunt:

  • Detectarea înclinării repetate a plăcii:

  • Detectarea atingerii (senzorul se află sub logo):

  • Detectarea apăsării butonului:

Bucle repetitive

Secțiunea de block-uri cuprinsă în cadrul acestui block se va repeta de un număr specific de ori. Cele mai importante sunt:

  • Repetarea unei secțiuni de un număr repetat de ori:

  • Repetarea unei secțiuni de un număr repetat de ori folosind o variabilă:

  • Buclă repetitivă condițională:

  • Întreruperea unei bucle repetitive:

Block-uri logice

Aici avem block-uri care execută block-urile interioare doar dacă o anumită condiție este îndeplinită, dar și blocuri care întorc o valoare logică (adevărat sau fals). Cele mai importante sunt:

  • Secțiune condițională - executată dacă valoarea este adevărată:

  • Verificarea egalității a două numere:

  • Verificarea valorii logice a două valori:

Interacțiunea cu platforma

Pentru a crea un proiect nou, intrăm pe pagina platformei MakeCode și apăsăm pe butonul “New Project”. Vom scrie apoi un nume pentru noul proiect și apoi vom apăsa “Create”.

În partea stângă avem plăcuța cu care putem interacționa (fie apăsând unul din cele doua butoane sau logo-ul, fie înclinând placa). În partea centrală avem block-urile pe care le putem utiliza grupate în foldere, pe care le putem folosi cu “drag-and-drop” și apoi le putem uni. În partea din dreapta avem locul unde compunem programul din block-uri.

Platforma nu stochează proiectele pe care le scriem, aceasta folosindu-se de facilitățile de stocare ale browser-ului. De aceea, pentru a putea folosi proiectele ulterior, trebuie să le descărcăm folosind butonul “Download”. Proiectul se va salva local sub forma unui fișier .hex . Ulterior, în pagina principală, în loc să creăm un proiect nou, avem opțiunea de a selecta “Import” și a încărca fișierul .hex .

Un exemplu de program care poate fi scris este următorul:

Acest cod va genera folosind LED-urile de pe placă un anumit tip de față în funcție de interacțiunea pe care o avem cu placa din partea stângă a browser-ului. De exemplu, dacă apăsăm butonul A, vom obține o față zâmbitoare ca mai jos:

info2/laboratoare/01.1614638862.txt.gz · Last modified: 2021/03/02 00:47 by alexandru.vochescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0