Archivi tag: automazione

Sensori e attuatori lontani da Arduino: guida pratica al cablaggio corretto

Metto in evidenza la mia risposta ad una domanda di un utente in riferimento ai problemi causati dalla lunghezza delle linee che collegano Arduino ai dispositivi elettronici.

Marco sei gentilissimo, grazie 🙂
Immagino che tu ti stia riferendo ai collegamenti diretti dei tuoi dispositivi elettronici ad Arduino, è un problema tipico che mi trovo spesso ad affrontare, inoltre l’attività di automazione del controllo di un plastico di trenini è qualcosa che spesso viene svolto a scuola.

Di seguito ti faccio una lista di problemi e soluzioni in riferimento alle problematiche di collegamento, sono molto sintetiche perché sono tratte dalle slide per i miei studenti, quindi sono quasi un copia ed incolla dalle slide sono strutturate a lista puntata con sintesi di spiegazione spero sia sufficiente per risolvere il tuo problema.

Spero di non spaventare con la risposta, in realtà mentre scrivo è diventata una guida sulle possibili cause del problema che stai riscontrando, credo che tu possa risolvere seguendo i 3 passi che trovi alla fine di questa risposta, (al fondo dove scrivo: “ATTENZIONE giusto per non spaventare“), credo che risolverai al PASSO 1.

Allora come dici: perché “allungando i fili di 2 metri il giochino non funziona più?”

Le cause possono essere:

1. Caduta di tensione sui cavi (power)
A 2 m il cavo introduce resistenza: se il dispositivo assorbe corrente (anche solo un relè, un servo o una striscia LED), la tensione arriva più bassa al carico.
Sul banco hai 5V applicati al dispositivo, sul plastico può diventare “4.4–4.7 V” e alcuni moduli iniziano a fare cose strane (reset, letture errate, relè che non agganciano, servo che impazziscono).

Sintomi tipici: Arduino che si resetta quando scatta un relè/servo, sensori instabili, moduli che “a volte sì a volte no”.

2. Disturbi elettromagnetici e ritorni di massa (ground)
Nel plastico ci sono spesso motori, bobine, elettromagneti, alimentatori switching: generano disturbi. Con cavi lunghi aumenta l’area del “loop” e quindi la sensibilità ai disturbi.
In più, se la massa (GND) non è distribuita bene, il riferimento logico “0 V” non è più uguale dappertutto: per Arduino un “HIGH” può non essere più così HIGH 🙂

Sintomi tipici: ingressi digitali che cambiano da soli, finecorsa che “rimbalzano” anche senza toccarli, comunicazioni che falliscono.

Precisazione: quando dico area di “loop” intendo l’area racchiusa dal percorso andata + ritorno della corrente

  • andata: dal pin Arduino (o dall’alimentazione) verso il componente tramite il filo del segnale o del +V
  • ritorno: dal componente che torna a GND (massa) e rientra verso Arduino/alimentatore

Questi due fili (andata e ritorno) formano, di fatto, una spira. Più i due conduttori sono lontani tra loro, più la spira ha area grande.

Una spira con area grande:

  • capta disturbi (si comporta come un’antenna “ricevente”)
  • irradia disturbi (si comporta anche come un’antenna “trasmittente”), soprattutto se nel loop scorrono correnti impulsive (relè, motori, servo)

Ti faccio un esempio pratico che riguarda il tuo progetto:

  • caso “peggiore”: cavo del segnale che va da solo lungo il plastico, e il ritorno GND passa da un’altra parte (magari su una barra massa distante). Loop grande > più problemi.
  • caso “migliore”: segnale e GND viaggiano vicini (idealmente intrecciati). Loop piccolo > molto più robusto.

Come risolvere in questo caso

Per ogni collegamento “lungo”:

  • porta SEMPRE insieme segnale + GND (o +V + GND) nello stesso cavo
  • meglio ancora: usa doppino intrecciato (twisted pair): riduce l’area del loop e quindi la sensibilità ai disturbi

3. Linee di segnale troppo “deboli” (capacità + riflessioni)

Un cavo lungo aggiunge capacità e a volte riflessioni/ringing (fronti ripidi su linee non terminate).
Se stai usando bus come I²C o SPI, 2 metri sono spesso già fuori specifica senza accorgimenti.

Sintomi tipici: sensori I²C che non vengono più visti, display che si bloccano, letture non valide, bus che va in errore.

Vediamo ora come risolvere

Continua a leggere

Home Assistant a scuola: la guida “a puntate” per elettronica & automazione – 01

Questa guida nasce con un obiettivo doppio: replicare in contesti diversi ciò che ho già sperimentato sul campo, a partire da casa mia e trasformare Home Assistant in una palestra didattica concreta per la scuola (ITIS). Il progetto è necessariamente diluito nel tempo: il mio lavoro quotidiano in classe è intenso e scrivere “un po’ alla volta” mi consente di essere più costante e produttivo. Nei prossimi mesi la guida sarà utilizzata integralmente dai miei studenti, quindi per me è anche un modo per strutturare meglio i materiali e organizzare le attività di laboratorio in modo progressivo e replicabile.

Come sempre trovate su queste pagine una sintesi, di un percorso più esteso ed approfondito che verrà svolto in presenza a scuola.

Nota sull’origine dei contenuti

Questa guida nasce dalla traduzione in italiano del manuale di installazione ufficiale di Home Assistant e da miei appunti, il tutto riadattata in alcune parti per un uso didattico a scuola (ITIS), con esempi, lessico semplificato e procedure più guidate pensate per docenti e studenti.

Perché Home Assistant a scuola

La guida nasce per supportare docenti e studenti del percorso di Elettronica ed Automazione dell’ITIS con attività concrete di laboratorio: prototipi, sensori, attuatori, automazioni e dashboard. Farò usare Home Assistant come una vera palestra di allenamento per orchestrare dispositivi e servizi, simulare scenari della vita scolastica (aule, laboratori, LTO), raccogliere dati e creare procedure automatizzate utili alla didattica e all’organizzazione quotidiana.

Vogliamo documentare e standardizzare il lavoro del Laboratorio Territoriale per l’Occupabilità (LTO) e offrire una traccia replicabile: setup chiari, materiali riutilizzabili, esercizi graduali. La guida mostrerà come trasformare Home Assistant in un ambiente di sperimentazione che unisce elettronica, informatica, reti e buone pratiche di gestione del laboratorio, con un  percorso pensato per essere seguita passo passo sia in aula sia a casa.

Cos’è Home Assistant

Home Assistant è una piattaforma open-source per l’automazione e il controllo di dispositivi e servizi, pensata per funzionare in locale (privacy e affidabilità) e per integrare centinaia di tecnologie diverse in un’unica interfaccia e motore di automazioni. È supportata da una grande comunità e offre installazioni pronte per Raspberry Pi e altri sistemi, con gestione semplificata di add-on, backup e aggiornamenti.

La variante Home Assistant OS è un sistema operativo dedicato che rende l’installazione “apri e usa” su single-board computer e x86-64, riducendo la manutenzione e facilitando la gestione del laboratorio (snapshot, add-on, supervisione centrale).

Dal punto di vista storico e tecnologico, il progetto nasce nel 2013 ed è oggi sviluppato dalla Open Home Foundation e da una community globale; backend in Python, frontend web, migliaia di integrazioni e un focus costante su controllo locale e sicurezza.

Tradotto in pratica per l’ITIS: un “collante” che ci permette di collegare sensori/attuatori reali, creare dashboard per il laboratorio, costruire automazioni verificabili (trigger-condizioni-azioni) e fare misure e report utili alla valutazione delle attività.

A chi è rivolta la guida

Docenti di elettronica e sistemi che cercano esempi pronti (step-by-step) e materiali riutilizzabili.
Studenti di elettronica/automazione che vogliono vedere subito sensori e attuatori integrati in un flusso “dati > logica > azione”.
LTO / FabLab didattici che vogliono un’impostazione replicabile, con criteri di sicurezza, versioning dei file e checklist operative.

Cosa faremo (indice “a puntate” in fase di realizzazione)

  • Preparazione – Scelte hardware, HAOS vs altre installazioni, criteri di rete in laboratorio.
  • Installazione su Raspberry Pi – Flash, primo avvio, onboarding, snapshot.
  • Interfaccia & Add-on essenziali – File Editor, Samba/backup, MQTT, ESPHome (panoramica).
  • Prime automazioni – Trigger, condizioni, azioni, blueprint; notifiche e scene.
  • Dashboard di laboratorio – Card base, layout per postazioni, pannello docente.
  • Sensori & Attuatori reali – MQTT ed ESPHome con esempi di misura e pilotaggio.
  • Energy & Presence (opzionale) – Raccolta dati e visualizzazione didattica.
  • Sicurezza & manutenzione – Account, backup, ripristino, troubleshooting “da classe”.

Licenze, privacy e sostenibilità didattica

La natura open-source e il controllo locale permettono di usare Home Assistant anche senza dipendere dal cloud: un vantaggio in termini di privacy, latency e continuità delle esercitazioni in laboratorio. Le integrazioni coprono protocolli e prodotti eterogenei, così da valorizzare strumentazione già presente a scuola e ridurre i costi iniziali.

Esempi di attività “vicine alla vita scolastica”

Ho organizzato le idee in categorie di attività: non saranno tutte realizzate, ma saranno utilizzate come base di discussione con gli studenti per valutarne la fattibilità e scegliere cosa sviluppare in gruppi di progetto (ad esempio in attività di PCTO). L’obiettivo è ragionare su come trasformare un’idea in un prototipo concreto, definendo priorità, vincoli e impatto didattico.

Come farò valutare dagli studenti le proposte (idee anche questa in fase di sviluppo):

  • Fattibilità tecnica: sensori/attuatori disponibili, integrazione con Home Assistant, complessità di sviluppo.
  • Impatto didattico: competenze coinvolte (elettronica, reti, coding, dati), utilità per la vita scolastica.
  • Costi e tempi: componenti necessari, budget, pianificazione a sprint.
  • Sicurezza & privacy: uso in ambiente scolastico, conformità e minimizzazione dei dati.
  • Manutenibilità & scalabilità: riuso dei moduli, documentazione, possibilità di estendere il progetto.
  • Inclusione & accessibilità: benefici per studenti con bisogni educativi speciali.

Ambiente e qualità dell’aria

  • Polveri sottili nel cortile (PM2.5/PM10): sensore (es. PMS5003/SDS011) su ESP32; dashboard con trend orari/giornalieri; automation: se PM supera soglia > notifica a docenti/ATA e cartello “ridurre attività all’aperto”.
  • Stazione meteo didattica: temperatura/UR, pioggia, vento, radiazione; correlare meteo con assenze in palestra/uscite didattiche.
  • Rumore nei corridoi/aula: microfono analogico per livello sonoro; semaforo visivo in classe per autoregolazione.

Sicurezza e accessi

  • Sistemi anti-intrusione: PIR, contatti magnetici su porte/finestre, vibrazione su vetrate; se rilevato movimento fuori orario > sirena/luce + notifica con snapshot ESP32-CAM.
  • Uscite di emergenza: sensori stato porta + test programmati; se porta ostruita/aperta fuori norma > alert a DSGA/collaboratori.
  • Armadi strumentazione: NFC/contatti per apertura; log prelievi/restituzioni per responsabilità e inventario.

Energia e edificio

  • Analisi consumo energetico: smart plug (banchi prova, stampanti 3D, forni reflow), pinza amperometrica/Modbus su quadri; automation: spegnimento notturno/standby; report settimanale per classe/spazio.
  • Bilancio termico/dispersioni: sonde T°/UR in e out (aule, corridoi, esterno) + porta/finestra aperta; se ΔT anomalo o finestra aperta con riscaldamento ON > notifica; log per stimare dispersioni e comportamenti.
  • Monitor fotovoltaico: produzione vs consumi scuola; suggerimento fasce orarie per carichi energivori (laboratorio macchine, stampa 3D).

Laboratori e didattica operativa

  • Banchi prova “occupazione & ticket”: pulsante “richiesta aiuto”, stato banco (OK/KO), coda assistenza sul monitor docente.
  • Gestione stampanti 3D: sensori temperatura/hotend, consumo, fine-filamento; avviso fine stampa e spegnimento automatico.
  • Magazzino componenti: bilance/pesi o contatori ottici su cassettini “critici”; scorte minime > lista acquisti automatica.

Vita quotidiana d’istituto

  • Bacheca digitale: dashboard con eventi del giorno, aule occupate, avvisi ATA; aggiornamento da Google Calendar/Sheets.
  • Clima “comfort apprendimento”: indice combinato (T°, UR, CO₂, rumore, illuminamento) per aula; suggerimenti operativi (arieggiare, abbassare tapparelle, ecc.).

Inclusione e benessere

  • Semaforo acustico-visivo per studenti sensibili al rumore: se superata soglia > luce soft + promemoria “voce bassa”.
  • Promemoria routine (PAI/PEI): notifiche discrete su tablet del docente (pause attive, cambio attività, idratazione).

Manutenzione e asset

  • Ciclo manutenzione attrezzature: ore di utilizzo macchine/pompe/saldatori; scadenze manutentive.
  • Perdite d’acqua (bagni/lab): sensori acqua; chiusura elettrovalvola + avviso bidello.

Come seguire la serie

Pubblicherò gli episodi con cadenza “abbastanza” regolare sul sito. Ogni articolo sarà una porzione del tutorial generale e conterrà file di supporto, checklist e dove necessario schede attività. Se volete ricevere gli aggiornamenti, iscriviti a questo sito o segui i miei canali social.

Non mi resta che dirvi: Buon Making a tutti 🙂

Blynk IoT – il modo più semplice per creare progetti IoT – lezione 2

Durante questa seconda lezione vedremo:

  • Prima configurazione di blynk.cloud
  • Creazione di un template per un’applicazione IoT per il controllo dell’accensione di un LED

Collegarsi al servizio blynk.cloud

Collegarsi all’indirizzo: https://blynk.cloud/
procedere alla registrazione gratuita ed effettuare il primo accesso

Se no avete un account, clic su “Create new account”.

Il servizio gratuito limita il numero di dispositivi connessi ed alcune funzionalità, ma per realizzare il controllo della nostra serra didattica la versione gratuità è sufficiente, deciderete poi voi se sarà il caso di attivare un piano a pagamento. Le sperimentazioni che propongo sono state realizzate con un piano di abbonamento gratuito.

Accedere al servizio

Sarete reindirizzati su questa pagina

La prima operazione da eseguire è quella di creazione di un nuovo template (nuovo modello), ma attendete un istante prima di procedere

Cos’è un template?

Nella versione precedente di Blynk il progetto IoT che si realizzava era vincolato ad una specifica scheda di controllo, nella nuova interfaccia Blynk ciò cambia, viene aggiunto un livello di astrazione maggiore mediante i “template”, che permettono di disegnare un modello di applicazione IoT mediante i widget che la piattaforma ci mette a disposizione, indipendente dalle schede di controllo, dopo di che saremo noi in una fase successiva ad applicare il modello sulla tecnologia (scheda di controllo) che disponiamo.

Per chi già in passato ha utilizzato Blynk capirà che tutto ciò diventa estremanente comodo, in quanto possiamo disegnare più modelli di applicazione IoT e poi applicarli alla bisogna sulla specifica scheda che disponiamo, o ancora costruire un template specifico e poi applicarlo su schede di deiverso tipo, astrazione potente che vedremo durante lo svolgimento delle lezioni.

L’interfacci online può essere prsonalizzata in più parti, ma lascio a voi le personalizzazioni, nel caso lasciate richieste nei commenti o scrivetemi direttamente.

Per imparare ad utilizzare la nuova piattaforma iniziamo con un programma semplicissimo: l’accensione e lo spegnimento di un LED mediante app su smartphone e mediante interfaccia web.

Continua a leggere

Escape Room – nuove avventure lavorative

Qualche anno fa, in periodo pre-pandemico iniziai diverse collaborazioni per la produzione di automazioni per Escape Room in diverse città italiane, dopo di che arrivò Rai Gulp con la trasmissione RoboCode e fui coinvolto a tempo pieno nella progettazione dei campi gioco per robot didattici. In quell’occasione compresi che moltissima automazione può essere realizzata per il mondo dello spettacolo e l’intrattenimento e concentrasi in questo settore poteva essere interessante.

Qualche mese fa ho ripreso in mano i miei progetti passati e riaperto i contatti con diverse aziende ed ho iniziato nuovamente la produzione di giochi e console di controllo per Escape Room. Oltre alla produzione su richiesta sono impegnato nella produzione di giochi inventati da me e personalizzabili da parte del cliente. Nei video allegati mostro solamente degli scorci di versioni i costruzione di alcuni giochi in quanto come intuirete non posso ne dettagliare le funzionalità ne indicare il cliente e molte delle realizzazioni non posso mostrarle.

Quali tecnologie sto utilizzando? Certamente schede Arduino, ma anche qualcosa di più industriale: Siemens IOT e PLC 1200 per i sistemi più complessi.

Se siete lettori di questo blog saprete che con tecnologie diverse, indirizzate alla didattica, ho cercato di utilizzare le competenze acquisite per la produzione di giochi, per realizzare percorsi formativi per docenti della scuola elementare e media, in cui l’obiettivo era quello di mostrare come utilizzare le tecnologie didattiche per creare Escape Room didattici che che potessero coinvolgere lo studente nelle discipline STEAM facendolo navigare tra il mondo virtuale e quello reale.

Se siete interessati non esitate a contattarmi 🙂

Open PLC – Lezione 4 – installare OpenPLC Editor e realizzare un programma in LADDER

OpenPLC Editor consente di scrivere programmi PLC per il runtime OpenPLC. I programmi sono scritti secondo lo standard IEC 61131-3. L’editor è molto semplice da usare e supporta tutti e cinque i linguaggi definiti nello standard: Ladder Logic (LD), Function Block Diagram (FBD), Instruction List (IL), Structured Text (ST) e Sequential Function Chart (SFC).

Se avete scaricato la versione Windows di OpenPLC, l’editor viene installato automaticamente con OpenPLC runtime, nel caso comunque abbiate necessità di prelevare solo l’editor questo il link:

OpenPLC Editor v1.0 for Windows

Installazione Windows

Effettuate il download, scompattare il file zip, doppio clic su OpenPLC Editor.

Installazione Linux

Aprite il terminale e digitate le seguenti quattro linee di comando

sudo apt-get install git
git clone https://github.com/thiagoralves/OpenPLC_Editor
cd OpenPLC_Editor
./install.sh

Quando l’installazione termina troverete un collegamento all’applicazione dal menù delle applicazioni.

Realizziamo il primo programma

Per illustrare il funzionamento riprenderò il medesimo esempio presente sul sito di riferimento e sul medesimo circuito realizzeremo altre semplici automazioni.

Gli esempi proposti presuppongono una conoscenza di base sulla programmazione in Ladder Logic (LD).

Sono necessari:

  • OpenPLC
  • N.2 pulsanti normalmente aperti
  • N. 1 LED

Per semplicità di utilizzo per gli studenti, lavoreremo a bassa tensione, 5V cc.

Si realizzi il seguente circuito:

Osservazioni

  1. +V è la tensione positiva del vostro dispositivo, +5V per Arduino, +3,3V per Raspberry Pi e +24V per un impianto industriale.
  2. Pulsante1 e Pulsante2 sono due pulsanti, R1 and R2 sono due resistori di pull-down che possono essere scelti con valori tra 1K Ohm a 10K Ohm. Se utilizzate un PLC industriale i resistori di pull-down  sono integrati all’interno del dispositivo pertanto i pulsanti Pulsante1 e Pulsante2 possono essere collegati direttamente agli ingressi dello slave, nel nostro caso trattandosi di una scheda Arduino saranno: %IX100.0 e %IX100.1.
  3. Fate attenzione che su Raspberry Pi, i primi due ingressi (%IX0.0 e %IX0.1) sono negati direttamente nell’hardware e ciò potrebbe causare qualche confusione, quindi per mantenere le stesse funzionalità del circuito indicato sopra potete, nel LADDER, usare contatti negati, oppure più semplicemente potete utilizzare due ingressi diversi come %IX0.2 e %IX0.3.

Per realizzare un nuovo programma aprite OpenPLC Editor e fate clic su File -> Nuovo

Continua a leggere