Archivi categoria: programmazione

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

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 🙂

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

Kids Game Jam – World Challenge 2018

Si svolgerà dal 26 al 28 gennaio 2018 la Kids Game Jam un momento di grande creatività e sfida centrata sulla realizzazione di videogiochi alla quale possono partecipare gruppi di bambini e ragazzi dai 7 ai 16 anni. Tutti i team potranno mettere in mostra le proprie abilità per creare un videogioco che rispetti il tema che gli organizzatori avranno scelto. L’evento si svolgerà in due fasi, la prima fase in contemporanea a livello mondiale tra tutte le scuole partecipanti mentre la seconda presso una sede scelta dagli organizzatori. Per maggiori informazioni per le modalità di iscrizione e regolamento vi rimando al sito di riferimento.

Buon Coding a Tutti 🙂

Coding a scuola con BBC micro:bit – lezione 9

Incominciamo questa lezione fornendo la soluzione agli esercizi della lezione precedente.

Esercizio 1

Realizzare un programma che alla pressione del pulsante “A” fa apparire sul display un messaggio: “freddo!” se la temperatura è inferiore ai 15° C, mentre se maggiore di 15° C “caldo!”

Alla pressione del pulsante “A” viene cancellato lo schermo e memorizzato all’interno della variabile “temperatura” il valore rilevato della temperatura esterna, con “show number” viene visualizzato il valore che persiste sul display per 1000 millisecondi (1 secondo). L’istruzione “if temperatura < 15 then freddo! else caldo!” svolgerà la seguente operazione: SE temperatura < 15 ALLORA stampa la stringa “freddo!” ALTRIMENTI stampa la stringa “caldo!”

Esercizio 2

Realizzare un programma che misuri la temperatura e visualizzi un messaggio sul display non appena la temperatura supera un valore di soglia. Il messaggio potrebbe essere anche un disegno che lampeggia per un certo determinato tempo.

Lo svolgimento di questo esercizio è simile al precedente con la differenza che il controllo della temperatura viene effettuato con una istruzione “if condizione then istruzione” in cui non è presente l’alternativa else. Per evidenziare un messaggio di avvertimento, nel caso la temperatura superi i 20° C, viene utilizzata l’istruzione “for..do” che dato una variabile indice che varia da 0 a 4 ripete per 4 volte le istruzioni contenute all’interno del “do“, che nell’esempio è stato realizzato con la visualizzazione di due immagini che appaiono a distanza di mezzo secondo.

Proseguiamo con la lezione 9

Introduzione

Durante l’introduzione al corso avevo segnalato che il micro:bit è dotato di una bussola elettronica, vediamo quindi in questa lezione come rilevare i punti cardinali: Nord, Sud, Est ed Ovest facendo apparire rispettivamente le lettere: N, S, E, O in funzione di come verrà ruotata la scheda. Per far ciò utilizzeremo l’istruzione “IF condizione THEN istruzioni ELSE altre_istruzioni

Per rendere semplice la realizzazione del programma limiterò l’individuazione dei punti cardinali ad un intervallo di gradi, selezionerò settori di 90° in cui farò corrispondere:

  • da 0° a 45° individuerò il Nord
  • da 45° a 135° individuerò l’Est
  • da 135° a 225° individuerò il Sud
  • da 225° a 315° individuerò l’Ovest
  • da 315° a 360° individuerò ancora il Nord

Il controllo della posizione del micro:bit avverrà usando 4 istruzioni annidate “IF condizione THEN istruzione ELSE istruzione

La simulazione via software della bussola avviene ruotando il logo del micro:bit sulla scheda, così come evidenziato nell’immagine che segue:

Di cosa avete bisogno

  • n.1 BBC micro:bit
  • n.1 Micro USB
  • n.1 Computer o tablet
  • n.2 x Batterie AAA ed un contenitore per le batterie (opzionale perché la scheda potrà essere alimentata direttamente anche via USB)

Programmiamo

  1. Inseriremo la totalità delle istruzioni all’interno dell’istruzione “forever” in modo che si abbia un controllo continuo della posizione della bussola. 
Dal menù “Basic” trasciniamo l’istruzione “forever” nell’area di programmazione

Continua a leggere