{{page>.:aux:header}}
{{page>.:aux:link}}
[[https://microblocks.fun/run|{{ :ca:microblocks.svg?nolink&150|Anar a l'entorn de programació}}]]===== Anem a programar! =====
==== Blocs i biblioteques ====
Com en molts entorns de programació gràfics basats en blocs, disposeu d'una paleta de **categories** que els agrupa per àmbits o funcions.
{{ cm01-05-categories.png?nolink&nolink&400 |Categories}}
També teniu disponibles una sèrie de **biblioteques**, que són conjunts de blocs específics d'un component o dispositiu. Alguns d'aquests estan formats per altres blocs.
\\
\\
Quan s'estableix la connexió amb la placa, MicroBlocks carrega automàticament unes biblioteques que varien depenent de la placa connectada. Si l'opció avançada **carrega biblioteques de la placa automàticament** està desactivada o carregueu un programa que no les inclou, no apareixeran. En el cas de l'ED1, les biblioteques associades són:
{{ cm01-07-defecte.png?nolink&400 |Biblioteques per defecte de la placa ED1}}
\\
\\
Per accedir a la selecció de biblioteques:
- Clic al botó "**Afegeix una biblioteca**" (pot ser que es mostri com un signe "+").
- Navega per les diferents categories i selecciona la que necessitis. També es carrega amb un doble clic damunt del nom.
{{ :ca:acts:ed1:select-library-led-display.jpg?nolink |}}
\\
\\
==== Mans a la feina ====
* Començareu fent servir el bloc **pantalla** de la categoria **Pantalla LED** agafant-lo i arrossegant-lo a l'àrea de programació.
Els blocs també són actius a la zona lateral de blocs. Si feu clic al bloc "**pantalla**" podreu veure com es mostra a l'ED1
* Arrossegueu també el bloc **en començar** de la categoria **Control** i connecteu-lo amb l'anterior.
{{ :ca:acts:ed1:display-start.mp4?800x600 |}}
\\
\\
\\
{{ :ca:acts:ed1:display-start1.webp?nolink|}}
\\
* Feu clic al botó de començar {{:ca:acts:ed1:icon-start.svg?nolink&20|Botó Començar}} o sobre el bloc **en començar** per veure com funciona. Observeu la **pantalla de l'ED1**.
* Desendolleu i reconnecteu la placa, com apagant-la i encenent-la, per comprovar que el programa efectivament s'ha guardat en ella. Cada vegada que es posi en marxa l'ED1 apareixerà la cara somrient a la pantalla.
\\
{{ :ca:acts:ed1:display-smile.jpg?nolink&400 |}}
Aquesta activitat amb l'**ED1** també es podria fer amb altres plaques o dispositius: **micro:bit, micro:STEAMakers, M5Stack-Core, CoCube**.
==== Iteracions (I) ====
* Si volem repetir una acció diverses vegades, per exemple fent un canvi de dibuix per efectuar una animació, podem utilitzar els blocs d'iteració com el **per sempre** o el **repeteix _ vegades** (entre d'altres) que tenim a la categoria **Control**.
{{ cm01-09-iteracions.png?nolink&400 |Blocs per sempre i repetir}}
* També caldrà afegir una petita espera entre els blocs perquè hi hagi temps de visualitzar els canvis de la pantalla. Si no, tot anirà massa ràpid i no es podrà apreciar.
{{ cm01-10-espera.png?nolink&400 |Bloc espera}}
\\
==== Programar una intermitència a la matriu de leds ====
{{ :ca:acts:ed1:heartbeat.png?nolink |}}
==== Iteracions (II) ====
* Hi ha altres blocs per fer repeticions que també són molt útils, com ara el **repeteix fins que _** i el **per cada i en _**.
* En el primer, es repeteix el cicle o bucle fins que es compleixi una condició, per exemple si premem un botó de la placa.
{{ cm01-11-repeteix-fins.png?nolink |Bloc repeteix fins}}
\\
* En el cas del segon, el valor de **i** començarà en **1** i anirà creixent a cada iteració fins a arribar al valor establert (per defecte 10). També serveix per recórrer llistes, com es veurà més endavant. En aquest cas, el bucle es repetirà **10 vegades**.
{{ cm01-12-per-cada.png?nolink |Bloc per cada}}
==== Botons i condicionals ====
* A la placa Citilab ED1 el **botó A** correspon al **botó OK** i el **botó B** al **botó X**. Per fer servir la resta de botons s'ha d'utilitzar la biblioteca **Botons ED1**. En el cas que no es carregui automàticament, podeu afegir-la clicant al botó (**Afegir biblioteca**) i anant a **Kits i plaques→Botons ED1**.
{{ cm01-13-llibreria-botons.png?nolink&400 |Biblioteca botons ED1}}
* Els botons retornen un valor **digital (cert o fals)** representat com un interruptor **verd** o **vermell**. Normalment, si el botó està premut donarà el valor "cert" i "fals" en cas contrari.
| {{ cm01-14-boto-ok0.png?100&nolink |True}} | {{ cm01-15-boto-ok1.png?100&nolink |False}} |
| Verd (cert) | Vermell (fals) |
Aquest tipus de bloc es pot ficar en qualsevol altre que tingui representada la ranura amb la mateixa forma.
{{ cm01-16-blocs-codicionals.png?nolink&400 |Blocs condicionals}}
===== Boardie =====
* Boardie és una placa virtual per a MicroBlocks que permet provar MicroBlocks directament al navegador.
* Només està disponible a la versió en línia de MicroBlocks.
* Incorpora algunes característiques comunes de moltes plaques reals:
* Pantalla LED 5x5
* Dos botons
* Pantalla gràfica de 240x240
* Tons
* Suporta la biblioteca Client HTTP
* Suporta la biblioteca de pantalla tàctil
* Sistema d'arxius
* Per utilitzar Boardie només cal escollir l'opció **connecta't al Boardie** de la icona de connexió {{ icon-usb.svg?nolink&20 |Connexió}}.
| {{ cm01-17-connect-boardie.png?300&nolink |Connecta't al Boardie}} | {{ boardie.png?300&nolink |Boardie}} |
| Connecta't al Boardie | Boardie |
* Exemple del programa **Heartbeat**
{{ https://microblocks.fun/blog/2022-12-07-boardie-intro/heartbeat.gif?400 |Exemple Boardie}}
==== Més informació sobre Boardie (en anglès) ====
* [[https://microblocks.fun/blog/2022-12-07-boardie-intro/|Boardie: A Virtual Board for MicroBlocks]]
* [[https://microblocks.fun/blog/2024-08-22-makingart/|Making art with MicroBlocks]]
{{page>.:aux:footer}}