Appunti di programmazione su BBC micro:bit: clear screen

Clear screen

L’istruzione spegne tutti i LED sulla matrice di LED del micro:bit

function clearScreen(): void;

Esempio

Il codice che segue permette la visualizzazione di un disegno sul display e successivamente vengono spenti tutti i LED

Articoli simili:

Pubblicato in micro:bit, programmazione | Contrassegnato , , | Lascia un commento

Appunti di programmazione su BBC micro:bit: show string

Show string

Visualizza una stringa di testo che entra da sinistra verso destra del display

function showString(text: string, interval?: number): void;

Parametri

  • text è una stringa e può contenere lettere, numeri e e segni di interpunzione.
  • interval è un numero opzionale e rappresenta il numero di millisecondi per far muovere ad ogni passo, da sinistra a destra, valori alti faranno muovere la stringa molto lentamente.

Esempio

All’interno della variabile stringa viene memorizzato il testo “Ciao” (il blocco testo può essere si trova nel blocco delle istruzioni nominato con “Text”), con l’istruzione “show string” visualizziamo il contenuto della variabile “stringa”.

I caratteri ASCII supportati dal micro:bit sono quelli compresi nell’intervallo codici da 32  126, qualsiasi altro carattere fuori da questo intervallo viene visualizzato sulla matrice di LED con un punto interrogativo.

Articoli simili:

Pubblicato in micro:bit, programmazione | Contrassegnato , , | Lascia un commento

Appunti di programmazione su BBC micro:bit: show leds

Show leds

function showLeds(leds: string, interval?: number): void;

Parametri

  • leds è una stringa che controlla quali LED sono accesi e spenti.ù
  • interval è un numero opzionale che indica quanti millisecondi bisogna attendere prima che venga visualizzata la figura sul display. Se utilizzate la programmazione a blocchi, l’intervallo è fissato per default a 400 millisecondi.

Esempio 01

L’esempio che segue utilizza l’istruzione show led per visualizzare l’immagine sul display

Se visualizzate il programma in modalità JavaScript:

La presenza di un carattere # identifica che il LED corrispondente è acceso mentre la presenza di un . indica che il LED è spento.

Lo schermo del micro:bit è costituito da 25 LED disposti in una matrice 5×5.

Come indicare ogni LED

Se usate le coordinate (x, y) per specificare un singolo LED nella griglia allora x identifica la posizione orizzontale (0, 1, 2, 3, 4) e y identifica la posizione verticale (0, 1, 2, 3, 4).

Nella figura che segue x, y sono le coordinate che identificano i singoli LED:

(0,0) (1,0) (2,0) (3,0) (4,0)

(0,1) (1,1) (2,1) (3,1) (4,1)

(0,2) (1,2) (2,2) (3,2) (4,2)

(0,3) (1,3) (2,3) (3,3) (4,3)

(0,4) (1,4) (2,4) (3,4) (4,4)

da cui si evince che la coordinata (2, 2) identifica il centro della griglia di LED.

Accendere e spegnere i Led all’interno della matrice

Con l’istruzione plot, che vedremo in modo approfondito più avanti, abbiamo la possibilità di accendere uno specifico LED, mentre con il comando unploat spegniamo uno specifico LED

Il programma accendere il LED collocato nella prima colonna e prima riga, accende un secondo LED in seconda riga e prima colonna, questo stato dura 1 secondo, dopo di che il LED in prima riga prima colonna viene spento, questo stato rimane attivo per 1 secondo e successivamente viene spendo anche il secondo LED in seconda riga prima colonna viene spento.

Come chiedere al micro:bit quale LED è acceso o spento

Per verificare se un Led è accesso o spento è possibile usare la funzione point

Esempio

Realizziamo un programma che verifica se il LED (0, 0) risulta acceso, nel caso sia ON il LED alle coordinate (2, 0) viene acceso, nel caso sia OFF viene acceso il LED in posizione centrale (2, 2)

Il buffer del display

Il micro:bit mantiene in memoria lo stato di tutti i 25 LED (acceso/spento), la parte di memoria in cui viene memorizzato lo stato del display prende il nome di “display buffer”. Le funzioni di controllo dei singoli LED: plot/unplot/point accedono direttamente al buffer del display. Qualsiasi funzione che mostra un’immagine, un numero o una stringa sulla matrice di LED sovrascrivono completamente il buffer del display, quindi ad esempio scrivere un numero mediante l’istruzione “show number” e poi usare un’istruzione plot è diverso che usare prima l’istruzione plot e poi scrivere un numero mediante un’istruzione “show number

Esempio

Codice

Risultato

Codice

Risultato

Non si vedrà acceso il LED in posizione 0,0 perché la funzione “show number” sovrascrive tutto il display buffer.

Articoli simili:

Pubblicato in micro:bit, programmazione | Contrassegnato , , | Lascia un commento

Appunti di programmazione su BBC micro:bit: show icon

Show icon

Consente di visualizzare l’icona selezionata

function showIcon(icon: IconNames, interval = 600);
  • icon, identifica l’icona da visualizzare sul display
  • interval (opzionale), tempo di visualizzazione in millisecondi, impostato per default a 400 millisecondi.

Per la scelta dell’icona fare click sulla frecci a lato dell’icona all’interno dell’istruzione show icon.

Esempio 01

Il programma visualizza una faccia che ride e dopo un secondo un faccia triste.

Esempio 02

Il programma visualizza una faccia che ride per un secondo e successivamente un faccia triste per un secondo, il tutto si ripete indefinitamente grazie all’uso della funzione forever.

Esempio 03

Modifichiamo il blocco editando direttamente il JavaScript per realizziamo un programma che all’avvio visualizza un cuore per due secondi e poi viene cancellato il display.

Passo 1

Realizziamo con il Block editor un programma che visualizza un cuore e poi cancella il display

Passo 2

Vediamo ora come ottenere la stessa funzione con solo due linee di codice.
Selezionate la modalità JavaScript

Il codice corrispondente sarà:

Variate il codice come indicato nell’immagine che segue:

Passo 3

Selezionate la modalità Blocks, il codice corrispondente sarà il seguente:

Che avrà lo stesso effetto del codice iniziale.

Articoli simili:

Pubblicato in micro:bit, programmazione | Contrassegnato , , | Lascia un commento

Appunti di programmazione su BBC micro:bit: show number

Show Number

Visualizza un numero sulla matrice di LED. Il numero si sposterà a sinistra se contiene più di una cifra

function showNumber(value: number, interval?: number): void;

Parametri

  • value: numero
  • interval: valore numerico opzionale che indica il numero di millisecondi necessari per far traslare verso sinistra la colonna di LED che compone il numero, valori elevati faranno apparire il numero lentamente.

Esempio: visualizzare il numero 10

Esempio: realizziamo un programma che all’avvio visualizza immediatamente il numero 1967 e successivamente il numero 125 con passo di scorrimento verso sinistra di 1 secondo (1000 ms).

Esempio: visualizzare un numero memorizzato in una variabile

Esempio: All’avvio del micro:bit contare fino a 9 mantenendo una pausa di mezzo secondo tra un numero e il successivo

Articoli simili:

Pubblicato in micro:bit, programmazione | Contrassegnato , , | Lascia un commento

Nuova sezione: Impariamo ad usare BBC micro:bit

Come sicuramente sapete sto svolgendo in questi giorni una serie di Webinar per Tecnica della Scuola: Fare coding a scuola con BBC micro:bit e per l’occasione sto cercando di mettere ordine tra i vari articoli pubblicati su questo sito collezionandoli in una pagina apposita che trovate in colonna destra di questo sito: Impariamo ad usare BBC micro:bit

Prossimamente su questo sito

Ho realizzato in queste serate una serie di post sull’uso di una serie di schede elettroniche collegabili al micro:bit, le pubblicherò pian pianino nei prossimi giorni.

Questa mattina abbiamo inaugurato con un gruppo di volenterosi e bravi allievi della 2AE del mio Istituto il gruppo Facebook: Maker IIS Galilei Ferrari – Torino in cui collezionare tutte le idee e le evoluzioni dei progetti che si porteranno avanti e poiché useremo oltre che Arduino e stampa 3D useremo anche micro:bit e mi sono reso conto che per facilitare le loro sperimentazioni può essere utile reinterpretare la sezione reference del sito microbit.org, aggiungendo all’uso delle istruzioni di base, alcuni esempi o approfondimenti, quindi l’idea è quella di realizzare un manuale pratico, molto semplice, pubblicherò in giornata alcuni brevi post sull’uso delle prime istruzioni.

Spero quindi che questo lavoro possa essere utile a studenti e colleghi.

Un caro saluto.

Buon Coding a tutti 🙂

Articoli simili:

Pubblicato in micro:bit, programmazione | Contrassegnato , | Lascia un commento

Call for Rokers: GrugliascoFest “Mattoncini in festa”

Si terrà il prossimo 13 e 14 gennaio 2018 GrugliascoFest “Mattoncini in festa” principale esposizione Torinese di opere realizzate con i mattoncini LEGO® da parte di piccoli e grandi appassionati, giunta oramai alla quarta edizione, dopo il grande successo ottenuto nei precedenti anni, grazie ai tanti espositori che hanno partecipato portando in mostra molte novità e costruzioni uniche.

L’evento  si terrà nel padiglione espositivo “La Nave” che si trova all’interno del Parco Culturale “Le Serre”, in Via Tiziano Lanza n°31, nel centro della città di Grugliasco. Gli orari di apertura al pubblico saranno i seguenti: sabato pomeriggio 14.30-19.30, domenica 9-13 e 14.30-18. L’INGRESSO E’ GRATUITO.

Come Community Rokers e IIS Galilei Ferrari di Torino (la scuola presso cui attualmente lavoro) ho prenotato due tavoli espositivi lunghi 220cm x 160cm dove poter esporre. Gli spazi sono disponibili per mettere in mostra progetti degli amici Rokers, sarebbe opportuno che ci fosse attinenza con i prototipi robotici creati dai Rokers ed il mondo Lego… o qualsiasi cosa che li colleghi 🙂 , per quanto mi riguarda cercherò di ultimare la versione DotBot:bit Lego oriented.

Spero possiate partecipare allo stand sia come supporto per sponsorizzare la community Maker che mediante vostri progetti, sarebbe stupendo.

Se siete interessati scrivetemi direttamente che pianifichiamo il tutto.

Grazie.
Saluti.

Articoli simili:

Pubblicato in news, robotica | Contrassegnato , , | Lascia un commento

Corso base stampa 3D – Rete dei Licei Scientifici Piemontesi

Altro corso altra avventura 🙂
Per la Rete dei Licei Scientifici Piemontesi svolgerò presso il Liceo Scientifico Statale “Galileo Ferraris” di Torino un corso base di stampa 3D

DURATA
n° 10 ore

DATE DEL CORSO
13, 14, 15  dicembre 2017

PRESENTAZIONE DEL CORSO

Il corso base di stampa 3D base si prefigge di fornire tutti gli strumenti di base necessari per la prototipazione rapida tramite stampa 3d.
Il corso è pensato per essere semplice ed immediato, di facile apprendimento ed offre tutti gli step fondamentali per una immediate spendibilità didattica grazie anche alla possibilità di realizzare oggetti e prototipi.

PROGRAMMA IN BREVE

  • Introduzione alla Digital Fabrication, alla cultura dell’autocostruzione e al rapid prototyping.
  • Modellazione guidata di oggetti tridimensionali in ambiente CAD.
  • Preparazione dei file 3D, impostazioni della stampante e realizzazione fisica degli oggetti modellati durante il corso.
  • Campi di applicazione della stampa 3d e tools online gratuiti.

A CHI SI RIVOLGE

Il corso è destinato, ai docenti della Rete dei Licei Scientifici Piemontesi e consentirà loro di acquisire competenze in materia di design e modellazione 3D e di sperimentare le moderne tecniche di prototipazione.
Non sono richieste competenze specifiche per la parte teorica, mentre per la parte laboratoriale e pratica sono richieste, buona manualità e confidenza con il PC, al fine di operare su programmi di tipo grafico.

CERTIFICAZIONE

Al termine del corso sarà rilasciato un attestato di frequenza valevole per la formazione obbligatoria dei docenti.

 

Articoli simili:

Pubblicato in corsi, Stampa 3D | Contrassegnato , , , , | 2 commenti

STM 32 Nucleo – Supporto Arduino Core

E’ da tempo che mi ero ripromesso di utilizzare le schede STM32 Nucleo, desideravo svilupparne alcuni moduli didattici, ma la mia attenzione era rivolta verso altre tecnologie, fortunatamente l’incontro dell’amico Giuseppe Treccarichi e la chiacchierata con gli ingegneri di ST (molto gentili e disponibili) durante la recente MakerFaire di Roma mi hanno convinto che spiegare anche l’uso di STM 32 Nucleo può essere un valore aggiunto per i miei allievi, pertanto mi sto dedicando da qualche giorno alla realizzazione di lezioni sull’uso di queste schede.

La linea ST32 Nucleo è ormai sul mercato da lungo tempo, venne presentata nel 2014, però recentemente ST ha reso disponibile l’Arduino Core ST32 che permette la programmazione di diverse schede ST32 Nucleo mediante l’IDE di Arduino, inoltre il processore a 32 bit, le velocità elevate (nella versione da me posseduta un Cortex-M4 a 85 MHz), il basso costo (circa 10 Euro) la rendono una piattaforma estremamente interessante per i miei studenti.
Le varie schede disponibili, di cui trovate una grafica nell’immagine che segue, supportano comunicazioni di tipo: SPI, I2C, USB-OTG, CAN, UART.

Come si evince dall’immagine possiamo distinguere 3 serie:

  • Serie L: Ultra low power a 32 pin
  • Serie F fino a F3: Mainstream da 32 a 64 pin
  • Serie F4 fino a F7: High performance con processore che va dagli 85 Mhz ai 216 Mhz da 64 a 144 pin

ST mette a disposizione diverse shield con molte funzionalità: controllo motori, WiFi, Bluetooth LE, RFID, GPS, sensori di prossimità e molto altro. Di seguito link alla pagina di riferimento delle ST Exspansion Board Continua a leggere

Articoli simili:

Pubblicato in elettronica, i miei allievi, programmazione | Contrassegnato , , , , , , , , , | Lascia un commento