Basi · 19 min di lettura

Cos'è un diodo? Come funziona, tipi, polarità e applicazioni

Cos'è un diodo e come funziona: anodo, catodo e fascia, tensione di soglia di 0,7 V, 1N4007, 1N4148, 1N5819, diodo di ricircolo, ponte raddrizzatore e Zener.

Cos'è un diodo? In breve, un diodo è un componente a semiconduttore con due terminali che lascia passare la corrente elettrica in un solo verso. Pensalo come una valvola di non ritorno in un tubo dell'acqua: la corrente scorre liberamente dall'anodo al catodo ed è bloccata quasi del tutto nel verso opposto. Grazie a questa semplice proprietà, il diodo trasforma la corrente alternata della presa in corrente continua, protegge il tuo circuito da una batteria collegata al contrario, assorbe i pericolosi picchi di tensione prodotti da relè e motori e limita una tensione a un valore preciso.

Incontri diodi ogni giorno senza accorgertene: dentro il caricabatterie del telefono, sul connettore di alimentazione dell'Arduino Uno, sui moduli relè e in ogni LED sulla tua scrivania. Sì, anche un LED è un diodo che emette luce. In questo articolo imparerai cosa succede dentro un diodo, come distinguere l'anodo dal catodo, da dove arrivano gli 0,7 V di tensione di soglia e in cosa si differenziano 1N4007, 1N4148 e 1N5819; vedrai anche la protezione dall'inversione di polarità, il diodo di ricircolo, il ponte raddrizzatore, il diodo Zener e come provare un diodo con il multimetro. Alla fine costruirai con Arduino un piccolo tester che capisce da solo il verso e il tipo di un diodo.

Diodo raddrizzatore a terminali assiali
Diodo raddrizzatore a terminali assiali: la fascia a un'estremità del corpo indica il catodo; la corrente scorre dall'anodo verso questa estremità segnata.

Cos'è un diodo e come funziona?

Dentro un diodo si incontrano due strati di semiconduttore diversi: silicio di tipo N, con elettroni in eccesso, e silicio di tipo P, con elettroni mancanti (lacune in eccesso). Nel punto di unione si forma una sottile regione di svuotamento in cui i portatori di carica si neutralizzano, e questa regione si comporta come un muro contro la corrente. Quando applichi il positivo all'anodo (lato P) e il negativo al catodo (lato N), cioè quando polarizzi direttamente il diodo, il muro si assottiglia; appena la tensione supera circa 0,6–0,7 V nel silicio, la corrente comincia a salire rapidamente. In polarizzazione inversa il muro si allarga e passa solo una minuscola corrente di dispersione dell'ordine dei microampere o dei nanoampere. Se la tensione inversa supera il limite del diodo avviene la rottura (breakdown): i diodi normali si danneggiano, mentre i diodi Zener sono costruiti proprio per lavorare in questa zona. La tabella riassume i valori principali del datasheet da controllare quando scegli un diodo.

ParametroSignificatoEsempio: 1N4007
VF (tensione diretta)Tensione che cade sul diodo mentre conduceMax. 1,1 V (a 1 A)
IF(AV) (corrente diretta media)Corrente media che può portare in modo continuo1 A
VRRM (tensione inversa di picco ripetitiva)Massima tensione inversa ripetitiva sopportata; oltre si ha la rottura1000 V
IFSM (corrente impulsiva)Sopporta un singolo breve impulso di corrente30 A (singolo impulso da 8,3 ms)
IR (corrente inversa di dispersione)Piccola corrente che scorre in polarizzazione inversaMax. 5 µA (25 °C)
trr (tempo di recupero inverso)Tempo necessario perché la corrente si estingua passando dalla conduzione all'interdizioneLento, nell'ordine dei microsecondi

Anodo, catodo e fascia: come capire il verso di un diodo

Un diodo ha due terminali: l'anodo (A) e il catodo (K). Negli schemi si disegna come un triangolo con una barra verticale davanti: il triangolo indica come una freccia il verso in cui passa la corrente, dall'anodo al catodo, e la barra è il catodo. Sul diodo vero questa barra è stampata sul corpo: una fascia grigia o bianca sull'1N4007 nero e una fascia nera sull'1N4148 in vetro indicano l'estremità del catodo. Un promemoria facile: la barra del simbolo e la fascia sul corpo sono la stessa estremità. Se in un circuito l'estremità con la fascia è alla tensione più positiva, il diodo è in interdizione; se è più positiva l'estremità senza fascia, conduce.

  • Diodi a terminali assiali (1N4007, 1N5819): l'unica fascia sul corpo è il catodo; puoi anche leggere la sigla stampata per confermare il modello.
  • Piccoli diodi in vetro (1N4148, Zener): la fascia nera è il catodo; la sigla è minuscola, quindi leggila con una lente o misura con il multimetro.
  • Diodi SMD: una linea su un lato del contenitore indica il catodo; il diodo siglato M7 sulle schede Arduino è l'equivalente SMD dell'1N4007.
  • LED: il terminale lungo è l'anodo, quello corto il catodo; anche il lato piatto sul bordo del LED indica il catodo.
  • Ponti raddrizzatori: i quattro terminali sono marcati ~ (ingressi in alternata), + e −.
  • Se il segno si è cancellato: la prova diodi del multimetro ti mostra il verso in pochi secondi; la spieghiamo passo per passo più avanti.

Tensione di soglia: 0,7 V nel silicio, 0,3 V nello Schottky

Quando un diodo conduce, ai suoi capi cade una tensione piccola e quasi costante: è la tensione diretta (VF), chiamata spesso tensione di soglia. Per i diodi al silicio tutti ricordano 0,7 V, ma non è un numero fisso: un 1N4007 fa cadere circa 0,55 V con pochi milliampere e 0,9–1,0 V a 1 A. All'aumentare della temperatura la tensione diretta diminuisce di circa 2 mV per °C; più avanti useremo questa proprietà per trasformare un diodo in un sensore di temperatura. Tensione diretta significa calore: la potenza dissipata da un diodo è P = VF × I. Un 1N4007 attraversato da 1 A produce circa 1 W di calore e diventa troppo caldo da toccare; alla stessa corrente uno Schottky 1N5819 fa cadere al massimo 0,6 V, quindi il calore quasi si dimezza.

Tipi di diodi

TipoTensione direttaCosa faEsempioDove si usa
Diodo raddrizzatore0,6–1,1 VSopporta tensioni inverse elevate e 1 A o più; lento1N4007, 1N5408 (3 A)Alimentatori, raddrizzamento, protezione dall'inversione di polarità
Diodo di segnale (commutazione)0,6–1,0 VCommuta molto velocemente, corrente bassa1N4148Segnali, circuiti logici, tastierini, piccoli relè
Diodo Schottky0,15–0,6 VTensione diretta bassa e molto veloce; corrente di dispersione più alta1N5819, SS34, BAT54Circuiti a batteria, selezione dell'alimentazione, motori in PWM
Diodo ZenerVz in inversa (~0,7 V in diretta)Conduce in inversa a una tensione precisa (Vz)1N4733A (5,1 V), 1N4728A (3,3 V)Limitazione di tensione e riferimento
LED1,8–3,4 V (secondo il colore)Emette luce quando conduceLED da 5 mm, i LED dentro un WS2812BSpie, illuminazione, display
Fotodiodo—Produce corrente quando riceve luceBPW34, ricevitori IRRilevamento di luce e infrarossi
Diodo TVSTensione di rottura in inversaAssorbe molto rapidamente i picchi di tensioneSerie SMBJ e P6KEProtezione da ESD e sovratensioni
Diodo al germanio0,2–0,3 VTensione diretta bassa, tecnologia datata1N34AVecchie radio, rivelazione di segnale

Anche il LED è un diodo

Come dice il nome, un LED (Light Emitting Diode, diodo a emissione luminosa) è un diodo che emette luce. Come un diodo normale, fa passare la corrente solo dall'anodo al catodo; la differenza è che l'energia liberata quando elettroni e lacune si ricombinano nella giunzione P-N esce come luce invece che come calore. Il materiale semiconduttore determina il colore, e più il colore si avvicina al blu, più alta è la tensione diretta: un LED rosso richiede circa 2 V, quelli blu e bianchi circa 3 V. Trovi i valori per ogni colore nello strumento Tensioni dei LED.

LED da 5 mm di colori diversi
Anche i LED da 5 mm sono diodi: il terminale lungo è l'anodo, quello corto il catodo, e ogni colore ha una tensione diretta diversa.

Una differenza importante tra diodo e LED è la tensione inversa sopportata: un 1N4007 regge 1000 V, mentre il datasheet di un LED tipico ammette solo circa 5 V in inversa. Per questo non devi usare un LED come raddrizzatore. La seconda regola è limitare sempre la corrente del LED con una resistenza in serie, perché appena superi la tensione diretta la corrente sale molto in fretta. Per un LED rosso alimentato a 5 V la resistenza vale (5 − 2) / 0,015 ≈ 200 Ω, cioè il valore standard di 220 Ω; puoi fare il calcolo con il calcolatore della resistenza per LED. Per saperne di più su come collegare i LED e scegliere i colori, leggi Cos'è un LED?.

1N4007, 1N4148 e 1N5819: quale usare e quando?

Caratteristica1N40071N41481N5819
TipoRaddrizzatore al silicioSilicio di segnaleSchottky
ContenitoreDO-41, corpo neroDO-35, corpo in vetroDO-41, corpo nero
Tensione inversa max. (VRRM)1000 V100 V40 V
Corrente diretta media1 A150–200 mA (secondo il produttore)1 A
Tensione diretta (VF)≤ 1,1 V (a 1 A)≤ 1 V (a 10 mA)≤ 0,6 V (a 1 A), ~0,3 V a bassa corrente
Recupero inverso (trr)Lento (microsecondi)4 nsPraticamente nullo
Corrente di dispersione (25 °C)≤ 5 µA≤ 25 nA (a 20 V)≤ 0,5 mA (a 40 V)
Uso tipicoRaddrizzamento, inversione di polarità, ricircolo per relèSegnali, logica, tastierini, ricircolo per piccoli relèAlimentazione a batteria e USB, ricircolo per motori in PWM

La famiglia dall'1N4001 all'1N4007 differisce solo per la tensione inversa sopportata (50 V l'1N4001, 1000 V l'1N4007); dato che costano quasi uguale, quasi tutti usano l'1N4007 per qualsiasi cosa. L'1N4148 è un diodo per piccole correnti ma molto veloce; non può portare centinaia di milliampere in modo continuo, ma nei circuiti di segnale e logici è imbattibile. L'1N5819, grazie alla bassa tensione diretta, risparmia volt preziosi nei circuiti alimentati a batteria o via USB; i suoi unici difetti sono la tensione inversa limitata a 40 V e una corrente di dispersione che cresce con la temperatura. Per correnti fino a 3 A passa all'1N5408 (silicio) o alla famiglia SS34 / 1N5822 (Schottky). Con i motori pilotati in PWM, un veloce UF4007 (75 ns) o uno Schottky scalda meno del lento 1N4007.

Protezione dall'inversione di polarità: salva il circuito da una batteria al contrario

Collegare al contrario i fili di un portabatterie o inserire l'alimentatore sbagliato è uno dei modi più comuni per bruciare un circuito. La soluzione più semplice è un diodo in serie sull'ingresso di alimentazione: se la polarità è giusta il diodo conduce, se è invertita non passa corrente e il circuito resta salvo. L'Arduino Uno R3 lo fa già: sul suo connettore di alimentazione (jack DC) c'è un diodo siglato M7, l'equivalente SMD dell'1N4007. Ecco perché sul pin VIN misuri circa 8,3 V quando alimenti la scheda con un alimentatore da 9 V. Il prezzo del diodo in serie è questa caduta di tensione: se fai passare i 5 V dell'USB in un 1N4007 restano circa 4,3 V; in un 1N5819, circa 4,7 V.

MetodoCaduta di tensioneProContro
Diodo al silicio in serie (1N4007)0,7–1 VEconomicissimo, regge 1000 VPerdite e calore elevati
Diodo Schottky in serie (1N5819)0,3–0,6 VEconomico, meno perditeCorrente di dispersione alta, limite di 40 V
MOSFET a canale PDa pochi mV a qualche decina di mVQuasi senza perdite, correnti elevateCircuito un po' più complesso
Diodo in parallelo + fusibileNessunaNessuna perdita nel funzionamento normaleSe si inverte la polarità il fusibile salta e va sostituito
Il diodo di protezione dell'Arduino Uno si trova solo sul jack DC. Se alimenti attraverso i pin VIN o 5V questo diodo non interviene; se inverti i fili, il regolatore e l'ATmega328P possono bruciarsi all'istante. Aggiungi un tuo diodo all'ingresso dei progetti a batteria; in Come alimentare Arduino trovi quale pin è sicuro per ogni tipo di alimentazione.

I diodi servono anche a combinare due fonti di alimentazione; questa tecnica si chiama OR a diodi (diode-OR). Ogni fonte si collega allo stesso punto con il proprio diodo Schottky; quella con la tensione più alta alimenta il carico e le fonti non possono spingere corrente l'una nell'altra. Nel Raspberry Pi Pico, il VBUS dell'USB è già collegato alla linea VSYS tramite un diodo Schottky. Se vuoi alimentare un Pico sia via USB sia da una batteria, basta collegare la batteria a VSYS attraverso un secondo diodo Schottky (catodo verso VSYS); così la batteria non rimanda corrente nella porta USB. Anche l'Arduino Nano originale ha un diodo Schottky (MBR0520) sulla linea USB: per questo è normale misurare poco meno di 5 V sul pin 5V di un Nano alimentato via USB.

Diodo di ricircolo (flyback): proteggere relè e motori

I carichi induttivi come bobine dei relè, motori, solenoidi e ventole si oppongono all'interruzione improvvisa della corrente. Nell'istante in cui il transistor si spegne, l'energia magnetica immagazzinata nella bobina cerca una via d'uscita e, secondo V = L × di/dt, produce un picco di tensione inverso che può arrivare a centinaia di volt. Questo picco perfora il transistor, fa ripartire l'Arduino o danneggia i suoi pin. Il rimedio è un diodo di ricircolo (detto anche diodo flyback o di libera circolazione) collegato in parallelo alla bobina ma in senso inverso: nel funzionamento normale è polarizzato inversamente e non fa nulla; quando la corrente viene interrotta, offre alla corrente della bobina un percorso in cui circolare e limita il picco a circa 0,7 V sopra la tensione di alimentazione.

Modulo relè 5 V a un canale
I moduli relè già pronti hanno sulla scheda il diodo di ricircolo della bobina, il transistor di pilotaggio e un LED di stato; se usi un relè nudo, devi aggiungere il diodo da solo.
  1. Individua quale terminale della bobina va al positivo dell'alimentazione e quale al collettore del transistor (o al drain del MOSFET).
  2. Salda l'estremità del catodo, quella con la fascia, al terminale della bobina collegato al positivo.
  3. Collega l'anodo al terminale della bobina che va al transistor; il diodo deve stare in parallelo alla bobina, ma rivolto al contrario.
  4. Scegli il diodo: per relè da 5 V e 12 V basta un 1N4007 o un 1N4148; per motori con velocità regolata in PWM usa uno Schottky veloce (1N5819) o un UF4007. La corrente nominale del diodo deve superare quella della bobina.
  5. Metti il diodo il più vicino possibile alla bobina; i fili lunghi lasciano che parte del picco si propaghi nel circuito.
  6. Controlla il verso ancora una volta prima di dare tensione: un diodo di ricircolo montato al contrario mette in cortocircuito l'alimentazione appena il transistor conduce.
Il diodo di ricircolo ritarda di qualche millisecondo l'apertura dei contatti del relè, perché la corrente della bobina si estingue lentamente attraverso il diodo. Nella maggior parte dei progetti non te ne accorgerai; nei relè che devono rilasciare molto in fretta si aggiunge uno Zener in serie al diodo. I driver integrati come l'ULN2003 contengono già i diodi di ricircolo; ricordati di collegare il loro pin comune (COM) all'alimentazione del motore. Come usare i moduli relè già pronti lo trovi in Cos'è un modulo relè?, il circuito di pilotaggio con transistor in Cos'è un transistor?.

Ponte raddrizzatore: trasformare l'alternata in continua

La tensione della rete e quella in uscita da un trasformatore è corrente alternata (AC): in Europa la sua frequenza è di 50 Hz, quindi compie 50 cicli completi al secondo e cambia verso 100 volte al secondo. Un Arduino invece ha bisogno di corrente continua (DC), che non cambia verso. Un solo diodo lascia passare soltanto la semionda positiva della sinusoide; è il raddrizzamento a singola semionda. Un ponte raddrizzatore (ponte di Graetz), con quattro diodi collegati a rombo, fa condurre due diodi in ogni semionda e rende positiva anche quella negativa; è il raddrizzamento a doppia semionda. Un grosso condensatore elettrolitico in uscita trasforma questa tensione pulsante in una continua livellata, vicina al valore di picco.

Il calcolo funziona così: il valore scritto sul trasformatore è il valore efficace (RMS), e quello di picco è √2 volte più grande. Un trasformatore da 9 V in alternata ha quindi un picco di 9 × 1,414 ≈ 12,7 V. Nel ponte la corrente passa sempre attraverso due diodi, quindi si perdono circa 1,6 V e il condensatore si carica intorno agli 11 V. Quando il carico assorbe corrente, il condensatore si scarica tra un picco e l'altro; questa ondulazione residua (ripple) vale circa Vr = I / (2 × f × C). Con un carico di 0,5 A e un condensatore da 2200 µF, Vr = 0,5 / (2 × 50 × 0,0022) ≈ 2,3 V: la tensione oscilla quindi tra circa 8,8 e 11 V. Un regolatore come il 7805 la trasforma in 5 V puliti. Trovi come funzionano i condensatori in Cos'è un condensatore? e il regolatore in Regolatore di tensione 7805.

RaddrizzatoreNumero di diodiFrequenza del ripple (rete a 50 Hz)Nota
Singola semionda150 HzIl più semplice; con lo stesso condensatore il ripple è doppio
Doppia semionda con presa centrale2100 HzServe un trasformatore con presa centrale; conduce un diodo alla volta
Ponte (doppia semionda)4 o un ponte raddrizzatore integrato100 HzIl più diffuso; conducono due diodi alla volta, perdita ~1,4–2 V
La tensione di rete (230 V) può uccidere. Fai esperimenti con i ponti raddrizzatori solo sull'uscita a bassa tensione di un trasformatore commerciale chiuso (per esempio 9 V o 12 V in alternata); non costruire mai circuiti collegati direttamente alla rete. Quando monti il condensatore, rispetta il positivo e il negativo degli elettrolitici e scegli una tensione di lavoro superiore almeno del 50 % alla tensione di picco (per esempio 25 V per 11 V).

Diodo Zener: limitare la tensione

Un diodo Zener è costruito per iniziare a condurre in modo controllato quando la tensione inversa raggiunge un valore preciso. È la tensione Zener (Vz), disponibile in molti valori standard da 2,4 V a 200 V: 3,3 V, 5,1 V e 12 V sono i più usati. Lo Zener si collega in inversa: catodo al positivo, anodo a GND. Sotto Vz non passa quasi corrente; quando la tensione raggiunge Vz, il diodo devia la corrente in eccesso verso GND e mantiene la tensione a quel valore. In diretta si comporta come un diodo normale e fa cadere circa 0,7 V. Uno Zener non si usa mai da solo: una resistenza in serie che limiti la corrente è obbligatoria, altrimenti si brucia nel primo secondo.

La resistenza in serie si calcola con R = (Vin − Vz) / (Iz + Icarico). Supponiamo che tu voglia ottenere 5,1 V stabili da 12 V per un circuito che assorbe 5 mA, con 10 mA nello Zener: R = (12 − 5,1) / (0,010 + 0,005) = 460 Ω, quindi scegli il valore standard 470 Ω. Senza carico tutta la corrente passa nello Zener: 6,9 V / 470 Ω ≈ 14,7 mA, e lo Zener dissipa 5,1 × 0,0147 ≈ 75 mW, nessun problema per uno Zener da 0,5 W. La resistenza dissipa 6,9² / 470 ≈ 0,1 W, quindi basta una da 1/4 W. Puoi verificare i calcoli di tensione e resistenza con il calcolatore della legge di Ohm.

  • Limite di potenza: la serie 1N47xx (per esempio l'1N4733A da 5,1 V) è da 1 W, le serie BZX55 e 1N52xx da 0,5 W. La potenza dello Zener è P = Vz × Iz ed è meglio restare sotto la metà del valore nominale.
  • Protezione degli ingressi: per collegare un segnale a 12 V a un ingresso a 5 V di Arduino puoi usare una resistenza in serie da 10 kΩ e uno Zener da 5,1 V dal pin a GND; la tensione sul pin non potrà superare 5,1 V.
  • Attenzione alla dispersione: gli Zener a bassa tensione lasciano passare corrente anche sotto Vz; secondo il datasheet, l'1N4728A (3,3 V) può disperdere fino a 100 µA già a 1 V. Nei circuiti di misura analogica ad alta impedenza questa dispersione falsa la lettura.
  • Non è un regolatore: lo Zener serve per riferimenti e protezioni di qualche decina di milliampere. Per alimentare un Arduino o un motore usa un regolatore lineare come il 7805 o un modulo step-down come l'LM2596.
  • Se ti serve un riferimento preciso: gli Zener intorno a 5,1 V e 5,6 V sono quelli che variano meno con la temperatura; per un riferimento più stabile si preferiscono i riferimenti di tensione regolabili come il TL431.

Provare un diodo con il multimetro

  1. Togli il diodo dal circuito o dissalda almeno un terminale; gli altri componenti del circuito possono falsare la misura.
  2. Ruota il selettore sulla posizione con il simbolo del diodo. In molti multimetri condivide la posizione con la prova di continuità (cicalino).
  3. Appoggia il puntale rosso sull'anodo e quello nero sul catodo con la fascia. Un diodo al silicio sano mostra un valore tra 0,5 e 0,7; è la tensione diretta con una corrente di prova di circa 1 mA (alcuni multimetri la mostrano in millivolt, per esempio 550).
  4. Inverti i puntali. Un diodo sano in questo verso non conduce e il display mostra OL oppure un solo 1 a sinistra.
  5. Se vedi un valore vicino a zero in entrambi i versi e senti il cicalino, il diodo è in cortocircuito; se vedi OL in entrambi i versi, il diodo è interrotto, cioè rotto all'interno. In tutti e due i casi va sostituito.
Componente misuratoVerso diretto (puntale rosso sull'anodo)Verso inverso
1N4007 (raddrizzatore al silicio)0,50–0,60 VOL
1N4148 (di segnale)0,60–0,70 VOL
1N5819 (Schottky)0,15–0,30 VOL (da caldo può comparire un valore molto alto)
Zener da 5,1 V (1N4733A)0,65–0,75 VOL (la tensione di prova del multimetro non arriva a 5,1 V)
LED rosso1,6–1,9 V, il LED si accende debolmenteOL
LED blu / bianco2,5–3,0 V oppure OL (la tensione di prova può non bastare)OL
Diodo in cortocircuito0,00–0,05 V e cicalino0,00–0,05 V e cicalino
Diodo interrottoOLOL
Allo stesso modo puoi misurare le giunzioni base-emettitore e base-collettore di un transistor, perché un transistor bipolare contiene due giunzioni P-N che si comportano come due diodi. Per conoscere nel dettaglio le altre funzioni del multimetro, leggi Come usare il multimetro.

Costruire un tester per diodi con Arduino

Se non hai un multimetro o vuoi fare un passo in più, puoi trasformare un Arduino Uno in un semplice tester per diodi. L'idea è la stessa del multimetro: si fa passare una piccola corrente nel componente prima in un verso e poi nell'altro, e si misura la tensione ai suoi capi. Due pin digitali alimentano le due estremità del componente attraverso resistenze da 1 kΩ e due pin analogici leggono la tensione a ciascuna estremità. Poiché la corrente è limitata a circa 2 mA, diodi, LED e perfino componenti inseriti al contrario non subiscono danni.

CollegamentoArduino UnoDescrizione
Resistenza 1 (1 kΩ)Tra D2 e A0Alimenta il lato A0
Resistenza 2 (1 kΩ)Tra D3 e A1Alimenta il lato A1
Un terminale del componente in provaA0Il verso non conta
L'altro terminale del componente in provaA1Il codice capisce da solo da che parte è l'anodo
Arduino (C++)
1// Arduino ile diyot test cihazı / Diode tester with Arduino
2// D2 -> 1 kΩ -> A0 -> [test edilen parça / part under test] -> A1 -> 1 kΩ -> D3
3const int PIN_A = 2;        // A0 tarafını besler / drives the A0 side
4const int PIN_B = 3;        // A1 tarafını besler / drives the A1 side
5const float VREF = 5.0;     // 5V pininde ölçtüğün değer / the value you measure on the 5V pin
6
7// highPin'i HIGH, lowPin'i LOW yapar ve parça üzerindeki gerilimi döndürür
8// Drives highPin HIGH, lowPin LOW and returns the voltage across the part
9float measure(int highPin, int lowPin, int highAdc, int lowAdc) {
10  digitalWrite(highPin, HIGH);
11  digitalWrite(lowPin, LOW);
12  delay(5);
13  long sum = 0;
14  for (int i = 0; i < 16; i++) {
15    sum += analogRead(highAdc) - analogRead(lowAdc);
16  }
17  digitalWrite(highPin, LOW);              // ölçüm bitti, akımı kes / done, cut the current
18  return sum / 16.0 * VREF / 1023.0;
19}
20
21// İleri gerilime göre türü tahmin eder / Guesses the type from the forward voltage
22const char* identify(float vf) {
23  if (vf < 0.40) return "Schottky";
24  if (vf < 1.00) return "silisyum diyot / silicon diode";
25  return "LED";
26}
27
28void setup() {
29  pinMode(PIN_A, OUTPUT);
30  pinMode(PIN_B, OUTPUT);
31  digitalWrite(PIN_A, LOW);
32  digitalWrite(PIN_B, LOW);
33  Serial.begin(9600);
34}
35
36void loop() {
37  float vAB = measure(PIN_A, PIN_B, A0, A1);   // A0 tarafı artı / A0 side positive
38  float vBA = measure(PIN_B, PIN_A, A1, A0);   // A1 tarafı artı / A1 side positive
39  bool ab = vAB < 4.0;                         // A0 -> A1 yönünde iletim / conducts from A0 to A1
40  bool ba = vBA < 4.0;                         // A1 -> A0 yönünde iletim / conducts from A1 to A0
41
42  if (ab && ba) {
43    if (vAB < 0.1 && vBA < 0.1) {
44      Serial.println("Kısa devre / short circuit");
45    } else {
46      Serial.println("İki yönde iletim: direnç ya da düşük gerilimli zener / conducts both ways: resistor or low-voltage zener");
47    }
48  } else if (ab || ba) {
49    float vf = ab ? vAB : vBA;
50    Serial.print(ab ? "Anot A0 tarafında / anode on A0 side" : "Anot A1 tarafında / anode on A1 side");
51    Serial.print("  Vf = ");
52    Serial.print(vf, 3);
53    Serial.print(" V  -> ");
54    Serial.println(identify(vf));
55  } else {
56    Serial.println("İletim yok: açık devre ya da parça yok / no conduction: open circuit or no part");
57  }
58  delay(2000);
59}

Il codice porta prima D2 a HIGH e D3 a LOW e misura la differenza tra A0 e A1, poi ripete nel verso opposto. Se una tensione bassa compare in un solo verso, il componente è un diodo e quel verso indica dove si trova l'anodo; sotto 0,40 V viene classificato come Schottky, fino a 1 V come silicio e sopra come LED. Un valore vicino a zero in entrambi i versi significa cortocircuito, circa 5 V in entrambi i versi significa che non c'è conduzione. Vedrai i risultati nel monitor seriale a 9600 baud; per misure più precise, misura il pin 5V con il multimetro e aggiorna VREF. Con un 1N4148 vedrai un valore intorno a Vf = 0.640 V e il risultato «silicon diode».

ESP32: proteggere un ingresso analogico con diodi Schottky

I pin dell'ESP32 tollerano solo 3,3 V, con un limite assoluto di circa 3,6 V. Per misurare una batteria da 12 V, prima abbassi la tensione con un partitore di tensione: il positivo della batteria va a GPIO 34 attraverso 100 kΩ e GPIO 34 va a GND attraverso 22 kΩ. Con questo rapporto, 12,6 V diventano circa 2,27 V sul pin. E i picchi che compaiono mentre la batteria si carica o un motore è in funzione? Qui due piccoli diodi Schottky fanno da rete di sicurezza: uno va dal pin a 3V3 (catodo su 3V3), l'altro da GND al pin (catodo sul pin). Se la tensione del pin supera 3,3 V di più di circa 0,3 V o scende sotto zero, l'eccesso passa attraverso i diodi e la resistenza da 100 kΩ mantiene piccola questa corrente.

Arduino (C++)
1// ESP32 ile 12 V akü gerilimi ölçme, diyot korumalı giriş / 12 V battery voltage with ESP32, diode-protected input
2// Akü + -> 100 kΩ -> GPIO 34 -> 22 kΩ -> GND / battery + -> 100 kΩ -> GPIO 34 -> 22 kΩ -> GND
3// Schottky 1: anot GPIO 34, katot 3V3 / anode GPIO 34, cathode 3V3
4// Schottky 2: anot GND, katot GPIO 34 / anode GND, cathode GPIO 34
5const int SENSE_PIN = 34;                     // yalnızca giriş, ADC1 / input only, ADC1
6const float RATIO = (100.0 + 22.0) / 22.0;    // bölücü oranı yaklaşık 5,55 / divider ratio about 5.55
7
8void setup() {
9  Serial.begin(115200);
10}
11
12void loop() {
13  uint32_t sum = 0;
14  for (int i = 0; i < 32; i++) {
15    sum += analogReadMilliVolts(SENSE_PIN);   // kalibre edilmiş mV / calibrated millivolts
16    delay(2);
17  }
18  float pinV = sum / 32.0 / 1000.0;           // pindeki gerilim / voltage on the pin
19  float batteryV = pinV * RATIO;              // akü gerilimi / battery voltage
20  Serial.printf("Pin: %.3f V  Akü / battery: %.2f V\n", pinV, batteryV);
21  if (batteryV < 11.8) {
22    Serial.println("Akü zayıf / battery low");
23  }
24  delay(1000);
25}
Per questo compito scegli diodi Schottky di segnale come il BAT54S o il BAT85. Gli Schottky di potenza come l'1N5819 hanno più corrente di dispersione; in un partitore da 100 kΩ, anche pochi microampere spostano la lettura di decine di millivolt. Per lo stesso motivo, qui neanche uno Zener a bassa tensione è una buona scelta.

Raspberry Pi Pico: misurare la temperatura con un diodo (MicroPython)

Ti ricordi che la tensione diretta di un diodo scende di circa 2 mV per ogni °C? Il sensore di temperatura integrato del Raspberry Pi Pico funziona proprio su questo principio: secondo il datasheet dell'RP2040, il sensore sul chip misura la tensione di un diodo bipolare polarizzato; questa tensione è tipicamente 0,706 V a 27 °C e scende di 1,721 mV per grado. Puoi fare lo stesso con un 1N4148 esterno: collega il pin 3V3 a GP26 e all'anodo del diodo attraverso una resistenza da 10 kΩ, e il catodo a GND. Nel diodo scorrono circa 0,27 mA e la tensione su GP26 cambia con la temperatura.

MicroPython
1# Pico: diyotla sıcaklık ölçümü / Temperature measurement with a diode
2# 3V3 -> 10 kΩ -> GP26 + 1N4148 anodu / anode, katot / cathode -> GND
3from machine import ADC
4import time
5
6chip = ADC(4)        # yonga içindeki sıcaklık diyodu / on-chip temperature diode
7diode = ADC(26)      # GP26 (ADC0): harici 1N4148 / external 1N4148
8CONV = 3.3 / 65535   # read_u16 değerini volta çevirir / converts read_u16 to volts
9
10# Kalibrasyon: oda sıcaklığındaki değerlerini yaz / Calibration: enter your room-temperature values
11T0 = 22.0            # termometredeki sıcaklık (°C) / thermometer reading (°C)
12V0 = 0.600           # o sıcaklıkta diyot gerilimi (V) / diode voltage at that temperature (V)
13SLOPE = -0.002       # 1N4148 için yaklaşık -2 mV/°C / about -2 mV/°C for a 1N4148
14
15def average_voltage(adc, n=64):
16    total = 0
17    for _ in range(n):
18        total += adc.read_u16()
19    return total / n * CONV
20
21while True:
22    v_chip = average_voltage(chip)
23    t_chip = 27 - (v_chip - 0.706) / 0.001721    # RP2040 veri sayfası formülü / RP2040 datasheet formula
24    v_diode = average_voltage(diode)
25    t_diode = T0 + (v_diode - V0) / SLOPE
26    print("Yonga / chip: {:.1f} °C   Diyot / diode: {:.3f} V -> {:.1f} °C".format(t_chip, v_diode, t_diode))
27    time.sleep(1)

La prima volta che esegui il codice, leggi la temperatura ambiente su un termometro, poi scrivi in V0 la tensione del diodo che vedi a schermo e in T0 il valore del termometro. Dato che ogni diodo ha una tensione leggermente diversa, questa calibrazione a un punto è indispensabile. Poi stringi il diodo tra le dita: in pochi secondi vedrai la tensione scendere e la temperatura salire. Anche il sensore sul chip risente del calore della scheda stessa, quindi nessuno dei due è un termometro di precisione: sono esperimenti didattici che mostrano il principio. Per misure reali usa un sensore digitale come il DS18B20.

Idee di progetti con i diodi

  • Tester per diodi con LCD: unisci il codice qui sopra a un display LCD I2C, così tipo e tensione diretta compaiono appena inserisci un componente.
  • Alimentazione con batteria di riserva: unisci USB e un pacco batterie con due diodi Schottky, così l'Arduino continua a funzionare a batteria senza interruzioni quando scolleghi l'USB.
  • Tastierino senza tasti fantasma: aggiungi un 1N4148 a ogni tasto di una matrice di pulsanti fatta in casa, così premendo più tasti insieme non viene letto un tasto sbagliato. La logica della scansione a matrice è spiegata in Usare un tastierino a matrice.
  • LED in Charlieplexing: sfrutta il fatto che i LED conducono in un solo verso per controllare 6 LED con soli 3 pin, o 12 LED con 4 pin.
  • Irrigazione automatica: comanda la pompa con un relè e proteggila con un diodo di ricircolo; per misurare l'umidità leggi Sensore di umidità del terreno.
  • Ricarica solare: metti un diodo Schottky di blocco tra pannello e batteria, così di notte la batteria non si scarica nel pannello.

Errori comuni e soluzioni

SintomoCausa probabileSoluzione
Il circuito non funziona affattoIl diodo di protezione in serie è montato al contrarioGiralo: catodo con la fascia verso il carico, anodo verso il positivo dell'alimentazione
L'Arduino si resetta ogni volta che un relè o un motore si spegneManca il diodo di ricircoloMetti un 1N4007 o un 1N4148 in parallelo alla bobina, catodo al positivo
L'alimentazione crolla quando il transistor conduce e il diodo scaldaIl diodo di ricircolo è al contrario e cortocircuita l'alimentazioneGira il diodo: catodo al positivo dell'alimentazione
Il modulo funziona in modo instabile dopo il diodo in seriePerdita di 0,7–1 V dovuta alla tensione direttaUsa uno Schottky (1N5819) o un MOSFET a canale P
Il diodo scalda moltoCorrente nominale superata o diodo lento con PWM ad alta frequenzaScegli l'1N5408 da 3 A, oppure uno Schottky / UF4007
Lo Zener si guasta prestoResistenza in serie assente o troppo piccolaCalcola R = (Vin − Vz) / I e controlla la potenza dello Zener
La lettura analogica deriva dopo aver montato il diodo di protezioneCorrente di dispersione del diodo o dello ZenerUsa uno Schottky di segnale (BAT54) e riduci le resistenze del partitore
Se vuoi tenere solo pochi tipi di diodo, questo trio copre quasi tutti i lavori: l'1N4007 per alimentazione e protezione in generale, l'1N4148 per segnali e piccoli relè, l'1N5819 per circuiti a batteria e basse perdite. Aggiungi una bustina di Zener da 3,3 V e una da 5,1 V e il tuo kit di base è completo.

Il diodo è uno dei componenti più semplici all'apparenza e più utili dell'elettronica: indirizza la corrente in un solo verso, protegge il circuito, trasforma l'alternata in continua e, come LED, fa luce. Quando avrai preso l'abitudine di leggere il verso dalla fascia, di tenere conto della caduta di tensione e di aggiungere un diodo di ricircolo ai carichi induttivi, brucerai molti meno componenti nei tuoi progetti. Nell'app BlueGrays trovi progetti con LED, relè, motori e irrigazione, con schemi passo per passo e codice pronto, per vedere con i tuoi occhi dove vanno i diodi nei circuiti reali.

Domande frequenti

A cosa serve un diodo?

Un diodo lascia passare la corrente in un solo verso, dall'anodo al catodo. Per questo si usa per trasformare l'alternata in continua (raddrizzamento), proteggere un circuito da una batteria collegata al contrario, sopprimere i picchi di tensione di relè e motori e, nel caso dello Zener, limitare una tensione a un valore fisso. Anche il LED è un diodo che emette luce.

Qual è il positivo di un diodo?

Il positivo è l'anodo e il negativo è il catodo. Il catodo è indicato da una fascia sul corpo, e nel simbolo dello schema la barra verticale rappresenta il catodo. Perché il diodo conduca, l'anodo deve essere circa 0,7 V più positivo del catodo; nei LED il terminale lungo è l'anodo.

Che differenza c'è tra diodo e LED?

Entrambi fanno passare la corrente in un solo verso; il LED è un diodo speciale che emette luce mentre conduce. La sua tensione diretta va da 1,8 a 3,4 V a seconda del colore e in inversa sopporta solo circa 5 V. Per questo un LED non si usa come raddrizzatore e va sempre collegato con una resistenza in serie.

Che differenza c'è tra diodo Zener e diodo normale?

Un diodo normale blocca la corrente in inversa e si rompe se si supera la sua tensione massima. Uno Zener conduce di proposito in inversa a una tensione precisa (per esempio 5,1 V) senza danneggiarsi, e così limita la tensione a quel valore. Si collega in inversa, con il catodo al positivo, e sempre con una resistenza in serie.

Come capire se un diodo è guasto?

Imposta il multimetro sulla prova diodi e appoggia il puntale rosso sull'anodo e quello nero sul catodo. Un diodo al silicio sano indica 0,5–0,7 V, e invertendo i puntali compare OL. Un valore vicino a zero in entrambi i versi indica un cortocircuito, OL in entrambi i versi un diodo interrotto.

Quanti ampere e quanti volt regge l'1N4007?

L'1N4007 è un diodo raddrizzatore al silicio che porta una corrente diretta media di 1 A e sopporta una tensione inversa ripetitiva di 1000 V. La sua tensione diretta è al massimo 1,1 V a 1 A e regge picchi singoli di 30 A. Per correnti maggiori si usa l'1N5408 da 3 A.

Vedi tutti i progetti
LED lampeggiante
#1Principiante

LED lampeggiante

Il primissimo ciao dell'elettronica: accendere e spegnere un solo LED. L'Arduino accende e spegne il LED a intervalli brevissimi, così la luce lampeggia veloce. Vedi nel modo più semplice come la sche

4.6(179)
977
LED Lampeggiante con ESP32
#103Principiante

LED Lampeggiante con ESP32

Insegna l'uso di base delle uscite GPIO con l'ESP32. Otteniamo un effetto lampeggiante accendendo e spegnendo un LED dal pin digitale. Versione ESP32 del classico progetto blink su Arduino UNO; i comandi di base di blink nell'ambiente Arduino sono gli stessi, ma la disposizione dei pin e i livelli GPIO a 3,3 V dell'ESP32 sono diversi da quelli di Arduino UNO.

4.7(36)
96
Accensione di un LED esterno con Raspberry Pi Pico (GP14 + breadboard)
#148Principiante

Accensione di un LED esterno con Raspberry Pi Pico (GP14 + breadboard)

Il passo successivo dopo il LED integrato di Pico: collegare un LED esterno alla breadboard e controllarlo tramite il pin GP14. Con questo progetto imparerai come utilizzare qualsiasi pin GPIO generico del Pico come uscita, la polarità del LED (stelo lungo = anodo/+, stelo corto = catodo/–) e perché è indispensabile un resistore di limitazione della corrente (220 Ω). Se non inserisci il resistore, l’LED riceverà una corrente eccessiva e potrebbe bruciarsi. Il circuito è molto semplice: Pico GP14

4.5(2)
7
Lampadina 220V con pulsante (Push)
#19Avanzato
Premium

Lampadina 220V con pulsante (Push)

Finché tieni premuto il pulsante, una vera lampadina da 220 volt resta accesa, e si spegne appena lo lasci. Il piccolo segnale dell'Arduino non può accendere la lampadina direttamente, quindi in mezzo

4.4(30)
38
Accendere una lampadina 220V con il telecomando
#21Avanzato
Premium

Accendere una lampadina 220V con il telecomando

Accendi e spegni una vera lampadina di casa con un telecomando, senza alzarti dal divano. L'Arduino legge il segnale di luce invisibile del telecomando; il tasto di accensione fa scattare il relè e ac

4.4(22)
30
Stazione di irrigazione intelligente
#83Avanzato
Premium

Stazione di irrigazione intelligente

Un giardiniere che annaffia le tue piante da solo, così non si seccano mentre sei in vacanza. Un sensore di umidità misura quanto è bagnata la terra; quando diventa secca, l'Arduino accende la pompa d

5.0(42)
57
Auto controllata via Bluetooth con L298N
#80Avanzato
Premium

Auto controllata via Bluetooth con L298N

Trasforma il telefono in un telecomando e guida la tua auto robot. L'Arduino riceve tramite un modulo Bluetooth i comandi di un'app di controllo remoto sul telefono e fa girare le ruote con un driver

5.0(38)
65
Utilizzo del motore passo-passo
#67Intermedio
Premium

Utilizzo del motore passo-passo

Un motore che gira passo dopo passo, esattamente quanto vuoi tu, come la lancetta di un orologio. Tramite una scheda driver, l'Arduino fa compiere a un piccolo motore passo-passo un giro completo in u

4.5(31)
42