Archivi tag: elettronica

Domande dagli utenti – Perché Arduino legge valori strani se il pin non è collegato?

Ho deciso di mettere maggiormente in evidenza le richieste di chiarimento su diversi argomenti tecnici che mi giungono via mail o le domande lasciate nei commenti ai miei post. Spesso questi interventi nascono da dubbi autentici e molto concreti, ma rischiano di perdersi tra i tanti contenuti pubblicati. Per questo motivo ho pensato che alcune di queste domande meritino di essere riprese e trasformate in risposte più ampie, dettagliate e utili anche per altri lettori.

Molto spesso a scrivermi sono studenti giovanissimi, che stanno iniziando il loro percorso nell’elettronica, nella programmazione o nell’uso di Arduino. Ed è proprio a loro che sento di dover dedicare un’attenzione particolare, perché dietro una domanda apparentemente semplice si nasconde quasi sempre un passaggio importante da chiarire. Sono convinto, infatti, che proprio dalle domande più essenziali si costruiscano le basi migliori per capire davvero.

Molti, quando mi scrivono, aggiungono frasi come:

“Mi scusi per la domanda forse banale…”

oppure

“Preferisco scriverle in privato perché non vorrei fare una figura da inesperto nei commenti”

Su questo vorrei essere molto chiaro, perché per me è un aspetto importante, sia come docente sia come autore di contenuti didattici: non esiste la domanda sciocca, esiste solo la domanda non fatta.

Anzi, molto spesso le domande più utili sono proprio quelle che sembrano più elementari, perché costringono a chiarire i concetti fondamentali. E senza fondamenta solide, anche gli argomenti più avanzati restano fragili.

Una delle domande che mi è arrivata di recente è questa:

“Prof, perché Arduino mi legge valori strani anche se non ho collegato niente al pin?”

È una domanda ottima ed è anche una domanda che può aiutare molte persone che iniziano a usare Arduino, l’elettronica o i sensori.

Risposta

Perché un pin lasciato scollegato non è in uno stato definito.

Se un ingresso non è collegato né al positivo né alla massa, il microcontrollore non possiede un riferimento elettrico chiaro. In questa situazione il pin può captare piccoli disturbi presenti nell’ambiente circostante e restituire valori instabili, apparentemente casuali.

Quindi, nella maggior parte dei casi, non c’è nessun guasto nella scheda.
Il pin sta semplicemente lavorando in una condizione detta flottante.

Che cosa significa “pin flottante”

Quando si comincia a usare Arduino, è facile immaginare che un pin non collegato equivalga a “zero” oppure a “nessun segnale”.

In realtà non funziona così.

Un ingresso lasciato libero può comportarsi un po’ come una piccola antenna: intercetta disturbi elettrici, rumori, influenze del circuito circostante e può quindi produrre letture variabili anche se noi non stiamo toccando nulla.

Questo significa che:

  • un ingresso digitale può passare casualmente tra HIGH e LOW;
  • un ingresso analogico può mostrare valori che cambiano continuamente nel monitor seriale.

È un comportamento molto istruttivo, perché mostra subito una differenza importante tra lo schema ideale disegnato sulla carta e il comportamento reale dei circuiti.

L’idea fondamentale da ricordare

Il concetto chiave è questo:

in elettronica, “non collegato” non significa “zero”.

Questo è uno di quei principi che ritornano continuamente quando si lavora con pulsanti, sensori, interruttori, linee di ingresso e acquisizioni analogiche.

Capirlo bene fin dall’inizio evita molti errori e, soprattutto, aiuta a ragionare in modo più corretto sul funzionamento dei circuiti.

Come si risolve

Per evitare che un ingresso fluttui, bisogna assegnargli uno stato elettrico preciso.

Di solito si usa una di queste soluzioni:

  • una resistenza di pull-down, che mantiene il pin a livello basso quando non arriva alcun segnale;
  • una resistenza di pull-up, che mantiene il pin a livello alto;
  • la modalità INPUT_PULLUP di Arduino, molto comoda per gli ingressi digitali, perché sfrutta una resistenza interna del microcontrollore.

È una delle prime configurazioni corrette da imparare, soprattutto quando si cominciano a collegare pulsanti.

Un piccolo esperimento

Per osservare direttamente il fenomeno si può fare una prova semplicissima.

Si collega Arduino al computer, si carica uno sketch che legge un ingresso analogico lasciato libero, e si osservano i valori nel monitor seriale.

Esempio di sketch: lettura di un pin analogico flottante

/*
  Lettura di un ingresso analogico lasciato scollegato
  per mostrare il comportamento di un pin flottante.

  Collegamenti:
  - Non collegare nulla al pin A0
  - Aprire il Monitor Seriale a 9600 baud

  Osservazione attesa:
  I valori letti non saranno stabili, ma varieranno nel tempo.
*/

const int pinAnalogico = A0;   // Pin analogico lasciato volutamente scollegato

void setup() {
  Serial.begin(9600);
  delay(1000); // Piccola attesa per dare tempo al monitor seriale di aprirsi

  Serial.println("Lettura di un pin analogico flottante");
  Serial.println("Il pin A0 non e' collegato a nulla.");
  Serial.println("Osserva i valori letti:");
}

void loop() {
  int valoreLetto = analogRead(pinAnalogico);  // Legge il valore presente su A0

  Serial.print("Valore letto: ");
  Serial.println(valoreLetto);

  delay(200); // Solo per rallentare la visualizzazione
}

Che cosa si osserva

Aprendo il monitor seriale, i valori non resteranno fermi.
Potranno cambiare anche senza alcun intervento esterno.

A seconda della scheda, dell’ambiente, dei cavi vicini, della posizione delle mani e del rumore elettrico circostante, potresti vedere numeri che oscillano in modo più o meno evidente.

Ed è proprio questo il punto interessante: il pin non è “a zero”, ma è in una condizione indefinita.

Una seconda prova ancora più istruttiva

Dopo aver osservato il comportamento flottante, potete ripetere l’esperimento collegando:

  • una resistenza di pull-down verso GND;
  • oppure un partitore o un riferimento fisso;
  • oppure, nel caso di un ingresso digitale, attivando INPUT_PULLUP.

Il confronto tra “prima” e “dopo” è didatticamente molto efficace, perché fa vedere in modo concreto cosa significa stabilizzare un ingresso.

Variante digitale

Lo stesso fenomeno si può osservare anche con un ingresso digitale lasciato libero.

/*
  Lettura di un ingresso digitale flottante.

  Collegamenti:
  - Non collegare nulla al pin 2
  - Aprire il Monitor Seriale a 9600 baud

  Osservazione attesa:
  Il pin potra' cambiare in modo imprevedibile tra HIGH e LOW.
*/

const int pinDigitale = 2;   // Pin digitale lasciato scollegato

void setup() {
  Serial.begin(9600);
  pinMode(pinDigitale, INPUT);  // INPUT semplice: nessuna pull-up interna attiva

  delay(1000);

  Serial.println("Lettura di un pin digitale flottante");
  Serial.println("Il pin 2 non e' collegato a nulla.");
}

void loop() {
  int statoPin = digitalRead(pinDigitale);

  Serial.print("Stato letto: ");
  if (statoPin == HIGH) {
    Serial.println("HIGH");
  } else {
    Serial.println("LOW");
  }

  delay(200);
}

In questo caso il risultato potrà essere meno “spettacolare” oppure più irregolare, ma il principio resta identico: senza riferimento, l’ingresso non è affidabile.

Una domanda come questa può sembrare piccola, ma in realtà apre la porta a uno dei concetti più importanti dell’elettronica di base:

ogni ingresso deve avere un riferimento chiaro.

Capire bene questo passaggio significa costruire basi più solide per affrontare tutto il resto: pulsanti, sensori, automazione, misure, controllo e programmazione embedded.

E quindi, come dico sempre a chi mi scrive in privato:
fate domande, SEMPRE.

Perché una domanda sincera, anche molto semplice, vale molto più di un silenzio pieno di dubbi.

Piccola proposta pratica per il laboratorio

Chi vuole può provare questa sequenza:

  1. caricare lo sketch con A0 scollegato;
  2. osservare i valori nel monitor seriale;
  3. toccare con un dito il filo collegato ad A0 o avvicinare la mano;
  4. osservare come cambiano i valori;
  5. collegare poi il pin a GND oppure a 5 V tramite una configurazione corretta;
  6. confrontare il comportamento.

È una prova molto semplice, ma estremamente utile per capire, come dicevo ad inizio post, che in elettronica anche ciò che sembra “non collegato” può avere effetti reali.

Buona esplorazione 🙂

Capire prima di costruire: una nuova serie di elettrotecnica ed elettronica

Un percorso per chiarire i concetti fondamentali e lavorare in laboratorio con maggiore consapevolezza.

Chi frequenta da tempo questo sito sa che qui trovano spazio soprattutto articoli approfonditi: lezioni estese, tutorial dettagliati, schemi, immagini, codice, proposte operative per il laboratorio e percorsi pensati per la didattica.

L’obiettivo, in queste pagine, è sempre stato quello di affrontare gli argomenti con attenzione, provando a costruire materiali chiari, solidi e riutilizzabili per studenti, docenti, appassionati e maker.

Proprio per questo, può forse sorprendere la nascita di una nuova serie di post più brevi. Eppure questa scelta non nasce da un cambio di rotta, né da una riduzione delle ambizioni didattiche. Nasce, al contrario, da un’esigenza molto concreta che negli ultimi anni è diventata sempre più evidente: per affrontare bene i temi più complessi, bisogna avere chiari i concetti fondamentali.

Da anni lavoro soprattutto con studenti del triennio dell’ITIS, in particolare delle classi quarte e quinte. Più recentemente, però, mi è capitato sempre più spesso di accompagnare anche studenti del biennio, molti dei quali mostrano un entusiasmo autentico verso l’uso di Arduino e desiderano progettare dispositivi, automazioni e piccoli sistemi anche piuttosto articolati.

Questo entusiasmo è prezioso. Curiosità, desiderio di costruire, voglia di sperimentare: sono spesso il miglior punto di partenza possibile per avvicinarsi all’elettronica e all’automazione.

Accanto a questo slancio iniziale, però, nel lavoro quotidiano in laboratorio emerge con chiarezza anche un altro aspetto: le nozioni di base dell’elettrotecnica e dell’elettronica non sempre sono sufficientemente stabili e consapevoli.

Capita così che termini come tensione, corrente, resistenza, massa, polarità, collegamento in serie e in parallelo, uso corretto del multimetro o funzione di una resistenza di pull-up vengano utilizzati in modo intuitivo, ma non pienamente compresi.

Molti dei temi che compariranno in questa serie nascono proprio dalle domande ricorrenti che gli studenti più giovani mi pongono durante le lezioni e le attività di laboratorio. Ho voluto raccogliere quei dubbi, quelle richieste di chiarimento e quelle incertezze che emergono con maggiore frequenza per trasformarle in un percorso ordinato, accessibile e utile anche al di fuori della classe.

Ed è precisamente da questa osservazione che nasce l’idea della nuova rubrica.

Molto spesso, infatti, la difficoltà non sta soltanto negli argomenti avanzati, ma nel fatto che i fondamenti vengono incontrati presto, usati presto, ma non sempre assimilati con la necessaria profondità. Così può accadere che uno studente riesca a montare un circuito, caricare uno sketch e vedere un sistema funzionare, ma fatichi poi a spiegare che cosa stia realmente accadendo dal punto di vista elettrico. E senza questa comprensione, anche le attività più motivanti rischiano di restare fragili.

Per questo ho deciso di affiancare ai tutorial più articolati una serie di lezioni brevi, chiare e mirate, pensate per tornare sui concetti essenziali con un linguaggio accessibile, ma senza rinunciare al rigore.

Saranno testi più snelli nella forma, ma costruiti con la stessa attenzione che riservo ai contenuti più estesi: attenzione ai dubbi reali degli studenti, agli errori ricorrenti, alle semplificazioni fuorvianti e ai passaggi che, se trascurati, rendono più difficile tutto ciò che viene dopo.

A questa scelta si lega anche una riflessione sul formato.

So bene che oggi il video è uno strumento potente, immediato e molto efficace sotto molti aspetti. Non ho nulla contro questa forma di comunicazione, che anzi può essere molto utile in diversi contesti. Tuttavia, realizzare video con continuità richiede tempi di progettazione, registrazione, montaggio e revisione che, almeno in questa fase, non riesco a sostenere in modo regolare. Ma il punto, per me, non è soltanto organizzativo.

Da sempre prediligo la lezione scritta.

La scrittura mi obbliga a rallentare, a ordinare meglio le idee, a scegliere con maggiore precisione le parole e a riflettere più a fondo sul modo in cui un concetto può essere spiegato. Ogni testo diventa così non solo un contenuto da pubblicare, ma anche una traccia di lavoro, una struttura didattica, un riferimento che posso riprendere, sviluppare e collegare ad altri argomenti nel tempo. In questo senso, le lezioni scritte funzionano per me anche come uno storyboard permanente: aiutano chi legge, ma aiutano anche me a costruire percorsi più coerenti.

C’è poi un secondo aspetto che considero importante.

Nel caso di argomenti tecnici di base, credo che leggere un testo mentre si osserva uno schema, si prende un appunto, si prova un collegamento, si misura un valore o si monta un piccolo circuito possa essere estremamente formativo. Il testo scritto ha un ritmo diverso: permette di fermarsi, tornare indietro, rileggere, verificare, annotare, confrontare subito teoria e pratica. Non impone velocità, lascia spazio al tempo dell’apprendimento.

Non penso affatto che il testo debba sostituire il video in assoluto. Penso però che, almeno per alcuni apprendimenti fondamentali, la combinazione tra lettura, riflessione e azione pratica sia particolarmente efficace. In un contesto in cui siamo sempre più abituati a fruire contenuti rapidamente, riprendere un passo più lento può sembrare controcorrente, eppure, proprio questa lentezza consente spesso di fissare meglio i concetti e di trasformarli in competenza reale.

Questa nuova serie, dunque, non nasce per sostituire gli articoli lunghi, né per semplificare artificialmente i contenuti. Nasce per affiancarli e per offrire un percorso di accesso più graduale a studenti, principianti e lettori curiosi che desiderano chiarire bene i fondamenti prima di affrontare temi più complessi.

Ogni post sarà costruito attorno a una domanda semplice o a un nodo concettuale essenziale. L’obiettivo sarà spiegare in modo comprensibile, ma corretto, un singolo aspetto dell’elettrotecnica o dell’elettronica, cercando di collegarlo, quando possibile, a situazioni reali di laboratorio, a esempi concreti o a errori frequenti da evitare.

Questa serie è pensata soprattutto per:

  • studenti che stanno iniziando;
  • docenti che cercano spiegazioni sintetiche ma affidabili da riprendere in classe;
  • appassionati e maker che desiderano chiarire alcuni concetti di base;
  • lettori che preferiscono contenuti brevi, ma non superficiali.

Continuo a credere che, soprattutto nelle discipline tecniche, spiegare bene le basi sia un lavoro importante quanto affrontare gli argomenti più avanzati. Anzi, spesso è proprio dalla qualità delle fondamenta che dipende la possibilità di comprendere davvero tutto il resto.

Per questo motivo, accanto ai tutorial più ampi e strutturati, da oggi troveranno spazio anche queste brevi lezioni essenziali, pensate per rendere più accessibili i concetti fondamentali dell’elettrotecnica e dell’elettronica e per accompagnare, un passo alla volta, chi sta iniziando questo percorso.

Da dove partirà la serie

Questa collezione di lezioni è attualmente in costruzione e si svilupperà progressivamente a partire da alcuni concetti fondamentali che, nell’attività di laboratorio, si rivelano spesso decisivi per comprendere davvero ciò che si sta facendo.

Tra i primi temi che intendo affrontare ci sono:

  • differenza tra tensione, corrente e resistenza;
  • perché un LED ha bisogno di una resistenza in serie;
  • che cosa significa GND in un circuito;
  • collegamento in serie e in parallelo;
  • che cos’è un cortocircuito e perché è pericoloso;
  • a cosa serve il multimetro e come iniziare a usarlo;
  • pull-up e pull-down;
  • differenza tra segnale analogico e digitale.

Il percorso crescerà nel tempo, anche a partire dalle difficoltà più frequenti che emergono durante le attività pratiche e dalle domande ricorrenti degli studenti.

Spero che questa nuova formula possa essere utile.

Come sempre, osservazioni, suggerimenti e proposte di temi da affrontare saranno molto ben accetti.

Buona lettura e buon lavoro 🙂

5 minuti da Maker – supporto per saldatura elettrica

In laboratorio, quando bisogna stagnare cavi e cavetti, la difficoltà più comune è sempre la stessa: tenere fermo il filo nella posizione giusta mentre si lavora con saldatore e stagno. Per rendere questa operazione più semplice (e più “pulita” sul banco), ho realizzato un piccola basa costituita da due morsetti stampabile in 3D, pensato come supporto rapido per assistere la saldatura di cavi elettrici.

La struttura è volutamente essenziale ed è composta da tre elementi: una base e due mollette che si incastrano nella base. Ho realizzato anche una seconda versione della base che ermette due distanze diverse dai morsetti, così è possibile avvicinare o allontanare le mollette in base al tipo di filo o alla lavorazione da effettuare.

Come per il porta bobine di stagno che avevo condiviso nel post precedente, anche qui l’obiettivo è uno: mettere ordine e velocizzare le operazioni quando si salda, soprattutto in contesti didattici dove avere supporti semplici e robusti fa davvero la differenza.

  • Stampa rapida;
  • nessun supporto necessario;
  • assemblaggio a incastro, zero viti.

File per la stampa 3D

Seguendo il link è possibile scaricare i file e stampare le parti.

Buon Making a tutti 🙂

5 minuti da Maker: mettiamo ordine sul banco da lavoro – portastagno

Supporto bobina porta stagno

In laboratorio succede sempre la stessa cosa: la bobina di stagno (o un qualunque filo su rocchetto) viene appoggiata “al volo”, rotola, si incastra tra i cavi… e a fine attività nessuno la rimette al suo posto. Risultato: banco disordinato, rischio di urti/cadute e tempo perso a cercare gli strumenti.

Per risolvere con una micro-soluzione da maker, oggi vi propongo un porta-bobina stampabile in 3D: zero supporti, stampa veloce, uso immediato. È uno di quei piccoli accessori che, messi in più postazioni, migliorano davvero l’ordine e la routine del banco (soprattutto con gli studenti).

Vi lascio il link diretto a Makerworld dove potete prelevare i file per la stampa 3D.

In labortatorio abbiamo bobine di filo elettrico e stagno di diverse dimensione ed ho pensato di trasformarlo questo semplice oggetto in una mini-attività di modellazione e stampa 3D: “ogni gruppo stampa e adotta un accessorio”, poi a fine lezione se ne fa un check rapido su funzionalità ordine e ripristino postazione, tutto ciò dovrebbe diventare un modo per far si che gli studenti diventino partecipi nell’organizzazione degli spazi in cui studiano e lavorano.

Buon Making a tutti 🙂

Arduino nello zaino, upgrade: un saldatore TS101 in un rugged case stampato in 3D

 

Nel post “Arduino nello zaino” raccontavo l’idea di fondo: non portarsi dietro un mini-laboratorio completo, ma una dotazione minima, ordinata e pronta per qualsiasi micro-attività (in aula, in laboratorio, in giro).

Oggi aggiungo un tassello importante, l’uso di un saldatore elettrico portatile per la realizzazione di circuiti elettronici.

Ne ho provati tantissimi, a gas, a batteria, ma da qualche tempo uso il Miniware TS101, perché unisce portabilità, alimentazione flessibile e controllo della temperatura.

Con Arduino, ma in generale nella realizzazione di circuiti elettronici, prima o poi capita sempre almeno uno di questi scenari:

  • un cavetto Dupont che si sfila/si rompe e volete rifare un collegamento pulito;
  • un sensore o un connettore che volete rendere più robusto (saldatura + guaina termorestringente);
  • una piccola riparazione al volo (header, pin storti, fili su jack o morsetti);
  • saldare su circuiti PCB o millefori.

inoltre l’uso di un saldatore di queste dimensioni resta coerente con la logica che descrivevo nel post precedente: setup rapido, ordine, micro-attività replicabili.

Caratteristiche del TS101

Alimentazione: USB-C PD e DC “classico”

Il TS101 supporta due ingressi di alimentazione:

  • DC5525 (9–24 V) da alimentatore o batteria
  • USB-C Power Delivery (PD) da 9 V in su (caricatore PD / power bank PD, ecc.)

IMPORTANTE: non vanno usate contemporaneamente le due alimentazioni.

Nel manuale utente trovate anche una tabella che collega tensione/potenza e tempo minimo per passare da 30°C a 300°C (valori dichiarati):

  • 9V (≈9W): ~95 s
  • 12V (≈16W): ~43 s
  • 16V (≈30W): ~22 s
  • 19V (≈40W): ~15 s
  • 24V (≈65W): ~9 s

Potenza e profili PD

  • In DC lavora tipicamente 9–24 V fino a 65 W max.
  • In USB-C PD può arrivare (a seconda di firmware e alimentatore) fino a 90 W max con PD 3.1.

Range temperatura e stabilità

  • 50–400 °C con stabilità dichiarata ±2%.

Display

  • Display OLED più grande (128×32) rispetto a TS100, menu più ricco, preset e opzioni.

Comandi e uso base

  • Pulsante A: avvio riscaldamento / regolazione
  • Pulsante B: impostazioni / regolazione
  • OLED con icone di stato (boost, movimento, sleep, ecc.)
  • Presenza di vite di terra (ground screw)

Preset e regolazione temperatura

Potete lavorare con temperature preimpostate T1/T2/T3, oppure regolare “al volo”.

Boost mode

In riscaldamento, tenendo premuto A entri in boost mode: la punta sale alla temperatura “Boost” finché tenete premuto; rilasciando, torna alla temperatura di lavoro.

Sleep/Standby

  • se in working mode il TS101 resta fermo per 180 s (default), entra in sleep (compare “zZ”) e la punta scende alla “Sleep Temp”;
  • quando viene rilevato movimento, esce dallo sleep e torna in working mode;
  • se resta fermo in sleep per 240 s (default), passa in standby; dopo ulteriore tempo, lo schermo si spegne;
  • la lettera “M” sul display indica che il TS101 si sta muovendo;
  • parametro MsenUnit (sensibilità 1–5: più alto = più sensibile).

Configurazione rapida via file

Una funzione molto interessante è la gestione tramite file:

    1. collegate il TS101 al PC con cavo dati USB-C
    2. compare un disco virtuale
    3. modificate CONFIG.TXT e i parametri vengono aggiornati

Questo è ottimo per preparare un “config” standard (temperature preset, tempi sleep, luminosità, sensibilità movimento) identica per più dispositivi.

Firmware update

  • tenete premuto A;
  • collegate via USB-C al PC (entra in DFU mode);
  • copiate il file firmware nel disco virtuale.

Sicurezza e limiti termici

  • range punta: 50°C–400°C;
  • dopo 5 minuti ad alta potenza sopra 350°C (o uso prolungato) il controller può arrivare a ~50°C;
  • quando non in uso, spegnere per evitare rischi;
  • se compare “No tip!”, la punta non è inserita correttamente e va reinstallata.

Compatibilità punte: un vantaggio pratico (e economico)

  • Il TS101 è compatibile con le punte TS100: se avete già punte, le riusate; se dovete comprarle, trovate molta scelta.

La custodia rugged stampata in 3D

Se il saldatore è portatile, il punto debole diventa il trasporto: punta, cavo, stagno, spugnetta/lanetta… tutto deve essere protetto e ordinato.

Un contenitore stampato 3D risulta molto utile, ciò evita di utilizzare la scatola di cartone con cui vi viene venduto il saldatore. Il contenitore che ho stampato è una custodia rugged multi-scomparto, pensata specificamente per TS100/TS101, e derivata (remix) da un progetto precedente che trovate seguendo il link allegato.

Su Makerworld trovate molti contenitori simili a quello che sto utilizzando io ma questa soluzione mi piace perché:

  • può ospitare TS100/TS101
  • cavo
  • rocchetto stagno
  • lana metallica per pulizia punta
  • stand/rest (con cuscinetto 608, usato come appoggio per il saldatore caldo)
  • vani extra per piccoli accessori/ricambi

riassumendo una configurazione minimalista come piace a me 🙂

Buon Making a tutti 🙂