Indice |
Introduzione
Riprendiamo gli esperimenti con i dispositivi di base dell'elettronica digitale cercando di realizzare un semplice semaforo. Analizzeremo tutti i passaggi necessari partendo dall'idea di ciò che intendiamo realizzare per arrivare, attraverso opportuni ragionamenti e semplificazioni, all'assemblaggio dei componenti su BreadBoard atti a simulare un impianto semaforico su due strade, quindi, con 2 semafori rappresentati da 2 terne di LED (verdi, gialli e rossi).
L'azionamento sarà, per ora, manuale con microinterruttori, giusto per verificare la correttezza dei collegamenti effettuati e la bontà di quanto escogitato.
Lo scopo di questo articolo, come i precedenti della stessa serie, è di permettere ai principianti di familiarizzare con i componenti elettronici attraverso la realizzazione di piccoli esperimenti, banali per i più esperti, ma entusiasmanti ed appaganti per chi li affronta per la prima volta.
L'idea
Semplicemente si vuole simulare un impianto semaforico posto all'intersezione di due strade: una principale che denoteremo con SP ed una secondaria che chiameremo SS. Quindi tale impianto sarà composto da due semafori che simuleremo con 2 terne di LED rossi, gialli e verdi.
Non ci vogliamo complicare la vita, per cui non prevediamo tempi differenti tra i due semafori e nemmeno tra le fasi di accensione e spegnimento dei tre colori, anzi, per ora, ci accontentiamo di un azionamento manuale con microswitch.
I componenti necessari per l'esperimento sono elencati in Appendice A e per quanto riguarda l'alimentazione ricordo che è necessaria una tensione di 5 V abbastanza precisa (non inferiore a 4,75 V e non superiore a 5,25 V). L'ideale è naturalmente un alimentatore da banco, se lo si possiede, ma va benissimo l'alimentatore di un PC (presentato in Elettronica Digitale Pratica - I) o, ancora, molto semplicemente un alimentatore universale opportunamente stabilizzato come mostrato in Appendice B.
Procediamo, dunque, vedendo come impostare questa idea per far funzionare i due semafori come ci aspettiamo che funzioni realmente col susseguirsi delle classiche fasi di verde/rosso, verde-giallo/rosso, rosso/verde e rosso/verde-giallo.
Come schematizzare l'idea
Quindi abbiamo 4 fasi, mettiamole in ordine:Fase | Semaforo Principale SP | Semaforo secondario SS |
---|---|---|
1 | verde | rosso |
2 | verde e giallo | rosso |
3 | rosso | verde |
4 | rosso | verde e giallo |
Questa tabella già costituisce uno schema embrionale del nostro dispositivo dove le fasi rappresentano gli ingressi ed i colori rappresentano le uscite. Per realizzare fisicamente gli ingressi e per distinguere le 4 situazioni occorrono solo 2 fili che indichiamo con A e B, mentre al posto della descrizione poniamo 1 sul colore acceso e 0 su quello spento:
Ingressi | Semaforo SP | Semaforo SS | |||||
---|---|---|---|---|---|---|---|
A | B | V | G | R | V | G | R |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 1 | 0 | 1 | 0 |
In soldoni abbiamo realizzato una tabella delle verità. Procediamo con la sintesi di questa tabella ricavando i mintermini nel prossimo paragrafo e se siamo fortunati ci basterà un solo tentativo.
Primo tentativo
Per come ricavare i mintermini ne ho già accennato in Elettronica Digitale Pratica - II, quindi passiamo subito al risultato:
Ingressi | Semaforo SP | Semaforo SS | |||||
---|---|---|---|---|---|---|---|
A | B | V | G | R | V | G | R |
0 | 0 | ![]() | 0 | 0 | 0 | 0 | ![]() |
0 | 1 | 0 | 0 | ![]() | ![]() | 0 | 0 |
1 | 0 | 0 | ![]() | 0 | 0 | 0 | ![]() |
1 | 1 | 0 | 0 | ![]() | 0 | ![]() | 0 |
Dove, però, notiamo che ci servirebbero una barca di porte AND nonché un sacco di porte NOT per le negazioni. Ci chiediamo: potremmo in qualche modo semplificare qualcosa? Proviamoci! Proviamo a vedere che succede se anziché utilizzare 2 ingressi, a rappresentare le 4 fasi, ne utilizzassimo 4.
Secondo tentativo
Fallito il primo tentativo con 2 ingressi proviamo con 4, sembrerebbe una complicazione ma vediamo che succede:
Ingressi | Semaforo SP | Semaforo SS | |||||||
---|---|---|---|---|---|---|---|---|---|
A | B | C | D | V | G | R | V | G | R |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 |
Ora, anziché ricavare i mintermini, osserviamo semplicemente che:
- con l'ingresso A possiamo alimentare direttamente il Verde di SP;
- con l'ingresso B possiamo alimentare direttamente il Giallo di SP;
- con l'ingresso C possiamo alimentare direttamente il Verde di SS;
- con l'ingresso D possiamo alimentare direttamente il Giallo di SS;
- ponendo in OR gli ingressi A e B possiamo innescare il Rosso di SS;
- ponendo in OR gli ingressi C e D possiamo innescare il Rosso di SP;
Bene, pare proprio una grande semplificazione: ora ci bastano 2 OR per gestire tutte le situazioni! Però gli ingressi vorremmo poterli gestire sempre con 2 fili e per far ciò ci aiuta un decoder o demultiplexer come il 74LS139 che con 2 ingressi produce esattamente le 4 uscite che ci occorrono. L'unico problema e che questo decoder ha le uscite attive basse e questo non ci voleva proprio: non ci resta che riprovare invertendo sia gli ingressi sia le uscite col terzo e, si spera, ultimo tentativo.
Terzo tentativo
In pratica riprendiamo la tabella precedente ed invertiamo tutti gli uno con gli zeri:
Ingressi | Semaforo SP | Semaforo SS | |||||||
---|---|---|---|---|---|---|---|---|---|
A | B | C | D | V | G | R | V | G | R |
0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 |
1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 1 | 1 |
1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
Anche qui evitiamo di considerare mintermini o maxtermini e, considerando solo gli zeri, notiamo che:
- l'ingresso A può innescare direttamente il Verde di SP;
- l'ingresso B può innescare direttamente il Giallo di SP;
- l'ingresso C può innescare direttamente il Verde di SS;
- l'ingresso D può innescare direttamente il Giallo di SS;
- il Rosso di SP vale zero (cioè si deve accendere) in corrispondenza di C e D;
- il Rosso di SS vale zero (cioè si deve accendere) in corrispondenza di A e B;
Orbene, siamo finalmente riusciti a sistemare il tutto:
- Possiamo sfruttare le uscite attive basse del decoder;
- Accendiamo i Verdi ed i Gialli direttamente;
- Ci bastano due AND per gestire i Rossi;
- Le uscite attive basse ci facilitano nella gestione dei LED sui quali potremo porre resistori di pull-up.
Non ci resta che impostare lo schema elettrico e passare al montaggio.
Lo schema elettrico
Per i collegamenti consultiamo per bene i datasheet dei due integrati, individuando la funzione di ogni singolo piedino e ricavando il seguente schema che più che essere uno schema elettrico è già uno schema di cablaggio:
Il montaggio
Infine:
- procediamo col montare i componenti (elencati in Appendice A) su BreadBoard,
- eseguiamo tutti i collegamenti come da schema,
- applichiamo agli ingressi del decoder un microswitch o il Logic Switch o semplicemente 2 cavetti dalla tensione e dalla massa per rappresentare rispettivamente l'1 e lo 0 logico,
- colleghiamo l'alimentazione,
- e proviamo tutte le 4 combinazioni verificando che i LED si accendano nella corretta sequenza.
Conclusione
Per il momento ci accontentiamo di azionare manualmente il semaforo attraverso il microswitch, ma nel prossimo articolo vedremo come automatizzare la sequenza attraverso un contatore.
Concludendo possiamo ritenerci soddisfatti nell'aver famigliarizzato con un nuovo dispositivo come il decoder che ci ha permesso di semplificare un circuito che, diversamente, avrebbe richiesto diverse porte logiche AND, OR e NOT complicando a dismisura la realizzazione.
Appendice A: componenti necessari
- 1 BreadBoard
- 1 Alimentatore 5 V in corrente continua da almeno 200 mA
- 6 LED (2 verdi, 2 gialli, 2 rossi)
- 1 Microswitch (se avete realizzato il Logic Switch presentato nell'articolo Elettronica Digitale Pratica - III ora vi trovate tutto pronto)
- 1 Rete resistiva da 470 ohm (in alternativa 6 resistori di analogo valore)
- 1 74LS139: decoder o demultiplexer
- 1 74LS08: 4 porte AND a 2 ingressi
- 3 Resistori da 4700 ohm
- 2 Condensatori da 330 nF
Appendice B: alimentatore stabilizzato
Un alimentatore da quattro soldi non fornisce una buona tensione stabilizzata sul valore nominale, ne a vuoto ne sotto carico, quindi, anche disponendo di un trasformatore con tensione nominale di 5 V non saremo mai sicuri della effettiva tensione fornita. Vale la pena, allora, adottare un regolatore di tensione come l'LM7805. Come di consueto reperiamo il suo datasheet e lo analizziamo.
Verifichiamo che eroghi corrente sufficiente per i nostri scopi:
Visualizziamo la disposizione dei piedini:
Cerchiamo con che tensione va a sua volta alimentato (vedere VI):
Cerchiamo se il datasheet propone uno schema sul suo utilizzo:
A questo punto ci basta reperire una basetta, montarci l'LM7805, collegare i 2 condensatori consigliati ed abbiamo un ottimo generatore di tensione a 5 V:
Se poi siamo scettici o curiosi verifichiamo con l'oscilloscopio cosa ci abbiamo guadagnato da tutto questo lavoro:
dove il segnale giallo si riferisce alla tensione in ingresso all'LM7805 e quello in blu alla tensione in uscita.
Notiamo come l'ingresso presenti oscillazioni da 200 mV con frequenza di circa 100 Hz, mentre l'uscita è molto più stabile. Insomma l'LM7805 fa egregiamente il suo lavoro!
Appendice C: indice precedenti articoli
Elettronica Digitale Pratica I - primi passi
Elettronica Digitale Pratica II - Rete Combinatoria
Elettronica Digitale Pratica III - Logic Switch & Indicator
Elettronica Digitale Pratica IV - Logic Analizer & clock
Elettronica Digitale Pratica V - Comparator & 7 segment Display