Archivi categoria: elettronica

Cover IOT2020/2040 per Arduino Motor Shield V3

L’inserimento di shield Arduino all’interno del Siemens SIMATIC IOT2040 necessita in alcuni casi dell’asportazione della copertura sinistra del contenitore per consentire un’agevole passaggio dei cavi, a tal fine ho realizzato un coperchio che si adatta alla scheda Arduino Motor Shield V3 che può essere stampato in 3D. Condivido i file grafici per la stampa in modo che sia possibile, per chi lo desidera, riprodurlo, modificarlo o migliorarlo.
Spero che questo lavoro sia utile anche ad altri.

Buon Making a tutti 🙂

Storie di making scolastico: oggetti “parlanti” con i tag NFC

Consigli di classe per consegna pagelle.
30 min liberi prima che si riparta con il successivo consiglio… scrivo sul mio iPhone una relazione, la mente divaga e rifletto sulla modalità con cui ho pagato con il precedente smartphone l’iPhone 11 che sto utilizzando per scrivere, ho usato Apple Pay che sfrutta la tecnologia NFC….Tecnologia NFC… pensa che ti ripensa… idea! Attività semplice e coinvolgente per i ragazzi!

mi chiedo: ma se disseminassi di tag NFC il laboratorio di automazione “per far parlare” ogni oggetto forse potrebbe essere utile… si sì mi piace mi piace!

Tra le moltissime attività in programma per il PCTO (ex alternanza) aggiungo questa:

Titolo: “oggetti parlanti – automazione del laboratorio di automazione – NFC ovunque, piccoli oggetti per migliorare la vita lavorativa” 🙂

Sottotitolo:
Ricavare informazioni da qualsiasi oggetto.
Avvicina lo smartphone dotato di tecnologia NFC ad un oggetto su cui è disposto un tag NFC e provochi l’apertura di una pagina web o di altra azione sul tuo smartphone.

La tecnologia NFC: Near Field Communication, in italiano ”Comunicazione di prossimità” è una tecnologia di trasmissione a corto raggio senza fili, che permette di mettere in comunicazione due dispositivi. La comunicazione NFC è stata sviluppata nel 2004 da LG, Sony, Samsung, Philips e Nokia.

Lo standard prevede una comunicazione 13,56 MHz e può raggiungere una velocità di trasmissione massima di 424 kbit/s quindi velocità non troppo elevate, ma adatta alla trasmissione di piccole quantità di dati tra due dispositivi vicini, non superiore ai 10 cm. L’attivazione della comunicazione bidirezionale peer-to-peer avviene se i dispositivi non superano una distanza di 4 cm.

I dispositivi compatibili con NFC come ad esempio smartphone, tablet dispongono a bordo di un chip elettronico che permette questo tipo di comunicazione dati. Nel caso il vostro dispositivo non fosse dotato di questa tecnologia in commercio potete trovare micro SD e SIM con chip NFC.

Le applicazioni più comuni si riferiscono ai pagamenti elettronici.
Utilizzare NFC per acquistare biglietti della metropolitana o ancora per effettuare pagamenti registrando la propria carta di credito all’interno di una applicazione specifica: Wallet per Apple, Android Pay per smartphone Android.

Il chip NFC può essere programmato tramite applicazioni per smartphone o programmi specifici per PC per svolgere una specifica azione quando il dispositivo viene avvicinato ad un tag NFC.

Con due Smartphone dotati di NFC si posono scambiare rapidamente foto, video e file e molto altro come ad esempio la condivisione della propria posizione su Google Maps.

Utilizzo dell’NFC a scuola:

  1. fuori dall’aula per far si che chiunque possa avere informazioni sull’impegno orario dell’aula;
  2. su ogni armadio per avere immediatamente informazioni sulle dotazioni e avvisi su spostamenti o riparazioni strumenti;
  3. su ogni strumento di laboratorio per avere il manuale di utilizzo;
  4. sperimentarne l’uso per persone ipovedenti, il tag NFC attiverà audio sullo smartphone (già in sperimentazione per progetto scolastico);
  5. realizzare involucri per tag NFC facilmente applicabili su confezioni di alimenti per avere informazioni sulla data di acquisto e scadenza del prodotto conservato ad esempio in frigorifero;
  6. assegnare un tag ad ogni PC del lab. per avere un rapido resoconto sui software installati.

Venerdì mattina durante “l’ora buca” una corsa al Lab. Territoriale del Pininfarina, rapidissimo disegno di un contenitore e taglio laser dei primi 5 contenitori per tag NFC da collocare il Lab. Automazione.

In settimana incollerò su ogni PLC Siemens che abbiamo in laboratorio automazione, altri tag su cui inserirò link a pagina web che rimanda a manuali e mie lezioni e così farò sulle schede Arduino, in questo modo nessuna scusa da parte degli studenti 🙂 “Prof. dove trovo le dispense?”,  “Prof. dove trovo il manuale?” chiedilo al PLC! Accarezzalo coi il tuo smartphone 🙂

Quasi quasi incollo tag NFC anche agli appunti cartacei 😉 in modo da aggiungere contenuti multimediali che potrò modificare anche nel tempo (un tag può essere riscritto), meglio di un QR Code, all’interno della memoria del tag posso personalizzare e modificare i contenuti.

Drin Drin! Suona la campanella!
Appena in tempo per concludere il progettino NFC
si va al prossimo consiglio di classe.

Buon making a tutti 🙂

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 🙂

M5 StickC

E’ da qualche mese che sto utilizzando M5 StickC per la progettazione di future esercitazioni di laboratorio, mi piace considerarlo il fratellino 🙂 di M5Stack Fire segnalato su queste pagine qualche mese fa.
M5StickC ESP32 Development Board è una scheda di sviluppo estremamente versatile programmabile in diverse modalità e vi permette di realizzare facilmente e rapidamente progetti IoT. In questi mesi ho realizzato una serie di progetti: datalogger, telecomando WiFi e IR,  utilizzo con sensore PIR, controllo velocità motori e molto altro. Grazie all’interfaccia GROVE e GPIO è possibile connettere dispositivi esterni, sul sito ufficiale ne trovate moltissimi. Attualmente, connesso ad un piccolo altoparlante, sto sviluppando un dispositivo per persone ipovedenti.

Il sito ufficiale è: https://m5stack.com/

Sul sito di riferimento troverete moltissimi dispositivi e moduli di espansione, tra questi il già citato M5Stack FIRE ed altri prodotti molto interessanti di recente presentazione: ATOM Matrix ESP32 e M5StickV K210 AI Camera di cui vi parlerò in prossimi post e che sto utilizzando per altre tipologie di sperimentazioni.

Il piccolo “mattoncino” ha dimensioni estremamente contenute 5×2,5cm

all’interno trovano posto:

  • ESP32
  • display da 0,96 pollici (risoluzione 160×80)
  • microfono
  • buzzer
  • trasmettitore IR
  • WiFi
  • Bluetooth
  • accelerometro
  • giroscopio (6 gradi di libertà)
  • LED di segnalazione integrato
  • due pulsanti (A e B) programmabili
  • batteria da 80 mAh
  • memoria flash da 4MB
  • modalità di programmazione via USB e WiFi
  • Linguaggi di programmazione: UIFlow (blockly), C (pronto per essere programmato con IDE Arduino), MicroPython

I due video che allego di seguito forniscono una rapida presentazione sulla programmazione usando UIFlow e Arduino:

M5 Stick C può essere acquistato anche con un pratico cinturino da polso, ciò vi permetterà ad esempio di realizzare il vostro smartwatch IoT.

Per l’acquisto di M5 Stick C potete utilizzare il sito di riferimento, oppure direttamente su AliExpress. Alcuni prodotti di M5Stack potete trovarli anche su Amazon.

Per comprendere possibili applicazioni vi segnalo le sezioni del sito ufficiale:

Seguiranno a questo post una serie di tutorial sulla configurazione e aggiornamento del firmware, programmazione ed esempi di applicazioni.

Buon Making 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.