ARDWARE #14 Sintesi di Circuiti Logici – Somma di Prodotti

Obiettivo: Imparare a sintetizzare il comportamento di un circuito combinatorio partendo da una specifica tabella di verità mediante la somma di prodotti.

Componenti elettronici:

  • Porte Logiche (i.e., AND, OR, e NOT)

TeoriaUn circuito combinatorio è costituito da una serie di porte logiche opportunamente collegate tra loro con l’obiettivo di implementare una specifica funzione logica. Alcune delle porte logiche più utilizzate nell’ingegneria dell’informazione sono le porte: AND OR e NOT.

Maggiori informazioni in merito a queste porte logiche possono essere reperite nei seguenti link.


ARDWARE #3 Porta Logica NOT 74HC04



ARDWARE #5 Porta Logica OR 74HC32



ARDWARE #4 Porta Logica AND 74HC08


Le principali operazioni associate ad una rete logica sono due:

  • Analisi di una rete logica: dato un circuito combinatorio vengono determinate la funzione logica e la tabella di verità.
  • Sintesi di una rete logica: data la tabella di verità viene determinato il circuito combinatorio che implementa la rete.

La tecnica illustrata nel corso di questa lezione per effettuare la sintesi di una rete logica viene denominata Somma di Prodotti e consiste in una procedura algoritmica che può essere facilmente applicata a tutte le differenti tabelle di verità.
Nello specifico, la SOMMA DI PRODOTTI (SoP – Sum of Product) è costituita dalla somma logica dei mintermini associati alle righe della tabella nella quale l’uscita assume valore 1.
Nel dettaglio un mintermine è definito come il prodotto logico delle variabili booleane prese in forma diretta o negata a seconda se assumono valore 1 o 0.
A seguire la tabella dei mintermini.

A B C Mintermine
0 0 0 A B C
0 0 1 A B C
0 1 0 A B C
0 1 1 A B C
1 0 0 A B C
1 0 1 A B C
1 1 0 A B C
1 1 1 A B C

In analogia alla tabella di verità, è importante considerare che date n variabili di input il numeri di mintermini è pari a 2n.

Esempio:
Al fine di illustrare in dettaglio il processo di somma di prodotti viene riportato un esempio specifico partendo dalla seguente tabella di verità:

A B C Y
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 0

1) Si prendono in considerazione solamente le uscite pari ad 1 della tabella di verità, per ogni uscita si prendono i mintermini di riferimento.

Input: 0 1 1 -> Mintermine: A B C

Input: 1 0 0 -> Mintermine: A B C

2) Si sommano i mintermini precedentemente determinati per determinare la funzione logica che implementa la tabella di verità di partenza.

Y: A B C + A B C

3) Si rappresenta la rete logica che implementa la funzione logica precedentemente determinata.

Circuito combinatorio di sintesi

Esercizi di Approfondimento:

Vengono in seguito riportati alcuni esercizi che possono essere facilmente eseguiti al fine di comprendere se i concetti presentati sono stati opportunamente acquisiti. Pertanto si chiede di determinare la rete combinatoria legata alle seguenti tabelle di verità:

  • Esercizio 1
A B C Y
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0
  • Esercizio 2
A B C Y
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0



ARDWARE #12 Analisi di Circuiti Logici – Circuito Combinatorio

Obiettivo: Imparare ad analizzare il comportamento di un circuito combinatorio costituito dalla connessione di più porte logiche.

Componenti elettronici:

  • Porte Logiche (i.e., AND, OR, e NOT)

TeoriaUn circuito combinatorio è costituito da una serie di porte logiche opportunamente collegate tra loro con l’obiettivo di implementare una specifica funzione logica.
E’ importante considerare che le reti logiche combinatorie sono quelle reti in cui lo stato d’uscita dipende solamente dal valore degli ingressi assunto in quel determinato istante.

Al fine di poter analizzare un circuito combinatorio è opportuno conoscere il funzionamento delle singole porte logiche che costituiscono il circuito stesso.


ARDWARE #3 Porta Logica NOT 74HC04



ARDWARE #5 Porta Logica OR 74HC32



ARDWARE #4 Porta Logica AND 74HC08


Viene in seguito riportato un esempio di circuito combinatorio. Tale circuito sarà analizzato considerando tutte le possibili combinazioni di valori assunti dai differenti input del sistema con l’obiettivo di determinarne la tabella di verità della rete logica combinatoria.
Nello specifico il circuito presenta tre differenti ingressi: l’ingresso A, l’ingresso B e l’ingresso C. Pertanto le possibili combinazioni di valore assunte dai vari input del sistema sono 8 (2 elevato alla terza).

Circuito Combinatorio

Viene in seguito riportata la tabella di verità con tutte le possibili combinazioni di valori assunte dall’ingresso. Compito dell’operazione di analisi è determinare il valore Y assunto per ogni specifico valore dell’ingresso.

A B C Y
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

Come primo esempio sarà determinato il valore dell’uscita y quando A = 0, B = 0 e C = 0.

Circuito Combinatorio A = 0, B = 0, C = 0

Poichè l’ingresso della porta logica NOT1 risulta essere uguale a 0 il suo valore in uscita sarà pari ad 1. Le stesse considerazioni valgono per la porta logica NOT2. Considerando inoltre la tabella di verità della porta logica AND, l’uscita della porta logica AND1 risulterà essere uguale a 0 e di conseguenza anche l’uscita della porta logica AND2. In conclusione si può facilmente affermare che per l’ingresso A = 0, B = 0, C = 0, il valore dell’uscita Y è pari a 0.

Si analizzerà in seguito il valore dell’uscita per tutte le possibili combinazioni.

Circuito Combinatorio A = 0, B = 0, C = 1
Circuito Combinatorio A = 0, B = 1, C = 0
Circuito Combinatorio A = 0, B = 1, C = 1
Circuito Combinatorio A = 1, B = 0, C = 0
Circuito Combinatorio A = 1, B = 0, C = 1
Circuito Combinatorio A = 1, B = 1, C = 0
Circuito Combinatorio A = 1, B = 1, C = 1

Pertanto, dalla precedente analisi è facilmente determinabile la tabella di verità della suddetta rete logica

A B C Y
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0

Esercizi di Approfondimento

Vengono in seguito riportati alcuni esercizi che possono essere facilmente eseguiti al fine di comprendere se i concetti presentati sono stati opportunamente acquisiti. Pertanto si chiede di determinare le tabelle di verità delle seguenti reti combinatorie.

  • Esercizio 1
Esercizio 1
  • Esercizio 2
Esercizio 2
  • Esercizio 3
Esercizio 3



Antifurto con funzioni domotiche

Obiettivo: Realizzare un antifurto con funzioni domotiche, con annesso un secondo Arduino in collegamento seriale in grado di comandare un cancello scorrevole.
Progetto realizzato dallo studente Sanchini Simone, dell’Università Politecnica delle Marche

Componenti elettronici:

  • 2 Arduino UNO
  • 2 Breadboard
  • 4 Resistenze da 220 Ohm per i led
  • 4 LED
  • 6 Interruttori
  • 1 Resistenza (2.2kOhm) per Fotoresistenza
  • 1 Fotoresistenza
  • 2 Motori DC
  • 1 Piezo
  • 1 Sensore PIR
  • 1 Sensore IR
  • 1 Telecomando IR
  • 1 KeyPad 4×4

Pre-requisiti:

  1. Password di accesso con KeyPad 4×4 e Arduino – (Tinkercad)
  2. Crepuscolare (Smart Lamp)
  3. Controllo di un LED Mediante Telecomando ELEGOO
  4. Blinking Led Senza Delay: MILLIS()
  5. Collegamento Seriale Arduino (non trovato su Arduinofacile)
  6. Il Sensore di Presenza

Teoria

Come abbiamo detto, lo scopo dell’esercitazione è quello realizzare un antifurto con funzioni domotiche utilizzando poi un secondo Arduino in collegamento seriale in grado di comandare un cancello scorrevole.

ARDUINO 1:

 Attraverso il Keypad sarà possibile inserire tre tipi di codici diversi:

  1. 1234: permette di inserire l’allarme (Stato=1), al suo inserimento le finestre e la porta di casa devono essere chiuse, queste ultime vengono simulate da due interruttori. All’inserimento ci saranno 5 secondi di delay in modo di permettere all’utente di uscire e chiudere la porta, dopodiché le luci presenti (simulate dal led) vengono spente, le tapparelle abbassate e attraverso il collegamento seriale viene dato il comando al secondo Arduino di aprire il cancello. Lo stop delle tapparelle e del cancello avviene attraverso dei finecorsa (simulati da due interruttori).
  2. 1235: permette di togliere l’allarme (Stato=0), al momento del disinnesco, verranno aperte le tapparelle se giorno, oppure accese le luci se notte, utilizzando come riferimento il sensore crepuscolare.
  3. 1236: permette di inserire l’allarme notturno (Stato=2), con la differenza dal primo che in questo caso esso non tiene in considerazione dell’apertura delle finestre. Al momento dell’inserimento attraverso il collegamento seriale viene dato il comando al secondo Arduino di chiudere il cancello.

Indicazioni LED:

Rosso: allarme inserito;

Rosso-Verde: allarme notturno inserito;

Rosso-Giallo-Verde (lampeggio): codice errato;

Giallo: finestre/porta aperta;

Cosa succede in caso di apertura di finestre o porta quando il nostro allarme è inserito?

Il sistema passerà allo stato di intrusione (Stato=3), settando cosi un timer realizzato dalla funzione millis() di tempo t, nella quale è possibile inserire il codice di sblocco; In caso il codice di sblocco non è inserito entro il tempo limite la “sirena” inizia a suonare finché l’antifurto non verrà sbloccato.

La stessa cosa succede in caso di intrusione dalle finestre quando l’allarme notturno è inserito.

ARDUINO 2:

Il secondo Arduino permette di comandare un cancello attraverso o i comandi mandati dal primo, oppure attraverso un telecomando IR, con un solo pulsante (a causa di un problema di lettura di tinkercad).

Premendo il pulsante lo stato cambierà lo stato del cancello in base a quello precedente:

Stato=0 -> Cancello fermo;

Stato=1 -> Cancello in chiusura;

Stato=2 -> Cancello fermo;

Stato=3 -> Cancello in apertura;

Il cancello è fermato in apertura e chiusura da due finecorsa, simulati da due interruttori.

Se in fase di chiusura il sensore PIR rileva qualcosa il cancello torna allo stato di apertura.

Quando il cancello finisce l’apertura, premendo il finecorsa, parte un timer di tempo t, ed alla fine di esso il cancello torna in fase di chiusura automatica.

Collegamento Circuitale:

TINKERCAD:

https://www.tinkercad.com/things/3aMc1kLCsu0-definitivo-sanchini/editel?sharecode=_gcKkLKcUpJEY1lHHIETPlS8ldhHe4IcM9bkXZUF48k

Codice:






ARDWARE #11 Realizzare un SOMMATORE a 8 BIT

Obiettivo: Realizzare un SOMMATORE a 8 BIT utilizzando l’integrato 74H283. Un progetto realizzato dall’alunno della classe 1CSA del liceo Enrico Medi di Senigallia: Carlo Tozza.

Componenti elettronici:

  • Arduino
  • 8+8+9 led (utilizzati per visualizzare il valore dei due addenti e della somma risultante)
  • 16 interruttori a scorrimento (slideswitch utilizzati per gestire gli input)
  • 8+8+9 resistenze (100 Ohm) per non fare bruciare i LED
  • 2 circuito integrato 74HC283 (TTL serie)

TeoriaObiettivo di questa esperienza è realizzare un “SOMMATORE a 8 BIT” utilizzando il circuito integrato 74HC283. Nello specifico, Arduino è utilizzato come semplice generatore di tensione.

E” importante considerare che un “SOMMATORE a 8 BIT” può essere ottenuto come semplice composizione di SOMMATORI a 4 BIT.

Nello specifico, è importante considerare che un sommatore a 8 bit permette di effettuare somme con addendi che possono assumere un valore massimo decimale pari a 255.

Un esempio di somma a 8 bit è riportata in seguito.

8 7 6 5 4 3 2 1 0
Carry 1 1
A 1 0 0 0 0 0 1 1
B 0 1 1 0 1 0 0 1
Sum 1 1 1 0 1 1 0 0

In conclusione la somma di A: 10000011 e B:01101001 produce il seguente valore: 11101100.

Nell’esempio trattato in questo articolo, sono stati utilizzati 16 interruttori a scorrimento per gestire gli input del SOMMATORE a 8bit. Se l’interruttore è collegato ai 5 Volt l’input della porta logica è 1, differentemente se l’interruttore è collegato a 0 Volt l’input della porta logica è 0.

Collegamento Circuitale:

TINKERCAD:



E’ facilmente verificabile il comportamento del SOMMATORE a 8 bit modificando la posizione dei 16 differenti interruttori.

Codice:

Non serve codice.




ARDWARE #10 Realizzare un SOMMATORE a 4 BIT

Obiettivo: Realizzare un SOMMATORE a 4 BIT utilizzando l’integrato 74H283.

Componenti elettronici:

  • Arduino
  • 4+4+5 led (utilizzati per visualizzare il valore dei due addenti e della somma risultante)
  • 8 interruttori a scorrimento (slideswitch utilizzati per gestire i tre input)
  • 4+4+5 resistenze (100 Ohm) per non fare bruciare i LED
  • 1 circuito integrato 74HC283 (TTL serie)

TeoriaObiettivo di questa esperienza è realizzare un “SOMMATORE a 4 BIT” utilizzando il circuito integrato 74HC283. Nello specifico, Arduino è utilizzato come semplice generatore di tensione.

Un SOMMATORE a 4 bit è un dispositivo elettronico utilizzato per eseguire somme binarie. Tale dispositivo è realizzato mediante dispositivi FULL ADDER. Pertanto, al fine di comprendere il funzionamento di un “SOMMATORE BINARIO” si rimanda ad alcune delle lezioni precedentemente illustrate e utili a descrivere il comportamento dei circuiti logico-combinatori: HALF ADDER e FULL ADDER.

SOMMATORE BINARIO COME CASCATA DI FULL ADDER

Nelle precedenti lezioni, si è dimostrato come la somma di addendi con dimensione 1 bit possa essere eseguita mediante un FULL ADDER (un circuito elettronico che gestisce sia gli addendi A e B, sia un ipotetico riporto Cin).
Al fine di comprendere meglio il funzionamento di un sommatore binario a 4 bit si prenda in considerazione la seguente somma binaria riguardante due ipotetici addenti A e B caratterizzati dai seguenti valori:

A = 0011

B = 1001

Nello specifico è importante considerare che l’algoritmo utilizzato per eseguire la somma binaria è lo stesso tipicamente impiegato per eseguire somme decimali. Pertanto, dal bit meno significativo (il bit 0) verrà eseguita la somma parziale 1+1 la quale produce il seguente risultato: 10 (riporto: 1 e somma: 0).

4 3 2 1 0
Carry 1
A 0 0 1 1
B 1 0 0 1
Sum 0

A seguire, prendendo in considerazione il bit 1, verrà eseguita la somma parziale 1+1+0 la quale produce il seguente risultato: 10 (riporto: 1 e somma: 0).

4 3 2 1 0
Carry 1 1
A 0 0 1 1
B 1 0 0 1
Sum 0 0

Analogamente, prendendo in considerazione il bit 2, verrà eseguita la somma parziale 1+0+0 la quale produce il seguente risultato: 01 (riporto: 0 e somma: 1).

4 3 2 1 0
Carry 0 1 1
A 0 0 1 1
B 1 0 0 1
Sum 1 0 0

Infine, prendendo in considerazione il bit 3 (il bit più significativo), verrà eseguita la somma parziale 0+0+1 la quale produce il seguente risultato: 01 (riporto: 0 e somma: 1).

4 3 2 1 0
Carry 0 1 1
A 0 0 1 1
B 1 0 0 1
Sum 1 1 0 0

In conclusione la somma di A: 0011 e B:1001 produce il seguente valore: 1100.
Tuttavia, a prescindere dal risultato della somma, quello che si può facilmente notare è la gestione del carry (il riporto). Nello specifico esistono due tipologie di carry: il carry in uscita (ovvero il risultato dell’operazione) ed il carry in ingresso (uno degli addendi dell’operazione). Al termine di ogni singola sotto-operazione il carry in uscita diventa carry in ingresso per l’operazione successiva. Pertanto da un punto di vista elettronico un sommatore a 4 bit può essere facilmente realizzato come cascata di 4 FULL ADDER dove il carry in uscita di ogni singolo FULL ADDER è collegato direttamente al carry in ingresso del dispositivo successivo.

Viene riportato in seguito lo schema a blocchi di un SOMMATORE a 4 bit.

Sommatore a 4 bit

Nell’esempio trattato in questo articolo, sono stati utilizzati 8 interruttori a scorrimento per gestire gli input del SOMMATORE a 4bit. Se l’interruttore è collegato ai 5 Volt l’input della porta logica è 1, differentemente se l’interruttore è collegato a 0 Volt l’input della porta logica è 0.

Collegamento Circuitale:

TINKERCAD:



E’ facilmente verificabile il comportamento del SOMMATORE a 4 bit modificando la posizione degli 8 differenti interruttori.

Codice:

Non serve codice.




ARDWARE #9 Realizzare un FULL ADDER come combinazione di HALF ADDER

Obiettivo: Realizzare un FULL ADDER come combinazione di HALF ADDER

Componenti elettronici:

  • Arduino
  • 2 led (un led rosso per la somma ed un led verde per il riporto)
  • 3 interruttori a scorrimento (slideswitch utilizzati per gestire i tre input)
  • 2 resistenze (100 Ohm) per non fare bruciare i LED
  • 1 circuito integrato 74HC08 (TTL serie)
  • 1 circuito integrato 74HC32 (TTL serie)
  • 1 circuito integrato 74HC86 (TTL serie)

TeoriaObiettivo di questa esperienza è realizzare un “FULL ADDER” utilizzando porte logiche AND (74HC08), XOR (74HC86) e OR (74HC32). Nello specifico, Arduino è utilizzato come semplice generatore di tensione.

Un FULL ADDER è un sommatore binario realizzato attraverso la logica booleana. Nel caso specifico, questo sommatore rappresenta un evoluzione del semplice HALF ADDER presentando tre ingressi: A, B, Cin e due uscite: S (la somma di A + B + Cin) e Cout (il riporto della somma di A + B + Cin). A differenza di un HALF ADDER, il quale presenta due soli input (A e B), il FULL ADDER permette di eseguire operazioni reali che tengono in considerazione anche il riporto ottenuto da una precedente somma. Un FULL ADDER può essere ottenuto come combinazione di due HALF ADDER e di una porta logica OR. Pertanto, le principali operazioni logiche che implementano questo dispositivo sono 3: AND (prodotto logico), OR (somma logica) e XOR. Viene in seguito illustrato nel dettaglio il funzionamento di un FULL ADDER.

HALF ADDER – TABELLA DI VERITA’

La tabella di verità di un FULL ADDER può essere facilmente ottenuta sommando i tre ingressi A, B e Cin. La presenza dell’ingresso Cin è l’elemento fondamentale che contraddistingue un FULL ADDER da un HALF ADDER:

A B Cin Cout S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

HALF ADDER – SIMBOLO CIRCUITALE

Da un punto di vista grafico il dispositivo FULL ADDER è rappresentato mediante il seguente simbolo:

F-ullv Adder – Simbolo circuitale

FULL ADDER COMME COMBINAZIONE DI HALF ADDER

Osservando la tabella di verità si può comprendere come sia possibile utilizzare due HALF ADDER per ottenere un FULL ADDER.

Nello specifico

Schema circuitale di un FULL ADDER
Schema Circuitale di un FULL ADDER a porte logiche

Nell’esempio trattato in questo articolo, sono stati utilizzati tre interruttori a scorrimento per gestire gli input del dispositivo FULL ADDER. Se l’interruttore è collegato ai 5 Volt l’input della porta logica è 1, differentemente se l’interruttore è collegato a 0 Volt l’input della porta logica è 0.

Collegamento Circuitale:

Circuito Elettrico di un FULL ADDER

TINKERCAD:



E’ facilmente verificabile il comportamento del dispositivo FULL ADDER modificando la posizione dei tre differenti interruttori.

Codice:

Non serve codice.




ARDWARE #8 Realizzare un HALF ADDER a Porte Logiche AND e XOR

Obiettivo: Realizzare un Half Adder utilizzando le porte logiche AND e XOR.

Pre-Requisiti:


ARDWARE #6 Porta Logica XOR 74HC86


Componenti elettronici:

  • Arduino
  • 2 led (un led rosso per la somma ed un led verde per il riporto)
  • 2 interruttori a scorrimento (slideswitch utilizzati per gestire i due input)
  • 2 resistenze (100 Ohm) per non fare bruciare i LED
  • 1 circuito integrato 74HC86 (TTL serie)
  • 1 circuito integrato 74HC86 (TTL serie)

TeoriaObiettivo di questa esperienza è realizzare un “Half Adder” utilizzando porte logiche AND (74HC08) e porte logiche XOR (74HC86). Nello specifico, Arduino è utilizzato come semplice generatore di tensione.

Un Half Adder è un sommatore binario realizzato attraverso la logica booleana. Nel caso specifico, questo sommatore presenta due ingressi: A e B e due uscite: S (la somma di A e B) e C (il riporto della somma di A e B). Le principali operazioni logiche che implementano questo dispositivo sono 2: AND (prodotto logico) e XOR. Viene in seguito illustrato nel dettaglio il funzionamento di un Half Adder.

HALF ADDER – TABELLA DI VERITA’

La tabella di verità di un HALF ADDER può essere facilmente ottenuta sommando i due ingressi A e B. Ovviamente, poiché la somma di 1+1 in binario da come risultato 10 è importante considerare che tale dispositivo prevederà la presenza di due uscite: carry (riporto) e sum (somma senza riporto). Partendo da queste importanti considerazioni, è riportata in seguito la tabella di verità di un HALF ADDER a due ingressi:

A B C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

HALF ADDER – SIMBOLO CIRCUITALE

Da un punto di vista grafico il dispositivo HALF ADDER è rappresentato mediante il seguente simbolo:

Half Adder – Simbolo circuitale

HALF ADDER – SOMMA DI PRODOTTI

Osservando la tabella di verità si può facilmente comprendere come la colonna del carry è facilmente ottenibile mediante una semplice porta logica AND. Differentemente la colonna della somma è ottenuta sfruttando una porta logica XOR.

Nello specifico

Nell’esempio trattato in questo articolo, sono stati utilizzati due interruttori a scorrimento per gestire gli input del dispositivo half adder. Se l’interruttore è collegato ai 5 Volt l’input della porta logica è 1, differentemente se l’interruttore è collegato a 0 Volt l’input della porta logica è 0.

Collegamento Circuitale:

TINKERCAD:



E’ facilmente verificabile il comportamento del dispositivo HALF ADDER modificando la posizione dei due differenti interruttori.

Codice:

Non serve codice.




ARDWARE #7 Realizzare un HALF ADDER a Porte Logiche AND, OR e NOT

Obiettivo: Realizzare un Half Adder utilizzando le porte logiche AND, OR e NOT.

Componenti elettronici:

  • Arduino
  • 2 led (un led rosso per la somma ed un led verde per il riporto)
  • 2 interruttori a scorrimento (slideswitch utilizzati per gestire i due input)
  • 2 resistenze (100 Ohm) per non fare bruciare i LED
  • 1 circuito integrato 74HC32 (TTL serie)
  • 1 circuito integrato 74HC08 (TTL serie)
  • 1 circuito integrato 74HC04 (TTL serie)

TeoriaObiettivo di questa esperienza è realizzare un “Half Adder” utilizzando porte logiche AND (74HC08), porte logiche OR (74HC32) e porte logiche NOT (74HC04). Nello specifico, Arduino è utilizzato come semplice generatore di tensione.

Un Half Adder è un sommatore binario realizzato attraverso la logica booleana. Nel caso specifico, questo sommatore presenta due ingressi: A e B e due uscite S (la somma di A e B) e C (il riporto della somma di A e B). Le principali operazioni logiche che implementano questo dispositivo sono 3: AND (prodotto logico), OR (somma logica), NOT (complemento). Viene in seguito illustrato nel dettaglio il funzionamento di un Half Adder.

HALF ADDER – TABELLA DI VERITA’

La tabella di verità di un HALF ADDER può essere facilmente ottenuta sommando i due ingressi A e B. Ovviamente, poiché la somma di 1+1 in binario da come risultato 10 è importante considerare che tale dispositivo prevederà la presenza di due uscite: carry (riporto) e sum (somma senza riporto). Partendo da queste importanti considerazioni, è riportata in seguito la tabella di verità di un HALF ADDER a due ingressi:

A B C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

HALF ADDER – SIMBOLO CIRCUITALE

Da un punto di vista grafico il dispositivo HALF ADDER è rappresentato mediante il seguente simbolo:

Half Adder – Simbolo circuitale

HALF ADDER – SOMMA DI PRODOTTI

Utilizzando la tecnica della Somma di Prodotti (SOP) è possibile sintetizzare un HALF ADDER mediante porte logiche AND, OR e NOT.

Nello specifico la colonna del carry è facilmente ottenibile mediante una semplice porta logica AND. Differentemente la colonna della somma senza riporto è ottenuta sfruttando porte logiche NOT, AND e OR.

Half Adder – Schema circuitale

Nell’esempio trattato in questo articolo, sono stati utilizzati due interruttori a scorrimento per gestire gli input del dispositivo half adder. Se l’interruttore è collegato ai 5 Volt l’input della porta logica è 1, differentemente se l’interruttore è collegato a 0 Volt l’input della porta logica è 0.

Collegamento Circuitale:

E’ facilmente verificabile il comportamento del dispositivo HALF ADDER modificando la posizione dei due differenti interruttori.

Codice:

Non serve codice.




ARDWARE #6 Porta Logica XOR 74HC86

Obiettivo: Utilizzare la porta logica XOR (74HC86)

Componenti elettronici:

  • Arduino
  • 1 led
  • 2 interruttori a scorrimento (slideswitch)
  • 1 resistenza (100 Ohm) per non fare bruciare il LED
  • 1 circuito integrato 74HC86 (TTL serie)

TeoriaObiettivo di questa esperienza è imparare ad utilizzare una porta logica XOR (74HC86) utilizzando degli interruttori e Arduino come semplice generatore di tensione.

La logica booleana rappresenta quel ramo dell’algebra in cui le variabili possono assumere solamente due valori: vero e falso (valori che nelle discipline elettroniche diventano 1 e 0). Le principali operazioni logiche sono 3: AND (prodotto logico), OR (somma logica), NOT (complemento). Tuttavia esistono anche altre porte logiche minori che trovano applicazione in alcuni campi dell’elettronica. Queste porte sono NAND, NOR, XOR. In seguito viene illustrato nel dettaglio il funzionamento di una porta logica XOR.

XOR – TABELLA DI VERITA’

L’operazione XOR restituisce come valore 1 solo se gli input hanno un valore tra loro differente. Tale operazione è anche detta somma senza riporto. In seguito è riportata la tabella di verità dell’operatore XOR nel caso di due entrate:

A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

XOR – SIMBOLO CIRCUITALE

Da un punto di vista grafico la porta XOR è rappresentata mediante il seguente simbolo:

XOR Simbolo circuitale

OR – CIRCUITO INTEGRATO (74HC32)

Da un punto di vista elettronico le operazioni logiche sono implementate grazie all’utilizzo di un circuito integrato. A seguire viene riportata una porzione del datasheet dell’integrato 74HC86 utilizzato per realizzare l’operazione logica XOR.

Questo circuito integrato permette di utilizzare 4 differenti porte logiche. Per funzionare deve essere alimentato a 5 volt. Nel dettaglio, il pin 14 deve essere collegato a VCC mentre il pin 7 al ground (GND). I pin 1-2, 4-5, 10-9, e 12-13 rappresentano gli input delle porte logiche, mentre i pin 3, 6, 8, 11 gli output.

Nell’esempio trattato in questo articolo, è stato utilizzato un interruttori a scorrimento per gestire l’input della porta logica. Se l’interruttore è collegato ai 5 Volt l’input della porta logica è 1, differentemente se l’interruttore è collegato a 0 Volt l’input della porta logica è 0.

Collegamento Circuitale:

E’ facilmente verificabile il comportamento della porta logica XOR modificando la posizione dei due differenti interruttori.

Tinkercad:



Codice:

Non serve codice.

Osservazioni:

  1. Prova a realizzare reti combinatorie con più porte logiche XOR



ARDWARE #5 Porta Logica OR 74HC32

Obiettivo: Utilizzare la porta logica OR (74HC32)

Componenti elettronici:

  • Arduino
  • 1 led
  • 2 interruttori a scorrimento (slideswitch)
  • 1 resistenza (100 Ohm) per non fare bruciare il LED
  • 1 circuito integrato 74HC32 (TTL serie)

TeoriaObiettivo di questa esperienza è imparare ad utilizzare una porta logica OR (74HC32) utilizzando degli interruttori e Arduino come semplice generatore di tensione.

La logica booleana rappresenta quel ramo dell’algebra in cui le variabili possono assumere solamente due valori: vero e falso (valori che nelle discipline elettroniche diventano 1 e 0). Le principali operazioni logiche sono 3: AND (prodotto logico), OR (somma logica), NOT (complemento). In seguito viene illustrato nel dettaglio il funzionamento di una porta logica AND.

OR – TABELLA DI VERITA’

L’operazione OR restituisce come valore 1 se almeno uno degli ingressi ha valore 1, mentre restituisce 0 solo nel caso in cui entrami gli input siano 0. Tale operazione è anche detta somma logica. In seguito è riportata la tabella di verità dell’operatore OR nel caso di due entrate:

A B A OR B
0 0 0
0 1 1
1 0 1
1 1 1

OR – SIMBOLO CIRCUITALE

Da un punto di vista grafico la porta OR è rappresentata mediante il seguente simbolo (dove A e B rappresentano gli ingressi e Q l’uscita):

Simbolo circuitale porta logica OR

OR – CIRCUITO INTEGRATO (74HC32)

Da un punto di vista elettronico le operazioni logiche sono implementate grazie all’utilizzo di un circuito integrato. A seguire viene riportata una porzione del datasheet dell’integrato 74HC32 utilizzato per realizzare l’operazione logica OR.

Questo circuito integrato permette di utilizzare 4 differenti porte logiche. Per funzionare deve essere alimentato a 5 volt. Nel dettaglio, il pin 14 deve essere collegato a VCC mentre il pin 7 al ground (GND). I pin 1-2, 4-5, 10-9, e 12-13 rappresentano gli input delle porte logiche, mentre i pin 3, 6, 8, 11 gli output.

Nell’esempio trattato in questo articolo, è stato utilizzato un interruttori a scorrimento per gestire l’input della porta logica. Se l’interruttore è collegato ai 5 Volt l’input della porta logica è 1, differentemente se l’interruttore è collegato a 0 Volt l’input della porta logica è 0.

Collegamento Circuitale:

E’ facilmente verificabile il comportamento della porta logica OR modificando la posizione dei due differenti interruttori.

Tinkercad:



Codice:

Non serve codice.

Osservazioni:

  1. Prova a realizzare reti combinatorie con più porte logiche OR