Errori comuni nell’uso di Arduino – chiamata di funzione senza parentesi

Tra gli errori comuni segnalo quello che viene commesso quando si richiama una funzione senza l’uso delle parentesi, l’errore è più frequente quanto la funzione non accetta parametri. Le parentesi vanno sempre inserite.

Versione non corretta

Versione corretta

Le parentesi devono quindi essere presenti anche se la funzione non ha parametri.

Buon lavoro 🙂

Articoli simili:

Pubblicato in arduino, i miei allievi | Contrassegnato , , | Lascia un commento

ATOM Matrix tra le mie mani


Come sicuramente avrete notato sto sperimentando in questi mesi l’uso dei prodotti M5Stack, ne ho acquistati diversi perché credo che abbiano caratteristiche tecniche che possono essere ben sfruttate in campo didattico, ne sto valutando le potenzialità ed integrazione con il curricolo scolastico in ogni ordine di scuola., ne ho acquistati diversi perché credo che abbiano caratteristiche tecniche che possono essere ben sfruttate in campo didattico, ne sto valutando le potenzialità ed integrazione con il curricolo scolastico in ogni ordine di scuola.

Ho ricevuto da qualche giorno il nuovissimo Atom Matrix la scheda più piccola prodotta da M5Stack, ha una dimensione di 24×24 mm, dispone di una GPIO da 6 pin. Atom Matrix è adatto per lo sviluppo di dispositivi embedded di piccole dimensioni.

Il cuore del dispositivo è un microcontrollore ESP32-PICO-D4, dispone di 4 MB di memoria flash, Wi-Fi e Bluetooth SPI integrata, IMU (MPU6886 ) ed un’interfaccia PH2.0. Sono disponibili un led infrarosso ed una matrice LED RGB 5×5 nella parte frontale. Come sistema di input è possibile utilizzare un pulsante programmabile disposto sotto la matrice di LED, quindi per essere utilizzato dovrete fisicamente premere sul display. E’ presente una porta USB-C utilizzabile per l’upload e l’esecuzione dei programmi ed una porta GROVE.

Atom Matrix si programma con l’IDE Arduino installando un’apposita libreria indicata nel video allegato

Caratteristiche

  • USB Type-C
  • ESP32 PICO-based
  • 4 MByte flash
  • 1 pulsante programmabile
  • matrice led 5×5 RGB LED
  • LED infrarosso
  • Pulsante di reset
  • Antenna 2.4G SMD: Proant 440
  • IMU: MPU6886
  • GPIO da 6 pin (Dupont Pins)
  • interfaccia PH2.0 4Pin
  • Piattaforma di programmazione: Arduino
  • Dimensione:24 x 24 x 14mm
  • Peso: 1g

Caratteristiche ESP32

  • 240 MHz dual core Tensilica LX6 microcontroller da 600 DMIPS
  • Memoria integrata 520 KB SRAM
  • 802.11b/g/n HT40 Wi-Fi transceiver, baseband, stack e LWIP integrati
  • Bluetooth dual mode integrato (classic e BLE)
  • Hall sensor
  • interfaccia capacitiva touch 10x
  • Quarzo da 32 kHz
  • PWM/timer input/output disponibile su ogni pin GPIO
  • SDIO master/salve 50MHz
  • supporto SD-card

Per poter aggiornate il firmware del prodotto è indispensabile utilizzare l’applicativo EasyLoader, attualmente disponibile solo per piattaforma Windows.

Dopo aver scaricato il software fate doppio clic sull’applicazione per eseguirla, collegate ATOM Matrix al computer tramite il cavo USB C ed impostate la velocità di comunicazione che per questo dispositivo è di 750000 o 115200.

Riferimenti PIN

RGB Led – G27
Btn – G39
IR – G12
SCL – G21
SDA – G25

La pagina di riferimento su GitHub è: https://github.com/m5stack/M5Atom
da cui potrete scaricare anche il programma: Atom pixel tool che permette di disegnare caratteri ed icone ed inviarli direttamente sul display.

Allego il video tutorial che mostra come configurare l’IDE Arduino per poter utilizzare ATOM Matrix

Realizzerò in prossimi post esempi di utilizzo.

Buon Making a tutti 🙂

Articoli simili:

Pubblicato in elettronica | Contrassegnato , , , , | Lascia un commento

Premio Scuola Digitale 2019-2020 – Fase Provinciale Alessandria

Il Ministero dell’Istruzione, dell’Università e della Ricerca ha promosso, per l’anno scolastico 2019-2020, la seconda edizione del Premio Scuola Digitale, per favorire l’eccellenza e il protagonismo delle scuole italiane e delle studentesse e degli studenti nel settore dell’innovazione digitale.

Sono felice di informarvi che sono stato nominato dal MIUR membro della giuria che si occuperà della valutazione dei progetti didattici innovativi in concorso per le provincia di Alessandria.

L’audizione e la premiazione delle scuole avverrà il 18 febbraio 2020 presso l’auditorium Liceo “Plana” di Alessandria, P.zza Giacomo Matteotti, 29.

Articoli simili:

Pubblicato in news | Contrassegnato , , , | Lascia un commento

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 🙂

Articoli simili:

Pubblicato in arduino, elettronica, siemens | Contrassegnato , , , | Lascia un commento

Siemens SIMATIC IOT2040 – configurazione ed utilizzo con l’IDE Arduino

L’obiettivo di questa lezione introduttiva sull’uso di IOT2040 è quello di aiutare un gruppo di miei studenti nelle sperimentazioni che in questi giorni si stanno svolgendo nell’ambito delle attività di PCTO. Seguiranno nelle prossime settimane ulteriori guide che andranno ad ampliare il curricolo del percorso di Automazione per le classi 4′ e 5′ che svolgo presso l’ITIS Pininfarina di Moncalieri.

La semplicità di utilizzo, unita all’affidabilità e alla storia in campo industriale di Siemens, rendono la serie SIMATIC IOT2000 la scelta perfetta come gateway industriale. La possibilità di programmare SIMATIC IOT2000 con l’IDE Arduino permette un facile inserimento all’interno del percorso di studi, infatti il gateway è la normale evoluzione in campo industriale di Arduino, da esso ne eredita la possibilità di utilizzare i medesimi  shield che vengono usati per la scheda Arduino UNO R3. Con IOT2000 è possibile usare protocolli di comunicazione come MQTT e Modbus.

Il funzionamento del gateway di Siemens è basato su Yocto Linux. La serie SIMATIC IOT2000 comprende i modelli IOT2000, IoOT2020 e IOT2040 compatibili con la maggior parte degli sketch Arduino che possono essere caricati direttamente dall’IDE Arduino.


Nella scheda che segue vengono evidenziate le differenze tra i vari dispositivi. L’IOT2040 è ideale per un impiego in azienda, mentre l’IOT2020 può essere utilizzato in campo didattico. Per il mio istituto ho scelto di utilizzare la serie di IOT2040 in modo che gli studenti fossero già formati su un prodotto che avesse performance adatte ad un uso aziendale.

Caratteristiche principali IOT 2040

  • SIMATIC quality
    Realizzato per operare 24/7 In ambiente industriale
  • AutomatIon.ConnecTed
    Connessione facile all’automazione con supporto PROFINET, interfacce standard e apertura a soluzioni basate su Cloud
  • Aperto
    Programmabile con linguaggi ad alto livello (es. Java, C++) tramite diversi IDE (es. Eclipse) e compilatori per Yocto Linux
  • Performance
    Processore 32bit deterministico Intel Quark®x1020, 1 GB RAM e real-time-clock con batteria di buffer
  • Espandibilità & Connettività
    Compatibile con mPCIe, Arduino Shields e varie interfacce, protocolli e driver standard

Famiglia SIMATIC IOT2000 – Scheda tecnica

SIMATIC IOT2020

  • Target: Per Università e istituti scolastici
  • Hardware:
    • Intel Quark® x1000 (Galileo)
    • 512 MB RAM
    • 1 Ethernet interface
  • Espandibilità
    Arduino shield / mPCIe / µSD card slot
  • Software
    Profinet driver
  • Programmazione
    Yocto Linux/programmazione con linguaggi ad alto livello
  • Supporto Tecnico
    Sito internet, forum dedicato

SIMATIC IOT2040

  • Target: Variante “Industrial IoT” – Gateway / Collettore dati in applicazioni industriali
  • Hardware:
    • Intel Quark® x1020 (+secure boot)
    • 1 GB RAM
    • 2 Ethernet interfaces
    • 2 x RS232/485 interfaces
    • battery buffered RTC
  • Espandibilità
    Arduino shield / mPCIe / µSD card slot
  • Software
    Profinet driver
  • Programmazione
    Yocto Linux/programmazione con linguaggi ad alto livello
  • Supporto Tecnico
    Sito internet, forum dedicato

Ambienti di sviluppo e programmazione

  • Eclipse – programmazione in C/C++, Java
  • Arduino IDE – programmazione in C
  • Python
  • Node-RED

Interfacce

1 – Cover sinistra (Arduino interface)
2 – LED
3 – Cover destra (µSD card, battery)
4 – Chiusura di sicurezza
5 – Pulsante user programmabile
6 – Pulsante RESET

7 – Porte COM (RS232/422/485)
8 – Preforati per installazione antenne
9 – Fori per alette a pressione per montaggio a muro
10 – Alimentazione

11 – USB Type A
12 – USB Type Micro B
13 – Porta Ethernet 10/100 Mbps
14 – Porta Ethernet 10/100 Mbps PoE

15 – Fissaggio a guida DIN

Nella parte interna sono ben evidenti, partendo da sinistra, i pin a cui è possibile connettere gli shield Arduino, a destra invece l’alloggiamento per la micro SD e batteria per l’RTC.

Configurazione di SIMATIC IOT2040

Per lo svolgimento di questa esercitazione è indispensabile avere:

  • Cavo ethernet
  • SD Card da almeno 8GB
  • Alimentazione a 24 Vcc
  • Arduino IDE
  • Siemens SIMATIC IOT 2040

Manuali di riferimento

Impostazione

Prima di procedere è indispensabile prelevare il software e la documentazione necessario dal portale di supporto di Siemens, registratevi e accedete al portale di supporto Siemens per poter poi prelevare tutto ciò che serve per configurare il dispositivo.
Il punto di riferimento da cui partire è il forum dedicato su cui troverete tutto ciò che vi serve e da cui potrete ottenere il supporto di Siemens per qualsiasi richiesta relativa all’hardware. Tutti i modelli della serie serie IOT2000 si configura allo stesso modo quindi, quindi questo tutorial risulta valido per: IOT2000, IOT2020 e IOT2040.

  • Per procedere alla creazione dell’SD di boot da inserire all’interno dell’IOT 20×0 fate riferimento alla seguente pagina web sul sito di Siemens: Immagine di esempio scheda SD SIMATIC IOT2000
  • Eseguire il download di: Example_Image_V2.4.0.zip (365,0 MB)
  • Inserire la micro SD all’interno del vostro computer, oppure utilizzate un’adattatore esterno.
  • Scompattate il file che avete scaricato e copiatelo sull’SD. Per la copia su SD per gli utenti Windows rimando alla pagina 9 del manuale allegato: SETTING UP the SIMATIC IOT2020, SIMATIC IOT2040 in cui viene utilizzato Win32 Disk Imager.
    In alternativa per gli utenti MacOSX, Window e Linux consiglio l’utilizzo balenaEtcher applicazione estremamente utile e semplice da utilizzare.

Avviare balenaEtcher e selezionare il file compattato sul vostro HD:

Selezionare l’unità su cui compare l’immagine:

Selezionare la periferica:

Avviare la copia facendo click su “Flash!”:

Verrà richiesto l’inserimento della password di amministratore per effettuare cambiamenti sul disco di destinazione:

 L’operazione di copia può durare parecchi minuti:

Inserire ma micro SD all’interno del dispositivo

Aprire la cover destra (µSD card, battery)

Spostare verso il basso il blocco SD

Aprire il blocco

Inserire la micro SD

Chiudere il blocco e spostare verso l’alto

Primo avvio del Simatic IOT 2040

I passi che seguono mostrano come accedere al SIMATIC IOT2040 mediante l’IP statico per configurare la rete. E’ importante ricordare che SIMATIC IOT 2040 ha come impostazione predefinita l’indirizzo DHCP sulla porta porta Ethernet – X2P1 e se lo si desidera è possibile accedere direttamente utilizzando l’indirizzo IP assegnato.

Con IOT2040 spento collegare un’estremità del cavo Ethernet al computer e l’altra alla porta Ethernet-X1P1 del dispositivo SIMATIC IOT2000, se state usando un IOT2040 la porta X1P1 è quella che si trova sulla sinistra.

Attenzione: Usare una tensione di alimentazione continua dai 9 ai 36V massimi

Una volta acceso SIMATIC IOT2000, vedrete il seguente comporatamento dei LED:

  • PWR: fisso; dispositivo acceso
  • SD: intermittente successivamente si spegnerà
  • USB: fisso; dispositivo acceso

Il LED SD sarà intermittente perché viene modificata la dimensione del filesystem, questa fase potrebbe durare qualche minuto (dipende da che tipo di SD state utilizzando) attendere fino a quando non cambia lo stato del LED da fisso a spento, a questo punto potrete accedere all’IOT.

SIMATIC IOT2000 permette l’accesso tramite seriale, SSH e Telnet; in questa guida effettueremo una connessione SSH.

SIMATIC IOT2000 ha come indirizzo statico di default: 192.168.200.1. Per stabilire una connessione SSH, il vostro computer dovrà avere la stessa sottorete di SIMATIC IOT2000.

Se state utilizzando Windows utilizzate la guida SETTING UP the SIMATIC IOT2020, SIMATIC IOT2040

Gli utenti Linux e MacOSX possono seguire i passi che seguono.

Quanto la rete del vostro computer è configurata con la stessa sottorete del SIMATIC IOT2040 verificare la connettività con un ping:

Il risultato dovrebbe essere simile a quanto indicato nell’immagine che segue, se ciò accade vuol dire che il dispositivo è correttamente configurato

Accedere al gateway utilizzando il comando

Al primo accesso verrà chiesto di approvare la connessione SSH, scrivete “yes” e premete invio per continuare.

Una volta stabilito l’accesso vedrete la seguente struttura sul vostro terminale:

Come dette sopra, l’indirizzo statico del SIMATIC IOT 2040 è impostata a 192.168.200.1 pertanto, se è necessario un altro indirizzo IP statico o un indirizzo DHCP, questo può essere impostato nel file “interfaces” nella directory “/etc/network”.

Per fare questo dovete spostarvi nella directory:

Aprire il file “interfaces” usando l’editor nano:

Il contenuto del file “interface” è per default impostato come di indicato di seguito:

 

Se state lavorando con SIMATIC IOT2040 l’indirizzo DHCP è configurato per default sulla seconda porta (X2P1LAN). Accertatevi che il cavo di rete sia connesso sulla seconda porta Ethernet e riavviate il gateway

Se lavorate con SIMATIC IOT2020 e desiderate impostare l’indirizzo DHCP dovete modificare l’interfaccia come indicato di seguito e riavviare successivamente il gateway:

Utilizzo dell’Arduino IDE

SIMATIC IOT2000 è compatibile con l’IDE Arduino attraverso il pacchetto Galileo. Seguire i passi in elenco per configurare correttamente la scheda.

1 – Aprite l’IDE Arduino

2 – in Tools selezionare Board > Boards Manager

3 – inserire nel campo di ricerca Intel i5 e fate click su Install

4 – Selezionare Intel Galileo Gen2 dal menù Tools > Board 


5 – Utilizzare la connessione micro USB per connettere IOT2040 al computer

6 – Selezionare la porta COM assegnata da Tools > Port > Intel Galileo

7 – Aprire lo sketch di esempio Blink: File > Examples > 01.Basics > Blink e effettuare l’upload sullo IOT2040, al termine del trasferimento il LED USER lampeggerà. Se il vostro computer non rileva la scheda l’IOT2040 dovrete provvedere ad aggiornare manualmente i driver seguendo il link.

Lunga vita e  prosperità! 🙂

 

Articoli simili:

Pubblicato in i miei allievi, siemens | Contrassegnato , , , , , , | Lascia un commento

Errori comuni nell’uso di Arduino – fare più azioni nell’if senza l’uso delle parentesi graffe

Continua la segnalazione degli errori che spesso vengono commessi durante le prime attività di programmazione con Arduino.
La sequenza di istruzioni da eseguire se risulta vera la condizione dell’istruzione if  (il corpo della if) deve essere racchiusa tra parentesi graffe. L’errore è immaginare che l’indentazione sia sufficiente per indicarne l’appartenenza al corpo della if, modalità valida in altri linguaggi di programmazione come in Python, ma non in C:

Uso non corretto

Uso corretto

Buon lavoro 🙂

Articoli simili:

Pubblicato in arduino, i miei allievi | Contrassegnato , , | 1 commento

Gestire con micro:bit un display 1602 I2C

Ho realizzato questo tutorial come risposta ad un quesito che mi è stato posto da un’amica collega sull’utilizzo del display 1602 I2C comandato da micro:bit.
Per quanto riguarda la descrizione tecnica del display vi rimando al post su questo sito:

Utilizzo dell’LCD 16×2 Hitachi HD44780 1602 con modulo I2C PCF8574T

Per un utilizzo con micro:bit è sufficiente conoscere il tipo esatto di integrato I2C che gestisce la comunicazione tra display e micro:bit nella modalità indicata da questo tutorial.

Aprite un nuovo progetto dall’ambiente grafico di programmazione di micro:bit.
Aggiungiamo l’estensione che consente la gestione di un display 16×2 I2C, per far ciò selezionate “+Extensions”:

nel campo di ricerca inserite: I2C

dovreste ottenere il seguente risultato:

Selezionate l’estensione indicata nell’immagine:

All’interno dei blocchi disponibili ritroverete quelli che fanno riferimento al display:

Ogni dispositivo I2C dispone di un indirizzo, un codice a cui bisogna far riferimento in fase di programmazione e per quanto riguarda la scheda di comunicazione I2C disposta sul retro del display troverete due tipi di dispositivi con indirizzo differenti l’uno dall’altro. La differenza consiste nel tipo di circuito integrato che gestisce la comunicazione I2C:

  • PCF8574 > indirizzo 39
  • PCF8574A > indirizzo 63

L’indirizzo dovrà essere inserito all’interno di un apposito blocco come indicato di seguito.

Per sapere quale indirizzo usare potete leggere la sigla dell’integrato, come indicato nell’immagine che segue:

nel mio caso l’indirizzo da inserire sarà il 39.

L’altro metodo consiste nel sostituire, nel codice che segue, gli indirizzi sopra indicati in modo da individuare il numero corretto che permette la visualizzazione del testo sul  display.

Per il collegamento del circuito avete necessità di alimentare il display a 5V, in commercio esistono degli edge connector (connettore per collegare micro:bit alla breadboard) che prelevano dalla USB i 5 volt, nel mio caso questa funzionalità non è fornita, l’unica tensione disponibile è di 3,3V non sufficienti per alimentare il display.

Se anche voi siete nelle medesime condizioni allora alimenterete via USB il micro:bit mentre il display dovrà essere alimentato esternamente mediante una tensione di 5V. Se agite in questo modo ricordate che la terra (GND) dovrà essere la medesima (collegate insieme) per entrambi i dispositivi. Fate riferimento allo schema di seguito indicato:

Sul micro:bit il pin 20 corrisponde all’SDA e il pin 19 all’SCL, pin che avranno una corrispondenza con il display. Per le mie sperimentazioni dispongo di un cavo USB modificato per poter inserire su breadboard la tensione di 5V proveniente dalla USB del computer.

Realizzeremo un semplice programma che consente di visualizzare su due righe il testo:

BBC micro:bit
Italy timer

dove timer è il numero di secondi trascorsi dall’avvio del programma.

L’inserimento della prima istruzione provocherà la visualizzazione del display I2C:

L’istruzione “LCD initialize with Address 39” assegna al display l’indirizzo 39

L’istruzione “show string” mostrerà sul display il testo incluso nel primo campo: “BBC micro:bit” che verrà scritto a partire dalla colonna 0 e riga 0 (in prima riga).

La seconda “show string” mostrerà sul display il testo “Italy” alla colonna 0 e riga 1 (in seconda riga):

Definiamo una nuova variabile che andremo successivamente ad incrementare:

assegnamo alla variabile il nome: contatore

All’interno della funzione “forever” inserire l’istruzione “change” per incrementare di una unità la variabile “contatore”.

Con l’istruzione “show number” visualizziamo sul display un numero, inserendo nel primo campo la variabile “contatore” il numero visualizzato sarà quello memorizzato nella variabile contatore:

La visualizzazione del numero contenuto in “contatore” avverrà in colonna 6 riga 1:

Aggiungendo una pausa di 1 secondo l’incremento del numero che appare sul display sarà di 1 secondo:

Questo il risultato:

Buon Coding a tutti 🙂

Articoli simili:

Pubblicato in i miei allievi, micro:bit | Contrassegnato , , , , | Lascia un commento

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 🙂

Articoli simili:

  • Non sono presenti articoli simili.
Pubblicato in elettronica | Contrassegnato , , , , , | Lascia un commento

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 🙂

Articoli simili:

Pubblicato in elettronica | Contrassegnato , , , , , , | Lascia un commento