Archivi categoria: programmazione

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 laKids 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

Coding a scuola con BBC micro:bit – lezione 8

Incominciamo questa lezione fornendo la soluzione all’esercizio della lezione precedente.

Specifiche dell’esercizio

Dovreste notare che al termine del conteggio, quando sul display compare “0” la pressione successiva del pulsante “B” visualizzerà sul display il valore “-1”, ciò capita perché l’ultimo valore assunto da “contatore” è proprio “-1”.

Come possiamo risolvere il problema?

E’ sufficiente reimpostare la variabile “contatore” a “0” non appena è concluso il controllo della fine del conteggio, così come indicato nell’immagine che segue:

Proseguiamo con la lezione 8

Introduzione

In questa lezione utilizzeremo il sensore di temperatura presente sulla nostra scheda per mostrarla sulla matrice di LED quando scuotiamo il micro:bit

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. Selezionate dal menù delle istruzioni “on shake” e trascinatela all’interno dell’area di programmazione

  1. Poiché l’obiettivo è quello di rilevare la temperatura ambiente una volta che scuotiamo il micro:bit, abbiamo bisogno di una variabile in cui memorizzare il valore della temperatura. Dalla sezione “Variables” fate click su “Make a Variable” per creare la variabile “temperatura

Il blocco “temperatura” all’interno del menù “Variables

Continua a leggere

Coding a scuola con BBC micro:bit – lezione 7

Incominciamo questa lezione fornendo la soluzione all’esercizio della lezione precedente.

Specifiche dell’esercizio

Durante la scorsa lezione abbiamo imparato a generare numeri casuali ed utilizzare l’istruzione IF THEN. Per realizzare il gioco: carta, sasso, forbice sarà sufficiente generare allo scuotimento della scheda un numero compreso tra 0 e 2 (quindi tre valori: 0, 1, 2) e in funzione del numero generato visualizzare una figura che rappresenta uno dei tre oggetti. Il programma da realizzare è molto simile a quello del dado realizzato nelle lezioni precedenti.

Proseguiamo con la lezione 7

Introduzione

Questo progetto utilizza i pulsanti di input collocati sulla scheda, quelli nominati con “A” e “B“, per la realizzazione di un timer che conta all’indietro da 9 a 0. Il pulsante “A” deve essere utilizzato per impostare a 9 secondi il timer, il pulsante “B” per avviare il timer.

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. Come per la lezione precedente, andate sul sito BBC micro:bit e fate click su “Let’s Code”.
  2. Scegliere la modalità di programmazione JavaScript Blocks Editor
  3. All’interno del “Microsoft Block Editor” click su “New project”.
  4. Cancellate le istruzioni che compaio di default: “on start” e “forever”. Per cancellare un’istruzione potete trascinarla verso sinistra sulla sezione comandi, comparirà un cestino, oppure selezionatela e cancellatela con il tasto DEL.

  1. Fate click su “Variables” e selezionate l’istruzione “set item to…”, trascinatela nell’area di programmazione, selezionate l’elemento “item” per aprire il menù a discesa, selezionate “rename variable” per cambiare il nome in “contatore”, confermate con un OK.

  1. All’interno del campo numerico inserite il numero 9 al posto dello 0.

  1. Selezionate all’interno del menù comandi il gruppo di istruzioni “Basics” e trascinate il blocco “show number” all’interno della finestra di programmazione.

Continua a leggere