Hardware

Pilotare dispositivi di potenza con Arduino

Qualche tempo fa ho cominciato a pensare di utilizzare Arduino per gestire tramite i propri pin di I/O dei dispositivi esterni. Mi sono quasi subito scontrato con un fatto del quale tutti i progettisti esperti sono sicuramente al corrente ma che per un maker alle prime armi non è per nulla scontato: per funzionare, qualsiasi dispositivo assorbe corrente.

circuito-di-potenza-atmega328-2n2222

Il secondo importantissimo fatto è che i pin di Arduino possono fornire solo una certa corrente in uscita, se il carico, ovvero il dispositivo che voglio alimentare, richiede più corrente di quella erogabile, il circuito relativo al pin in questione si danneggia. Inoltre, sempre parlando di correnti, la somma delle correnti in uscita dai pin di Arduino non deve superare un determinato valore pena, anche qui, il danneggiamento del microcontrollore che costituisce il cuore della nostra scheda preferita.

Ultimo ma altrettanto degno di nota è il fatto che le uscite hanno una tensione fissa di 5V che non sempre corrisponde alla tensione nominale di funzionamento del dispositivi che vogliamo controllare.

 

Resistenze, tensioni, correnti e potenze

Prima di poter continuare ho dovuto fare i conti con i parametri fondamentali che descrivono elettricamente un dispositivo e alcune regole dell’elettrotecnica che mettono in relazione questi parametri. Non voglio entrare nei dettagli  ma giusto annotare un paio di importanti concetti di base che devono sempre essere tenuti presenti quando si progetta un sistema elettrico/elettronico. (Non me ne vogliano gli esperti se per semplicità ho trascurato qualche particolare/dettaglio in favore della comprensibilità)

 

Legge di Ohm

E’ una legge fondamentale che nella sua semplicità racchiude tutto ciò che accade in un qualsiasi bipolo passivo lineare ideale in corrente continua (Lo so, a questo bipolo sono riferiti un sacco di aggettivi strani, un giorno, se a qualcuno interesserà ne parleremo). Si enuncia così:

V = R * I

Dove V è la tensione ai capi del bipolo, I la corrente che lo attraversa e R la sua resistenza.

Solitamente, nella pratica, R è data e dipende  dalle caratteristiche costruttive del bipolo che stiamo alimentando (nel nostro caso il dispositivo che vogliamo controllare, anche detto carico). Altrettanto solitamente la tensione nominale di alimentazione V è data. Questo ci porta a dire che la corrente I che scorrerà nel nostro dispositivo quando alimentato alla sua tensione nominale di alimentazione sarà:

I = V / R

Da questa seconda equazione si deduce anche un’altra importantissima cosa: la tensione (o differenza di potenziale) è la causa, la corrente è l’effetto. Per i nostri ragionamenti vale quindi questa regola: imposta un differenza di potenziale tra due punti tra i quali esiste una certa resistenza, scorrerà una certa corrente.

 

Potenza in corrente continua

La seconda legge che serve per capire cosa succede quando si collegano i carichi a delle sorgenti di alimentazione è quella che consente di calcolare le potenze. Si enuncia così:

P = V * I

Cioè la potenza P dissipata/erogata da un bipolo è pari al prodotto della tensione ai suoi capi per la corrente che lo attraversa.

Sempre semplificando un po’, a seconda del tipo di dispositivo, parte della potenza può essere trasformata per compiere il compito per cui il dispositivo è stato concepito e parte verrà dispersa in calore (secondo un parametro detto rendimento). La parte che viene dissipata in calore è quella che, se non correttamente gestita, determina in vario modo e misura guasti ai dispositivi. Non per niente si dice che un certo dispositivo è bruciato!!!

 

Superare i limiti operativi di Arduino

La prima cosa da capire è quindi quali siano le correnti massime prelevabili dai singoli piedini e quale sia il limite massimo di corrente assorbibile da tutti i piedini di output contemporaneamente attivi. I datasheets del ATmega328 ci offrono molte informazioni tra cui anche quelle che stiamo cercando:

  • Corrente massima in uscita da un piedino di output: 40 mA
  • Somma delle correnti in uscita massima: 200 mA

Sembrano correnti veramente basse! Ed in effetti facendo ricorso alle equazioni viste sopra: a una tensione di 5V significa una potenza massima di 0,2W per pin e 1W totali. Giusto per fare qualche esempio un piccolo motore DC alimentato a 5V assorbe facilmente 250mA o la bobina di un relay tipo lo Zettler AZ8222-2C-5DSE assorbe 40 mA.

Tradotto in altri termini questo significa che non possiamo collegare ad Arduino carichi che assorbano potenze superiori a quelle massime erogabili da ciascun pin e da tutta la scheda pena la distruzione del microcontrollore.

interruttore-controllatoFigura 1: interruttore controllato

 

Per superare questi limiti si utilizzano le uscite come segnali di controllo per pilotare degli “interruttori controllati” o  “comandati” posti tra l’alimentazione principale e il carico da controllare. Quando l’uscita è alta, cioè +5V, l’interruttore è chiuso e collega il carico alla alimentazione (acceso); Quando l’uscita è bassa, cioè 0V, l’interruttore è aperto ed il carico è scollegato dall’alimentazione (spento).

 

Il transistor come interruttore

Il modo più semplice di realizzare in elettronica un “interruttore comandato” è quello di utilizzare un transistor in commutazione ovvero un transistor che lavori nelle zone di saturazione/interdizione. In queste zone infatti il dispositivo si comporta in modo molto simile ad un interruttore facendo passare tutta la corrente possibile o bloccandola completamente tra due dei sui tre piedini in funzione del segnale applicato tra il terzo piedino ed un piedino comune.

transistor npn

Figura 2: Transitor con base B, collettore C e emettitore E
(fonte 2N2222A datasheet – STMicroelectronics)

 

Con riferimento alla figura, il piedino comune è detto emettitore ed è collegato a massa, il piedino al quale applicare il segnale proveniente dal pin di controllo è detto base, il pedino a cui collegare un terminale del carico (nello schema rappresentato da Rc) è detto collettore (l’altro terminale del carico sarà collegato alla alimentazione).

Fig. 3

Figura 3: Transistor come interruttore

Quando il segnale di controllo applicato alla base è positivo (HIGH logico), passerà tra base e emettitore una corrente positiva che, se sufficientemente grande, porterà il transistor in saturazione. Quando il transistor si trova in questo stato la tensione tra collettore e emettitore tende a zero, e tutta la tensione di alimentazione è applicata al carico.

Viceversa quando il segnale di controllo applicato alla base è zero (LOW logico), tra base e emettitore non scorrerà corrente e il transistor lavorerà in interdizione. Quando il transistor si trova in questo stato tutta la tensione di alimentazione “cade” tra collettore e emettitore e il carico risulta non alimentato.

Figura 4

Figura 4: Transistor collegato ad Arduino con Rb

 

Affinché la corrente che passa nella base del transistor sia sufficiente per portare il dispositivo in saturazione ma non troppo intensa da danneggiarlo è necessario porre tra il pin di controllo e il terminale di base un resistenza. Il suo calcolo è abbastanza semplice.

 

Calcolo Rb

Per calcolare la resistenza di base si procede a ritroso partendo dalla analisi della parte di circuito relativa al carico. Innanzitutto si deve determinare la corrente che scorrerà attraverso il carico, e quindi attraverso il collettore, quando il transistor sarà in saturazione:

Ic = (Vcc - Vcesat) / Rc

La corrente di collettore sarà pari alla tensione presente sul carico (Vcc – Vcesat dove Vcc è la tensione di alimentazione e Vcesat è la tensione tra collettore e emettitore del transistor quando si trova in saturazione – dato disponibile sui datasheets del componente) diviso la resistenza del carico.

Una volta nota la corrente di collettore possiamo calcolare la corrente di base sapendo che Ic = hfe * Ib (dove Ib è la corrente di base e hfe il guadagno del transistor come da datasheets) quindi:

Ib = Ic / hfe

A questo punto si può analizzare il circuito di ingresso considerando la tensione del segnale di controllo, nel nostro caso 5V (valore alto di una uscita digitale di Arduino) la tensione tra emettitore e base Vbe (che si trova sui datasheets) e la corrente Ib desiderata e calcolata al passo precedente. Dato che:

Ib = (Vpin - Vbe ) / Rb

avremo che:

Rb = (Vpin - Vbe) / Ib

Questa è la resistenza massima da utilizzare sulla base del transistor per assicurare che vada in saturazione (cioè quella che garantisce una Ib sufficiente alla saturazione). Valori di resistenza minori comportano Ib maggiori e quindi una maggiore sicurezza di far lavorare il transistor nella zona corretta.

 

Esiste però un limite inferiore dettato da due parametri fondamentali:

  • La corrente massima erogabile da un pin di Arduino
  • La corrente massima assorbibile dalla basse del transistor

Chiamando il valore minore tra i due Ib(max) avremo che:

Rb(min) = (Vpin - Vbe) / Ib(max)      dove Ib(max) = Ic(max) / hfe

Il valore finale di Rb  dovrà essere compreso tra Rb e Rb(min) e scelto in funzione della serie di resistori a disposizione (ad esempio E12).

 

Esempio di calcolo

Vediamo concretamente come calcolare la resistenza di base nel caso in cui vogliamo alimentare un piccolo motore DC la cui tensione di alimentazione è 5V e la resistenza interna è di 20 Ohm con un transistor 2N2222 usato come interruttore.

Figura 5

Tabella: transistor 2N2222, estratto datasheets
(fonte 2N2222A datasheet – STMicroelectronics)

 

I dati sul transistor che ci interessano e che sono disponibili sui datasheets del componente sono i seguenti:

  • Vcesat = 0.3 V
  • Vbesat = 0.6 V
  • hfe = 100
  • Ic(max) = 600 mA

I dati del motore necessari per il calcolo sono invece:

  • Ic = 250 mA

Quindi:

Ib = 250 mA / 100 = 2,5 mA

da cui:

Rb = (5 V - 0.6 V) / 2,5 mA = 1760 Ohm

 

 

Nota sull’esempio:
I motori sono carichi induttivi che richiedono alcuni accorgimenti ulteriori per evitare che correnti di scarica possano circolare in modo incontrollato nel transistor e causarne la rottura. Per evitare queste correnti anche dette di fly-back è necessario posizionare un diodo ai capi del carico induttivo con il catodo collegato al terminale connesso all’alimentazione e l’anodo collegato al terminale connesso al collettore del transistor. Questo vale anche per gli esempi successivi in cui si utilizzano relay (che al loro interno hanno un elettromagnete, cioè un induttanza) per aumentare la potenza del carico comandato.

diodo_flyback_antiparallelo

Figura 5: Diodo Flyback (antiparallelo) su carico induttivo

 

Transistor a doppio stadio

Nel caso in cui le correnti di collettore siano tali da non poter utilizzare un transistor BJT semplice come il 2N2222 è possibile passare a componenti capaci di sopportare correnti più elevate. Il problema dei transistor più potenti è che necessitano di correnti di base maggiori di quelle erogabili da Arduino. La soluzione è utilizzare uno schema a due stadi collegati come in Figura 6.

Figura 6

Figura 6: Schema doppio stadio, configurazione darlington

 

Esistono componenti tipo i TIP120: coppia di transistor in configurazione darlington, che realizzano questa configurazione in un unico dispositivo.

 

MOSFET, una alternative ai BJT

Se i transistor bipolari (BJT) sono una ottima scelta quando le correnti richieste dal carico rimangono nell’ordine delle centinaia di mA (600mA/800mA ) e le tensioni di alimentazione intorno alle decine di volts (20V/30V), per correnti nell’ordine degli A (1A/10A) e tensioni introno al centinaio di V iniziano ad essere interessanti i MOSFET.

mosfetFigura 7: simblo e aspetto di un MOSFET

 

A differenza dei BJT che si comandano in corrente, i MOSFET sono comandati in tensione e questo nel campo dei microcontrollori TTL può costituire un problema dato che solitamente la tensione necessaria per farli andare in conduzione è dell’ordine dei 10V, di gran lunga maggiore dei 5V a cui lavora Arduino.

 

ResistenzaDrainSource-IRL54
Figura 8: Dati su resistenza Drain-Surce a Vgs=5V
(Fonte: datasheet Vishay)

Esistono fortunatamente dei MOSFET tipo l’IRL540 che sono appositamente progettati per andare in ‘OnState’ con una tensione Vgs  in ingresso di 5V.

L’altra grande differenza riguarda la frequenza alla quale far lavorare il componente: mentre un BJT può essere spinto senza troppi accorgimenti a frequenze dell’ordine dei 100kHz, un MOSFET già a qualche kHz necessita di particolari accorgimenti. Solitamente però, nella applicazioni a micocontrollore, questo aspetto non è un problema.

MOSFET in parallelo

A differenza dei BJT i MOSFET possono essere collegati in parallelo e quindi permettono una soluzione ‘scalabile’ che consente cioè di gestire correnti maggiori semplicemente aumentando il numero di dispositivi impigati.

 

Uno sguardo alle applicazione in AC

Fino ad ora abbiamo considerato applicazioni in corrente continua. Esistono però numerose applicazioni in cui il carico di potenza è un dispositivo che funziona in corrente alternata.

Una buona soluzione per gestire carichi in corrente alternata tramite un microcontrollore è l’utilizzo di un TRIAC.

triacFigura 9: Simbolo e aspetto di un TRIAC

 

Per potenze ancora maggiori

Il passo successivo è quello di utilizzare al posto di un secondo stadio a semiconduttore come nel caso del tipo120, un relay.

Figura 7

Figura 10: relay

 

In questa configurazione il transistor garantisce la potenza necessaria per comandare la bobina del relay la quale comanda a sua volta dei contatti meccanici. Per quanto riguarda il carico, in questo caso, l’interruttore comandato è a tutti gli effetti un interruttore.

 

Figura 8

Figura 11: Arduino comanda relay

 

Se non è ancora abbastanza si potrebbe pensare di utilizzare un relay a 5V per comandare un contattore, tipo l’Hager ES224 o ES424 al quale collegare il carico finale.

Una tipica applicazione in cui applicare un modello di questo tipo è il controllo di sistemi di riscaldamento/raffrescamento degli ambienti.

 

Nota sulle applicazioni in alta tensione

Gli ultimi esempi sono stati inclusi in questo articolo per completezza ma sono volutamente generici perchè riguardano applicazioni che richiedono conoscenze specifiche nella manutenzione degli impianti elettrici in alta tensione. Intervenire su impianti in alta tensione senza adottare le necessarie precauzioni comporta rischio di folgoramento e di morte, quindi attenzione!

 

Trade off potenza/velocita’/costo

Le tre soluzioni proposte sopra: transistor, transistor doppio stadio e relay hanno ovviamente ambiti di applicazione molto diversi identificati soprattutto dai fattori: potenza, velocità di commutazione e costo.

Per quanto riguarda la potenza gestibile abbiamo visto che cresce passando dal transistor semplice, al doppio stadio al relay.

Anche per quanto riguarda il costo dei componenti la progressione segue lo stesso ordine: la soluzione transistor+relay è la più costosa, soprattutto per la presenza del relay, il doppio stadio una via intermedia e il transistor semplice la più economica.

Per quanto riguarda la velocità di commutazione l’ordine è invece l’inverso: il più veloce è il transistor singolo. Segue il doppio stadio. Chiude la classifica il relay che a causa delle componenti meccaniche ha tempi di commutazione limitati dalla fisicità dei contatti che si devono muovere.

 


Commenti

24.05.2014 Nicola

Ciao dovrei pilotare dei display 7 segmenti con arduino 1 ma non i classici standard ma quelli un po piu grandi quindi il carico per i pin di arduino sara piu alto dei classici 40ma massimi...cosa mi consigli di interporre tra il pin che comanda i segmenti e i led?

27.05.2014 Silvio Marzotto

Ciao Nicola, dipende molto dal tipo di display che vuoi usare e in particolare dalla corrente effettivamente necessaria per accendere i led dei segmenti. Se è solo poco più alta puoi pensare a un driver tipo il TLC5916. Se è minore di 600mA puoi usare il 2A2222 come nell'esempio che ho fatto sopra. Altrimenti puoi passare ai TIP (magari con un bel dissipatore) che funzionano praticamente nello stesso modo; sui datasheets trovi tutti i dettagli per il dimensionamento. In lina di massima collga l'anodo del led a +Vcc tramite una resistenza adatta [R=(Vcc-Vd-Vcesat)/Id], il catodo al collettore del transistor, l'emettitore del transistor a massa. La base del transistor la colleghi tramite una resistenza, vedi sopra per calcolarla, al pin dell'Arduino. Stai anche attento al fatto che dalla USB si possono assorbire massimo 500mA! Quindi la Vcc per l'alimentazione dei led va presa direttamente da una fonte di alimentazione esterna e non dal pin 5V di Arduino. Una cosa che mi sento di consigliarti è di dare una occhiata ai drivers per display 7 segmenti integrati che ti permettono di controllare fino a 8 cifre e si collegano a Arduino via SPI usando quindi solo 4 pin contro gli 8+n.Cifre per controllarli direttamente. Ultima cosa: per ridurre la potenza totale istantanea impiegata per l'accensione delle cifre potresti pensare di accendere ciclicamente in rapida succesione i singoli display sfruttando la persistenza della visione dell'occhio. In questo modo avresti un solo display acceso per volta.

05.07.2014 Matteo

Ciao! volevo farti una domanda... ma se io voglio essere sicuro di andare in saturazione e utilizzo una resistenza che mi garantisca comunque di stare dentro i limiti di corrente dei pin di Arduino e del transistor stesso non ho poi una corrente di collettore maggiore che andrà poi limitata tramite resistenza?

11.07.2014 Silvio Marzotto

Ciao Matteo, in linea di massima si. Vale sempre V=RI, dove in questo caso V=Vcc. Dipende dal carico che devi gestire. Se fosse un motore, per esempio, che funziona alla tensione Vcc, la risposta sarebbe no. Se invece fosse un LED si. Il transitor si comporta come un interruttore, quindi valgono le regole che si userebbero in quel caso. Ciao.

04.05.2015 Diego

Ciao Silvio,il blog è ancora attivo?Volevo porti alcune domande,ho un progetto che vorrei realizzare con Arduino ma non so se si può fare;spero tu possa rispondermi.

04.05.2015 Silvio Marzotto

Ciao Diego, si, il blog è attivo. Se vuoi contattami in pvt, trovi la mia mail nella pagina 'Come mai Arduino e 0ex.it'. Silvio

15.07.2015 Alessandro G.

Grazie, sei stato chiarissimo!

06.10.2015 MRG

Buongiorno Silvio. Ti faccio anzitutto i complimenti per la chiarezza espositiva. Volevo poi chiederti un parere. Mi trovo nella condizione di dover pilotare un elettromagnete di tipo EMP. Sulla scheda tecnica il dispositivo indica una tensione di esecuzione standard di 24V (dissipa al massimo 1,5W) e io d'altra parte ho proprio quella tensione di alimentazione fornita da un alimentatore. L'elettromagnete deve andare sullo stato ON o OFF solo a determinate condizioni, indicate dal segnale ALTO/BASSO di arduino. Non so se la soluzione che proponi con il BJT possa essere fattibile per questa applicazione. Spero tu possa darmi un mano. Grazie.

06.10.2015 Silvio Marzotto

Ciao MRG, si la logica è esattamente la stessa degli esempi qui sopra; se non ho fatto male i conti la corrente statica nel carico dovrebbe essere 62.5mA (magari verificala con un amperometro) quindi gestibile col 2N2222A e anche la Vce0 è ok. Magari valuta anche un mosfet tipo l'IRL540 che è un classico per le applicazioni a microcontrollore perchè è controllabile direttamente con i 5V tipici del TTL, ha una resistenza D/S bassa che riduce la potenza dissipata sul dispositivo (che è proporzionale alla corrente che lo attraversa e alla sua resistenza) e quindi può commutare correnti più alte. Data la natura induttiva del carico ricorda anche il diodo di ricircolo.

06.08.2016 MaxChinni

Grazie per l'ottimo articolo.

26.11.2016 Vbaz

Ciao Complimenti per le spiegazioni. Vorrei chiederti, se possibile , una consulenza: Ho 1 strip led rgb da 1mt con anodo comune e vorrei comandarla con arduino. Sto usando 1 tip 132 x colore 1resist 1kohm da arduino al pin 1 1resist 10kohm dal pin 1 a gnd Pin 2 alla striscia led Pin 3 a massa +12vdc al comune della strip led. Ho provato con un paio di sketch...ma nessun risultato visivo. Ho sbagliato qualcosa nel dimensionamento elettronico? Saluti Vale

27.11.2016 Silvio Marzotto

Ciao, servirebbe avere i datasheets della striscia led. Se la striscia led va alimentata in tensione a 12V come si suppone dai tuoi collegamenti potrebbe esserci un problema dato dalla Vce(sat) del TIP. Per verificare la parte elettronica puoi provare a scollegare l'Arduino e mettere a +5V la resistenza di base (il lato che andrebbe collegato ad Arduino) rispetto a massa (comune per tutti). Se la parte elettronica funziona puoi provare a caricare "blink" (è negli esempi dell'IDE) e collegare la resistenza di base al pin 13 dell'Arduino, la strip dovrebbe lampeggiare come il led "L" che c'è sull'Arduno. Fai attenzione nel caso l'alimentazione non sia in tensione alle resistenze per limitare la corrente da mettere sul collettore del tip. Se vuoi dai una occhiata all'articolo Strice LED RGB e Arduino: primi esperimenti che ho scritto facendo un po' di prove per risponderti ;)

28.11.2016 Vbaz

Ciao Tks x la pronta risposta https://www.sparkfun.com/products/12023 Il collegamento è come da te riportato nell'articolo. ... ma la luce risulta di bassa intensità, sia da prg sia se bypasso arduino e porto i 5vdc in base. Se invece collego i 12 v alla striscia, l'intensità è corretta.... che possano essere i tip132 che non conducono al meglio? Vale

30.11.2016 Silvio Marzotto

Purtroppo non ho sotto mano il TIP132... per provare ho usato un TIP120 che è simile ma non identico. Se hai un multimetro prova a verificare la corrente di base, potrebbe non essere sufficiente per andare in saturazione. Nel caso puoi abbassare la Rb (resistenza di base). Fai attenzione a non scendere troppo e quindi salire troppo con la Ib perchè dal pin di Arduino è meglio non assorbire più di 20/25mA. Se puoi cambiare componente magari valuta l'utilizzo di un MOSFET (ttl compatibile).

28.11.2016 michele

ciao Silvio, complimenti per l' ottima spiegazione che hai scritto, ma ho una domanda forse un po' stupida da chiederti: nella prima formula Ic=(Vcc-Vcesat)/Rb Rb dove lo trovo?? la mi intenzione è di gestire un motore da 12 volt 0,120A con arduino attraverso un transistor PN2222A. Grazie mille.

30.11.2016 Silvio Marzotto

Ic=(Vcc-Vcesat)/Rc: la Rc è la resistenza del carico. E' data dal dispositivo che andrai ad alimentare. Nel caso dei motori la questione è abbastanza articolata perchè il circuito equivalente di un motore comprende oltre a una resistenza anche un induttanza e un generatore di tensione che dipende dalla velocità di rotazione. Quello che interessa comunque in questo caso sono gli 0,12A che sono poi quelli che (circa) passeranno dal collettore, quindi direttamente la Ic.

04.12.2016 Vbaz

Ciao, Problema RISOLTO :) :) ho rifatto da zero i collegamenti, avrò sicuramente sbagliato qlc. Quindi ora la strip led RGB funziona in dissolvenza x le 4 fasi del presepio... TKS Mi potresti cortesemente dare un link a cui chiedere come far accendere 4 led in sequenza casuale? Non vorrei che si accendano tutte allo stesso momento. .. troppo banale; ) Infine, se nel LOOP ho dei cicli FOR, sarebbe possibile far girare un motore passo-passo ?  Temo che il for non mi faccia girare il "mulino" . Saluti  Vale

24.12.2016 Nico

Ciao spulciando qua e la in cerca di soluzioni varie mi è capitato di trovare il tuo articolo molto interessante tra l'altro premetto che non sono un tecnico nemmeno un programmatore solo un semplice appassionato che da qualche giorno ha comperato una scheda arduino con l'idea di poterla sostituire a quella del cancello automatico che causa maltempo e fritta tra l'altro irreperibile troppo vecchia e mi sono scontrato come leggevo nel tuo articolo con la scarsa potenza di arduino potresti aiutarmi a capire come adattare arduino a tale scopo? il motore del cancello e alimentato a 12V e sulla scheda fritta erano montati 2 relay da 20A purtroppo questi sono gli unici dati certi che ho ringraziandoti anticipatamente ti saluto e porgo gli auguri per le festività

07.04.2019 Antonio stefan

complimenti... ottime spiegazioni

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

In questo articolo abbiamo parlato di

Ne abbiamo parlato anche in...

Arduino RGB Led strip controller

Hardware Realizzazioni Software

Arduino RGB Led strip controller

29.11.2017 di Silvio Marzotto2 commenti

Dopo i primi esperimenti con le strisce Led RGB ecco un progetto completo per la realizzazione di un controller dotato di ricetivore infrarossi per la gestione tramite telecomando e una serie di effetti luminosi preprogrammati selezionabili dall’utilizzatore.

Alimentare correttamente ATmega328

Hardware

Alimentare correttamente ATmega328

12.02.2012 di Silvio Marzotto19 commenti

Uno dei principali aspetti da tenere in considerazione quando si lavora con microcontrollori e circuiti digitali è la corretta alimentazione. I problemi più comuni che si potrebbero verificare sono legati innanzitutto […]