Archivi tag: elettronica

Utilizzare M5StickC con l’IDE UIFlow

UIFlow è una piattaforma di programmazione appositamente progettata per i dispositivi M5Stack. L’IDE di programmazione grafico a blocchi è basato su blockly, linguaggio grafico di programmazione ben conosciuto in campo didattico. UIFlow consente inoltre di programmare qualsiasi oggetto M5Stack in MicroPython, implementazione di Python 3 per microcontrollori e sistemi embedded. MicroPython, come molti di voi sapranno, è un linguaggio di programmazione snello ed efficiente ideale per attività di Coding a scuola e da sempre impiegato in campo scientifico.

UIFlow fornisce le funzionalità necessarie per la realizzazione, in maniera estremamente semplice, progetti con forte interazione con il mondo reale, ideale quindi per chi si avvicina al mondo della prototipazione elettronica, dell’automazione e della programmazione.

L’IDE UIFlow può essere utilizzato on-line oppure localmente scaricandolo dal sito principale. Per prelevarlo collegatevi al sito https://m5stack.com/ e selezionate dal menù principale: software > download:

Nella pagina posizionate il mouse sul pulsante “Download” di UIFlow-Desktop-IDE, apparirà un menù a discesa, selezionate il sistema operativo su cui dovrà essere istallato UIFlow

Una volta prelevato il programma scompattate il file ed eseguite facendo doppio click

All’avvio dell’IDE viene controllato se sono presenti i driver necessari per poter gestire i dispositivi M5StickC.
M5StickC non necessita di installazione driver per i sistemi operativi Windows 10, Mac (High Sierra+), Linux. Per altri sistemi operativi, oppure se il dispositivo non dovesse essere rilevato dai sopracitati SO dovete installare il driver CP210X per il vostro sistema operativo, il driver può essere prelevato sempre dall’area download.

Al termine dell’installazione di UIFlow collegate M5StickC con il cavo USB C al computer.

M5StickC può essere programmato via USB o in modalità WiFi, in questo tutorial procederemo ad una prima programmazione in modalità USB.

Una pressione di 2 secondi sul power button, sulla sinistra di M5SickC provoca l’accensione del dispositivo, non appena compare il logo di UIFlow premete il pulsante grande M5 per accedere al menù di setting. Per spostarsi tra i menù disponibili utilizzare il pulsante sulla destra in alto di M5StickC:

Dal menù Setup potrete scegliere la modalità di programmazione e potrete impostare il WiFi. Per questo tutorial selezionate la modalità USB.

Selezionare la modalità di programmazione:

Selezionare la modalità USB:

Nell’IDE di programmazione dovete selezionare la seriale facendo click sulla parte in basso a sinistra della finestra dove compare la segnalazione COM:

Il click permetterà di aprire la finestra di selezione della COM:

Dal menù a discesa COM selezionare la porta seriale a cui avete collegato l dispositivo:

Per Windows 10 la seriale è identificata da COM seguito da un numero, mentre per sistemi Mac e Linux dalla sigla tty seguito da una serie di numeri e lettere. La modalità di selezione della seriale è la medesima per tutti i sistemi operativi.

Realizziamo il primo programma: Accensione del LED interno

Selezionare “Hardwares” dalla blocks list, selezionare LED e successivamente l’istruzione “LED ON” che dovrete trascinare nell’area di programmazione collegandola al blocco Setup.

Per eseguire il programma sul dispositivo fate click sul pulsante play che trovate in alto a destra della finestra, il LED rosso della scheda si accende.

Realizziamo il secondo programma: Blink del LED interno

Dalla sezione Event selezionare Loop ed collegarlo al Setup, nel Loop inserire la sequenza delle istruzioni: LED ON, Wait 1 S, LED OFF, Wait 1 S, così come indicato nell’immagine che segue. Per eseguire sul dispositivo un click sul pulsante Play:

Interfaccia di programmazione

01. Titolo del progetto
Inserite il nome del vostro progetto in questa area.

02. Blockly/Python
Consente di selezionare la modalità di programmazione Blockly oppure Python

03. Tab menù
Per accedere al forum, alla documentazione, agli esempi, ripetere l’ultima azione eseguita, fare l’upload dei file, eseguire il programma ed accedere alle impostazioni del dispositivo.

04. Anteprima UI
Trascinare testo e immagini sullo schermo del dispositivo virtuale per creare l’interfaccia grafica. Non appena inserite elementi grafici, appariranno nella lista delle istruzioni centrali le funzioni specifiche per manipolare gli oggetti grafici

05. Units
Aggiungere unità hardware che fanno parte del progetto tra quelle standard disponibili su M5Steck e stabilire le porte di connessione.

06. Hide UI
Possibilità di nascondere il dispositivo virtuale per aumentare lo spazio disponibile per la programmazione

07. Menù istruzioni Code Block
Contiene tutti i blocchi necessari per la programmazione. La sezione Hardware contiene le istruzioni che agiscono direttamente sull’elettronica dell’M5StickC. Troverete la sezione Math che include operazioni matematiche e Logic che raccoglie operatori logici e strutture di controllo.

08. Area di Codice
L’area in cui saranno trascinati i blocchi per realizzare il programma

Lista delle istruzioni

01. Event
Funzione Loop e gli eventi legati alla pressione dei pulsanti

02. Hardware
Blocchi dedicati all’elettronica del dispositivo: LED, IMU e gestione alimentazione

03. Units
Ogni volta che si aggiunge un’unità specifica in questa sezione appaiono i blocchi specifici alla sua gestione

04. Math
Blocchi per eseguire calcoli matematici

05. Logic
Blocchi per l’esecuzione di operazioni logiche e controllo di flusso

06. Advanced
Sezione dedicata per i programmatori esperti. Blocchi per il networking, per la gestione dei pin analogici e digitali e molto altro.

Come costruire un programma con Blockly

Setup

Il blocco Setup è essenziale per eseguire qualsiasi programma è il primo blocco che viene eseguito non appena il programma viene caricato sul dispositivo. Il Setup viene eseguito una sola volta.

Loop

Questo blocco esegui in modo continuo per sempre tutte le istruzioni in esso contenute, ciò implica che l’esecuzione del loop può essere interrotta solamente se viene tolta l’alimentazione al dispositivo.

Wait

Il blocco Wait pone in attesa il programma per un tempo specificato dal parametro numerico che può essere impostato dall’utente.

Sequenza di programmazione

Connessione blocchi

Come sicuramente avrete intuito blockly ricorda molto la filosofia di programmazione di altri ambienti di programmazione come ad esempio Scratch o il MakeCode editor di BBC micro:bit. Anche per UIFlow che utilizza blockly, i blocchi si uniscono “magneticamente” insieme, incastrandosi e cambiando colore, nel caso non si abbia un cambiamento colore vuol dire che blocchi non sono uniti.

Alcuni trucchi per chi comincia con UIFlow

  • Per duplicare un blocco tasto destro del mouse sul blocco e fare click sulla voce del menù contestuale che appare: duplicate.
  • Per cancellare un blocco trascinarlo sulla lista della collezioni delle istruzioni oppure sull’icona del cestino in basso a destra o ancora click tasto destro del mouse e “Delete block”

Nella prossima lezione vedremo come realizzare i primi programmi.

Buon Coding a tutti 🙂

Arduino Plate v02

In queste settimane ho utilizzato in laboratorio la prima versione dell’Arduino Plate ed osservando la modalità di utilizzato da parte dei ragazzi ho effettuato alcune modifiche producendo una seconda versione che condivido con voi.

In questa nuova versione ho aumentato i fori disponibili in modo che si possano fissare altre schede elettroniche, inoltre ho aggiunto un supporto che permette di porre in verticale in due modalità diverse l’intera plate.

La posizione verticale è stata pensata per:

  • poter illustrare e mostrare meglio i collegamenti sulla scheda,
  • per ridurre gli spazi sul banco di lavoro,
  • per avere un punto di visione del circuito più comodo sul banco della classe o sulla scrivania di casa.

Inoltre il supporto è anch’esso forato e può ospitare altri elementi come ad esempio delle batterie di alimentazione che favoriscono con il loro peso la stabilità dell’intera struttura.

Nei file che condivido troverete due versioni per il supporto della plate, pensate per il taglio di compensato con spessore da 3mm e 4mm. Come sempre potete prelevare i file per il taglio laser direttamente da Thingiverse, nel caso modificate e migliorate come ritenete.

Buona sperimentazione a tutti.

Cosa sono le awesome list?

Ad ogni inizio d’anno scolastico propongo ai nuovi allievi che incontro una serie di attività e strumenti che dal mio punto di vista servono per creare un atteggiamento positivo e rilassato nei confronti dello studio e delle sperimentazioni in laboratorio. Ogni anno esordisco con una serie di starter kit per lo studente:

  • setting dei luoghi di studio, (alcune indicazioni su come gestire gli oggetti del proprio studio)
  • tecniche di studio
  • tecniche di gestione del tempo lavoro
  • sistemi di gestione dei progetti
  • tecniche di documentazione
  • ricerca dell’informazione
  • realizzazione di un propria Personal Learning Network

e proprio su quest’ultimo punto, ripreso dai corsi che svolgo per gli insegnanti, mi focalizzo. Ritengo essenziale saper selezionare e far diventare un’attività periodica la ricerca e l’utilizzo di fonti attendibili ed autorevoli on-line da utilizzare per ampliare le proprie competenze.

Quando parlo di Personal Learning Network intendo banalmente (cito le mie slide):

la rete di relazioni online che fa uso di tutti gli strumenti web come: blogs, wiki, twitter, facebook, … per creare connessioni con altre persone al fine di estendere le nostre conoscenze, imparando insieme ad altri, come parte di una comunità globale.

Ciò permetterà di ottimizzare tempi e sforzi nell’utilizzo di particolari tecnologie.

Ovviamente un grande sforzo da parte del docente deve essere fatto per insegnare a saper discriminare le fonti, è un’azione da costruire “un passettino alla volta” e ritengo che ciò possa innescare il volano che mi piace chiamare: “cerco-studio-mi-diverto-condivido”

Ma da dove cominciare?

Io ho costruito negli anni la mia procedura e le mie collezioni che rinnovo settimanalmente, ma per studenti “grintosi” che hanno voglia di costruire e calarsi subito nella pratica della materia, è essenziale collezionare i “punti di osservazione web” (consiglierò anche un buon sistema per collezionare le fonti, sarà motivo di un’altra lezione) tra questi segnalo ai miei studenti le awesome list su GitHub, “liste fantastiche” su ogni argomento dal fantasy, alla musica, al gaming, ma anche all’elettronica, automazione, programmazione, all’uso di Arduino o di Raspberry Pi e mille altre cose, tutto realizzato dalla comunità di GitHub.
(Per saperne di più su GitHub seguire il link: Documentare la didattica con la sintassi Markdown su GitHub)

Questo il repository principale delle awesome list“.

Molte liste sono aggiornate periodicamente altre un po’ meno, ma prendendosi un po’ di minuti al giorno potrete scoprire tantissimo.

Come promesso oggi nella mia 4B Automazione (ma lo sarà anche per tutte le altre classi) le collezioni da cui partire, molte altre risorse (riviste, siti internet, ecc…) le segnalerò durante l’anno scolastico, di seguito alcune collezioni interessanti:

Compito: segnalatemi o realizzate una lista più interessante di quelle indicate sopra, (è possibile segnalare argomenti di altre discipline tecniche).

Buona esplorazione 🙂

micro:bit – cosa coprare per fare attività di coding a scuola?

Ricevo in questi giorni parecchie richieste di aiuto in merito alla proposta di formazione di base che sto condividendo con voi su questo sito, tutti mi chiedete di continuare a pubblicare 🙂 sto scrivendo proprio in queste ore ulteriori esercizi e nel brevissimo pubblicherò.

Ricevo anche richieste di aiuto in merito ai materiali da acquistare per iniziare le attività laboratoriali a scuola.

La scorsa settimana l’amico Maurizio Z. mi ha chiesto proprio una lista della spesa perché desidera realizzare nei prossimi mesi attività di coding in una sua 4′ elementare.

Cosa consiglierei per spendere poco e fare tantissimo?

Consiglio l’acquisto del kit BBC micro:bit Go che trovate su diversi store, io ho acquistato direttamente su Amazon e acquisterei separatamente l’elettronica che serve per implementare le esercitazioni.

Cosa trovate nel kit BBC micro:bit Go?

  • BBC micro:bit
  • cavo USB
  • due batterie AAA
  • un porta batterie con connettore JFC da collegare alla scheda
  • un manuale di istruzioni sintetico
  • manuale tecnico

Continua a leggere

I miei corsi: Apprendimento attivo con Raspberry Pi e Arduino

Nei giorni venerdì 1/4 e sabato 2/4 sarà presso l’IIS Cassato Gattapone (Gubbio) come relatore per il corso: “Apprendimento attivo con Raspberry Pi e Arduino”, il corso è indirizzato a docenti e studenti di ogni ordine e grado. L’iniziativa rientra all’interno dell’evento “C’era una volta un pezzo di legno” giunto alla seconda edizione ed organizzato dalla Rete di scuole di Gubbio, tema dell’evento: student voice e la didattica per competenze.

Un grazie particolare al Dirigente Scolastico David Nadery per l’invito presso il suo Istituto.

Programma dell’evento:

  • venerdì 1 aprile, ore 9.00 -12.30: laboratori con gli alunni delle scuole di ogni ordine e grado;
  • venerdì 1 aprile, ore 15.00 -18.00: sessioni di attivazione didattica con i docenti divisi per ambiti disciplinari (Storia, Lingua italiana, Matematica, Elettronica/Informatica);
  • sabato mattina, in plenaria, presso IIS Cassata Gattapone, Via del Bottagnone 40 Gubbio, report conclusivi dai laboratori e l’intervento di Alison Cook Sather (University of Pennsylvania), ricercatrice di fama internazionale sullo student voice.

Nel dettaglio, i laboratori di venerdì 1 aprile (ore 15,00 – 18,00), destinati agli insegnanti, saranno tenuti sui seguenti ambiti disciplinari:

STORIA – Antonio Brusa (Università di Bari) e Romana Scandolari (Museo delle scienze di Trento).

Titolo: “Il Guinness dei Primati” – Gioco di simulazione sull’evoluzione umana.

MATEMATICA – Pietro Di Martino (Università di Pisa).

Titolo: “La macchina di ferro senza cuore”: l’intreccio matematica-emozioni nei racconti autobiografici degli studenti.

ELETTRONICA/INFORMATICA – Michele Maffucci (IIS Galilei Ferrari Torino).

Titolo: “Apprendimento attivo con Raspberry Pi e Arduino”.

LINGUA ITALIANA – Ermelinda De Carlo (Università di Perugia).

Titolo: “Come fare cose con le storie” (storie, autobiografie e digital curricula story).

Per maggiori informazioni sul programma e modalità di iscrizione vi invito a consultare la pagina predisposta sul sito dell’istituto.

Locandina_Convegno-Cera-una-volta-pezzo-legno-rev5