Archivi categoria: programmazione

Raspberry Pi Pico – come cancellare un file dalla memoria del microcontrollore

Come avrete notato durante le prime sperimentazioni con il PiPico, possiamo depositare all’interno della memoria del microcontrollore più programmi in MicroPython e decidere quali di questi mandare in esecuzione. Nel caso in cui si desideri rendere l’avvio automatico e continuo uno programma non appena il PiPico  viene connesso ad una fonte di alimentazione, è sufficiente rinominate il file in main.py.
Può accadere quindi che le nostre sperimentazioni ci portino a memorizzare più programmi all’interno della memoria del PiPico pertanto si potrebbe avere la necessità di dover cancellare o rinominare alcuni di questi.
In questo breve tutorial vedremo come cancellare un file usando i comandi che inseriremo nella shell di Thonny.

Come aprire un programma memorizzato nel PiPico

Per poter consultare la lista di file memorizzati all’interno del microcontrollore con l’IDE Thonny, fate clic su “Apri” (seconda icona)

Si aprirà un pannello che richiede la selezione dell’unità da aprire: sul computer o sul PiPico, selezionare il Raspberry Pi Pico

Ciò aprirà la finestra di seguito indicata da cui poter visionare la lista dei file e con cui potrete aprire uno dei file per poi modificarlo o eseguirlo.

Cancellare un file memorizzato nel PiPico

Posizionate il cursore nella prima riga della Shell e digitate il comando. Inseriremo una serie di comandi terminali in Python:

import os

in Python “import os” consente di importare i moduli necessari per interfacciarsi con il sistema operativo sottostante su cui Python è in esecuzione ed eseguire una serie di operazioni sui file, come ad esempio la cancellazione, lo spostamento dei file, rinominare file, creare directory e molto altro. Poichè con MicroPython non si ha nessun sistema operativo il modulo os fornisce tutte quelle funzioni relative alla gestione del semplice del file system e le informazioni relativo al sistema.

Continua a leggere

Dove prelevare tutte le versione del Firmware per il Raspberry Pi Pico e come installarlo

L’installazione del Firmware sul Raspberry Pi Pico è descritta nel primo post pubblicato, rispetto alla prima pubblicazione del mio post, le pagine della documentazione di Raspberry Pi Fundation sono state modificate, il clic sul file INDEX.HTM all’interno del vostro PiPico rimandava direttamente alla pagina di download, ora invece rimanda alla home page della documentazione. Per rendere più agevole il download, quindi, così come segnalato sul mio profilo Facebook, segnalo il link diretto alla pagina e alla sezione specifica di download.

Successivamente clic su: Download the MicroPython UF2 file.

Ciò che scaricherete è l’ultima versione (stable), ma nel caso in cui abbiate necessità di avere l’ultima versione, oppure desiderate sperimentare l’uso dell’ultima versione beta o ancora avere tutte le versioni passate del firmware, il sito di riferimento è https://micropython.org

recatevi nella sezione: Download

Selezionate: Raspberry Pi RP2040 microcontroller boards

Nella pagina troverete tutte le versioni, un clic sul link corrispondente per effettuare il download

L’installazione può avvenire tramite REPL, oppure premendo il pulsante sulla scheda BOOTSEL e procedere come descritto nel mio post.

L’installazione del Firmware può avvenire in una modalità ancora più comoda utilizzando anche l’editor Thonny che abbiamo iniziato a conoscere.

Connettete il PiPico al computer mantenendo premuto il pulsante BOOTSEL, dopo non più di 3 secondi rilasciate il pulsante, comparirà l’unità USB sul vostro computer. Avviate Thonny comparirà la seguente finestra:

Clic sul “Installa”

Al termine comparirà il messaggio “Done!”

Se fate clic su “Done!” si aprirà la finestra di stato che vi dirà su quale porta USB è connesso il vostro PiPico:

Un clic su “Chiudi” per iniziare a programmare.

Buon Making a tutti 🙂

BBC micro:bit – funzioni

Sto svolgendo in questi giorni il corso sulla didattica laboratoriale e nelle giornata di ieri ho svolto un approfondimento sull’uso delle funzioni con il MakeCode editor di micro:bit che rendo pubblico su questo sito.

NOTA. Gli esempi in questo post hanno il solo scopo di mostrare l’utilizzo delle funzioni (chiamata di una funzione, passaggio per valore, restituzione di un valore da una funzione, ecc…) e non quello di risolvere un specifico problema, pertanto gli esempi potrebbero essere realizzati in modalità sicuramente più efficiente.

Le funzioni con BBC micro:bit

Una funzione consente di creare una porzione di codice che possiamo riutilizzare più volte nel nostro programma, quindi invece di copiare lo stesso codice in molte sezioni del programma, possiamo semplicemente utilizzare un unico blocco funzione da utilizzare all’interno del nostro codice tutte le volte che ci necessita.

Una funzione è definita dal suo nome e dal corpo della funzione che ospita tutte le istruzioni.

La funzione ha un nome univoco e non può essere costituita da parole staccate tra loro. E’ utile assegnare alle funzioni nomi che specificano cosa fa la funzione, ad esempio “calcoloVolume”, “calcoloArea”, “distanzaOstacolo”, “impostaLed”, “displayOn”. Si consiglia inoltre di adottare una notazione camel case (testo a cammello), ovvero scrivere parole composte o frasi, come il nome di funzioni, unendo tutte le parole tra loro, ma lasciando le loro iniziali con lettera maiuscola, in questo modo viene meglio decodificato da un essere umano il significato del nome composto. E’ buona regola adottare una strategia di questo genere anche per il nome delle variabili.
La prima lettera della frase può essere maiuscola o minuscola, tendenzialmente si preferisce usare la lettera minuscola.

Il corpo della funzione è il codice all’interno del blocco funzione, quello che viene chiamato body.

Continua a leggere

Node.js e Typescript: corso base online

Più volte vi ho segnalato le iniziative dell’amico Ludovico Russo, con lui ho condiviso avventure di making in ambiti diversi: robotica, informatica e molto altro. Ludovico è un esperto nello sviluppo di applicazioni cloud, si occupa sia dello sviluppo fullstack che della parte architetturale. Anche lui formatore nel settore informatico e recentemente, in collaborazione con lacerba.io, ha realizzato il corso: Node.js e Typescript: corso base online, in cui potrete apprendere le basi di Node.js e Typescript, sviluppando una semplice app lato Back End e Front End. Con questo corso potrete approcciarvi allo sviluppo di applicazioni web moderne.
Durante l’attività formativa vi verranno fornite competenze nella programmazione in Typescript, un linguaggio derivato da Javascript e sarete introdotti al concetto di programmazione Fullstack grazie a NodeJS.
Il corso richiede una buona conoscenza delle logiche fondamentali della programmazione, in particolare HTML, CSS e Javascript.

Per maggiori informazioni sulle modalità di iscrizione e sul programma del corso vi rimando alla pagina di riferimento dove potrete vedere il video di presentazione.

ROB-O-COD un evento da replicare a scuola – lo racconterò a Fossano (Cn) il 6 giugno prossimo

Come ebbi modo di scrivere qualche tempo fa su Facebook, pur essendo docente di scuola superiore ho avuto la fortuna di insegnare a studenti e insegnanti di ogni ordine di scuola. Ogni nuova attività di formazione mi offre la possibilità di sperimentare tecnologie e modalità di comunicazione che poi se efficaci assemblo per costruire gli strumenti per le future lezioni.

Credo che uno dei momenti più ricchi per la mia formazione sia stata quella derivante dalle attività di laboratorio con gli studenti di scuola elementare, la loro creatività, il loro stupirsi ed il loro punto di vista richiede una progettazione completamente diversa da quella con allievi di scuola superiore.

In questi mesi sto dedicando alcune ore pomeridiane alla formazione di studenti di 4 elementare, gli obiettivi sono quelli che amo di più: Coding e Robotica.

Gli strumenti che utilizziamo sono molti: carta, matite, BBC micro:bit, Lego WeDo e anche Lego Mindstorms EV3 e proprio su quest’ultima tecnologia, anche se non ne era stato programmato l’utilizzo, ho avuto forte richiesta da parte degli studenti da quando, per aumentare il loro interesse nelle attività proposte, ho dato notizia della trasmissione ROB-O-COD:

“MICHELE anche noi vogliamo partecipare!
Costruiamo i campi, con il cartone e facciamo noi i mondi e ci insegni!”

Ora come rispondere a questa necessità?
Ai bambini bisogna rispondere! 🙂

La trasmissione ha un traget per ragazzi di scuola media con l’uso di tecnologie non proprio adatte ai più piccoli delle scuole elementari…

pensare pensare e ripensare…

Di seguito vi condivido una primissima bozza di attività da perfezionare, per velocità di scrittura inserisco direttamente quanto scritto nei miei appunti su Evernote spero che queste idee possano servire anche ad altri:

Bozza di progetto:

  • vediamo la prima puntata di ROB-O-COD in classe, al termine ne faccio nascere un confronto tra gli allievi per immaginare attività di gara e modalità di costruzione campi e robot.
  • I campi gara avranno una forma geometrica particolare (nota per il lettore: non ne posso parlare in questo post per non svelare troppe cose ma potreste intuire la forma dei tavoli dalla grafica della trasmissione 😉 ).
  • Spiego come costruire su carta questa specifica forma geometrica.
  • Con le dimensioni reali usate per realizzare i campi gara in trasmissione, replichiamo la forma con dello nastro di carta posto sul pavimento dell’aula, all’interno del perimetro dovranno gareggiare i robot programmati dai bambini.
  • Le dinamiche di gioco saranno molto simili a quelle della trasmissione: presenza di un pubblico, di tecno-disturbatori che dovranno creare difficoltà alla movimentazione dei robot, ecc…
  • Tecnologia dei robot: primo girone realizzazione di robot basati su BBC micro:bit la cui struttura sarà di cartone, secondo girone robot realizzati con Lego WeDo. I primi classificati potranno utilizzare il Lego Mindstorms EV3 messo a disposizione del Prof. (Io) per realizzare una gara su un singolo campo di gioco.
  • Scrivere le storie. Le storie potranno essere realizzate prendendo spunto da quanto proposto di giorno in giorno nella trasmissione oppure inventate dagli studenti (valutare attività da far svolgere durante le attività al mattino).
  • Come realizzare la scenografia? Scatole di cartone, bottiglie e bicchieri di plastica, mattoncini Lego.

Cercherò nelle prossime settimane condividere una versione aggiornata dell’attività. L’intero percorso sarà presentato ad un gruppo di insegnanti durante l’evento di Coding e Robotica per scuole medie organizzato dall’IIS Vallauri di Fossano il prossimo 6 giugno.

e ricordare: #ROB_O_COD è tutto un programma!

🙂