lunedì 30 agosto 2021

mercoledì 21 luglio 2021

Arduino N° 104 - Shock sensor - Sensore di urto, retriggerabile.

< Arduino N° 103         

 Achille De Santis

Arduino N°  105



Sensore di urto, o shock sensor, è utile per segnalare un evento o attivare un allarme.

Il dispositivo presentato ha l'ulteriore proprietà di 

  • spegnere l'avviso di evento dopo un certo tempo impostabile (tipicamente 5 secondi);
  • "retriggerare", cioè far ripartire il temporizzatore se un altro evento si presentasse prima dello scadere del tempo di ritardo;
  • il temporizzatore è NON-bloccante ed il controllore può continuare a svolgere altre funzioni.


Fig. 1: sensore di urto; 
Lo schema elettrico è banale e vi invito a ricavarlo da soli.

In fig 1 viene mostrato lo schema pratico di assemblaggio dei componenti necessari. 
Il pulsante simula il sensore di urto e può essere rimosso, una volta che si inserisca l'idoneo sensore.
Il segnale in ingresso è di tipo PULLUP e quindi il suo valore dovrà essere "normalmente alto" e commuterà verso lo zero in presenza di evento.  

Se necessario, si può invertire la logica con semplici modifiche HW/SW.

Buona sperimentazione!

Simulazione: 



Argomenti correlati: 

mercoledì 14 luglio 2021

Arduino N° 103 - Distributore automatico di bevande

< Arduino N° 102            

 Achille De Santis

Arduino N°  104



Semplice distributore automatico di bevande, gestito da microcontrollore.


Dall'idea di base è possibile aggiungere un attuatore per il posizionamento dei bicchieri, alcuni sensori per eventuali pagamenti in moneta, con possibilità di ritornare il resto.


Fig.1: schema di base del distributore automatico di bevande;

Il dispositivo potrebbe essere aggiornato con una scheda NFC (RF-id) a lettura/scrittura, con possibilità di ricarica locale, attraverso monete correnti da 5, 10, 20, 50 euroCent, oppure da 1, 2 euro.

In alternativa, si potrebbe prevedere il pagamento con carte di credito ricaricabili.
Il sistema deve necessariamente essere sicuro ma offre la possibilità di utilizzare schede ricaricabili fornite dal gestore, attraverso un circuito bancario autorizzato, oppure di utilizzare schede personali, già in possesso dell'utente.


Le soluzioni sono diverse ed ognuna richiede una analisi specifica delle "condizioni al contorno", dei dispositivi e dei circuiti di pagamento da coinvolgere, escludendo, finalmente, le "schede usa e getta" di ogni tipo (a scalare),  i dispositivi "custom" di ricarica e quant'altro.

mercoledì 7 luglio 2021

Arduino N° 102 - Capacitor Meter

< Arduino N° 101   

 Achille De Santis

Arduino N°  103




Come promesso nel precedente post riguardante il misuratore di resistenze, ecco qui un misuratore di capacità. Lo strumento è basato sul principio della carica elettrica immagazzinata sul condensatore sotto misura e sulla tensione da esso assunta. Lo schermo LCD fornisce la visualizzazione diretta dei valori rilevati.

Prestate attenzione ai collegamenti ed al montaggio ordinato dei componenti.

Fig. 1: layout di montaggio del capacimetro;

Valgono le solite raccomandazioni per ottenere uno strumento funzionale ed affidabile: alimentazione adeguatamente filtrata, montaggio ordinato e corretto, uso di capacità di fuga ecc...

mercoledì 30 giugno 2021

Arduino N° 101 - Resistor Meter

< Arduino N° 100

 Achille De Santis

Arduino N°  102





Questo è uno strumento didattico ma può anche essere utilizzato in campo semiprofessionale.

Fig. 1: Misuratore di resistenze;
Il dispositivo realizza un misuratore di resistenza elettrica.

Valgono le solite raccomandazioni per ottenere uno strumento funzionante ed affidabile: filtrare l'alimentazione, montaggio ordinato e corretto, uso di capacità di fuga ecc...

Al prossimo post vi proporrò un capacimetro. I due strumenti potrebbero essere integrati in un unico dispositivo, dal momento che hanno molti elementi in comune.

Buona sperimentazione!

mercoledì 23 giugno 2021

Arduino N° 100 - Comando seriale remoto per LED RGB

< Arduino N° 99

 Achille De Santis

Arduino N°  101


Fig 1: schema pratico di montaggio;
Questo esempio mostra come sia possibile inviare comandi sulla porta seriale di comunicazione.


Con due moduli Arduino (Uno, Nano) è possibile realizzare un dispositivo TX-RX di gestione seriale per LED RGB.

Il circuito può essere anche modificato per adattarlo alle proprie esigenze.

Il primo modulo (a sinistra, nella figura 1) viene usato come "Trasmettitore", il secondo (a destra, in figura) come ricevitore.

Tre ingressi analogici del modulo trasmettitore leggono i valori di tensione impostati in ingresso sui tre potenziometri, associati ai tre colori RGB.

I valori analogici vengono, poi, inviati sulla seriale e ricevuti dal secondo modulo, quello ricevitore, che li riconosce ed attua le tre uscite relative, formando il colore composito generato dai tre coefficienti primari utilizzati. Per fare questo, le tre uscite devono essere di tipo PWM; in particolare ho scelto le uscite PWM D3, ,D4, D5.

Le alimentazioni vanno separate ed associate ai rispettivi moduli; sul modulo TX verranno associati i potenziometri mentre su quello RX verrà associato il LED RGB.


Nel caso voleste alimentare più diodi LED il circuito di pilotaggio andrebbe modificato con un opportuno stadio driver/separatore, utilizzando tre BJT o MOSFET come amplificatori in configurazione "lineare".


La pagina di simulazione può essere molto esplicativa del funzionamento.

Le tre resistenze collegate in serie al rispettivo potenziometro servono per avere sul potenziometro tutta l'escursione della tensione per l'accensione del LED. Usando potenziometri rotativi da 300° l'accensione avviene entro una rotazione di circa 60-70°, lasciando altri 230° per la modulazione dei coefficienti tricromatici.

Fig. 2: Alimentazione separata per i due moduli;
Attenzione! Il firmware è diviso in due parti: una per il TX, l'altra per l'RX.

Inoltre, le due alimentazioni devono essere assolutamente separate! 
Del resto, se i due dispositivi sono sufficientemente lontani non può che essere così! In figura sono collegate insieme a puro titolo di prova. Quello che deve essere comune è soltanto la massa.

Il dispositivo si modifica come in figura 2:


Fig. 3: polarizzazione separata dei tre led RGB;


In figura 3 è riportato lo schema con una polarizzazione indipendente delle tre componenti RGB del LED.



Grazie a Gualtiero Piazzi per il costruttivo commento.

mercoledì 16 giugno 2021

Arduino N° 99 - Uso del BUZZER attivo e passivo

< Arduino N° 98

 Achille De Santis

Arduino N°  100


Mi sono deciso a scrivere queste note dal momento che su vari gruppi di Internet si leggono cose abbastanza fantasiose ed approssimative, che denotano la scarsa conoscenza degli argomenti dell'Elettronica di base.

Parliamo dei cosiddetti BUZZER cioè dei cicalini o "ronzatori".

Intanto, il termine viene già usato in modo improprio e si confondono i cicalini con gli altoparlanti. 

Dobbiamo infatti distinguere:

  • Buzzer passivi;
  • Buzzer attivi.

Il buzzer passivo non è altro che un piccolo altoparlante:  per generare il tono bisogna fornirglielo! La generazione del tono va fatta a monte. Il segnale immesso nell'altoparlante dovrebbe essere a valore medio nullo (senza la componente continua). Il circuito equivalente si può schematizzare con una induttanza, in serie ad una resistenza di bassissimo valore. La componente a tensione continua verrebbe corto-circuitata dalla bassa reattanza induttiva. Per l'accoppiamento interstadio è necessario utilizzare una "capacità di accoppiamento", per separare la componente continua che altrimenti andrebbe a scorrere nella bobina dell'altoparlante. Possiamo cambiare la frequenza del tono con ampio margine, agendo, a monte, sul generatore di tono.
Con Arduino si utilizzano le funzioni predefinite tone() e noTone, rispettivamente, per attivare e disattivare il tono. 


Fig. 1: inserimento della capacità di accoppiamento su buzzer passivo;


Fig 2: buzzer passivo, completo di circuito di pilotaggio a transistore; notate che è necessario pilotarlo con un segnale esterno ad onda quadra;


Il buzzer attivo, invece, è il vero "ronzatore"; basta alimentarlo con la giusta tensione ed il circuito interno genererà il tono. Non è possibile cambiare la frequenza del tono dall'esterno, poiché ne è prevista soltanto l'alimentazione; piccole variazioni si potrebbero ottenere soltanto cambiando la tensione di alimentazione, che ne renderebbe instabile il funzionamento. Il buzzer attivo NON ha bisogno del condensatore di accoppiamento, anzi, non va inserito altrimenti il circuito non può essere alimentato dalla necessaria tensione continua.

Con Arduino si utilizza l'istruzione digitalWrite() con argomento HIGH o LOW, per attivare l'alimentazione del buzzer. 

In entrambi i casi è opportuno l'uso di uno stadio separatore a transistore (BJT o MOSFET che sia). 

A questo punto qualcuno dirà, come è già capitato: "Se non inserisco il condensatore sull'altoparlante  (passivo) funziona ugualmente!". 

La risposta per il meccanico è: 
"Stai procedendo con una vettura senza olio: prima o poi il motore fonderà!".

La risposta per l'elettronico (o apprendista tale!) è: 
"Stai usando un diodo LED senza la resistenza di polarizzazione: prima o poi il led brucerà!"

Intelligenti pauca!
Fig. 3: cicalino piezoelettrico (piezo);

In ultimo, ci sono anche i cicalini "piezoelettrici", assimilabili ad un buzzer passivo. Invito il lettore a documentarsi in merito. Il cicalino piezo è un dispositivo passivo che sfrutta l'effetto piezoelettrico. Anche qui è necessario fornire il segnale di comando sotto forma di oscillazione alla frequenza audio voluta.
Il cicalino piezo lavora ad alta impedenza.

A questo punto, spero di aver chiarito qualcosa su questo argomento. 
Provate ed usate quello che vi fa più comodo!

Le applicazioni sono tante: monitor acustico per comandi ed attuazioni, segnalazione di eventi, segnalazione di allarmi, intermittenze, modulazione della nota di avviso per segnalare eventi diversi, sirene varie, note musicali ecc...

Nota: non pretendiate potenze assurde! Per ottenere potenze maggiori in uscita è obbligatorio l'uso di uno stadio amplificatore in bassa frequenza!


Simulazione:  AllarmeSirena italiana

Argomenti correlati:  sirena alla francese