ARDWARE #3 Porta Logica NOT 74HC04

Obiettivo: Utilizzare la porta logica NOT (74HC04)

Componenti elettronici:

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

TeoriaObiettivo di questa esperienza è imparare ad utilizzare una porta logica NOT (74HC04) 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 NOT.

NOT – TABELLA DI VERITA’

L’operatore NOT restituisce il valore inverso a quello in entrata. In seguito è riportata la tabella di verità dell’operatore NOT

A NOT A
1 0
0 1

NOT – SIMBOLO CIRCUITALE

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

Simbolo Circuitale

NOT – CIRCUITO INTEGRATO (74HC04)

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 74HC04 utilizzato per realizzare l’operazione logica NOT.

Questo circuito integrato permette di utilizzare 6 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,3,5,9,11,13 rappresentano gli input delle porte logiche, mentre i pin 2,4,6,8,10,12 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:

Schema elettrico

E’ facilmente verificabile che impostando l’input della porta logica a zero il led collegato all’uscita si accende, viceversa si spegne.

Tinkercad:



Codice:

Non serve codice.

Osservazioni:

  1. Prova a collegare più porte logiche in cascata.




ARDWARE #2 Logica booleana con interruttori

Obiettivo: Conoscere la logica booleana (NOT, AND, OR) utilizzando semplici interruttori

Componenti elettronici:

  • Arduino
  • Alcuni led
  • Alcuni interruttori a scorrimento (slideswitch)
  • Delle resistenze (100 Ohm) per non fare bruciare i LED

TeoriaObiettivo di questa esperienza è ricreare i semplici operatori logici (OR e AND) 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). Tali operazioni sono descritte da delle specifiche tabelle di verità.

NOT

L’operatore NOT restituisce il valore inverso a quello in entrata. In seguito è riportata la tabella di verità dell’operatore NOT nel caso di due entrate:

A NOT A
1 0
0 1

AND

L’operazione AND restituisce come valore 1 se tutti gli elementi hanno valore 1, mentre restituisce 0 in tutti gli altri casi. Tale operazione è anche detta prodotto logico. In seguito è riportata la tabella di verità dell’operatore AND nel caso di due entrate:

A B A AND B
0 0 0
0 1 0
1 0 0
1 1 1

OR

L’operazione OR restituisce come valore 1 se almeno uno degli input ha valore 1. 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

Nell’esempio trattato in questo articolo, sono stati utilizzati degli interruttori a scorrimento per realizzare semplici porte logiche AND e OR. Nello specifico, attraverso gli interruttori è possibile collegare/scollegare il LED alla alimentazione. Modificando la posizione dell’interruttore, il circuito si apre/chiude impedendo/permettendo il passaggio della corrente che permette di spegnere/accendere il LED.

Collegamento Circuitale:

Nella precedente rappresentazione sono riportati quattro differenti circuiti.

  • Circuito1: LED sempre acceso con resistenza per limitare il passaggio di corrente (utile ad evitare la rottura della lampada).
  • Circuito2: Utilizzo di un semplice interruttore a scorrimento per interrompere il flusso di corrente e accendere/spegnare il LED.
  • Circuito3: Realizzazione di una porta logica AND mediante la connessione serie di due interruttori. Nella seguente galleria di immagini sono riportate le differenti combinazioni di input per una porta logica AND realizzata con gli interruttori.

  • Circuito4: Realizzazione di una porta logica OR mediante la connessione parallelo di due interruttori. Nella seguente galleria di immagini sono riportate le differenti combinazioni di input per una porta logica OR realizzata con gli interruttori.

Codice:

Non serve codice.

Tinkercad:



Osservazioni:

  1. Prova a realizzare combinazioni di porte logiche utilizzando gli interruttori in serie o parallelo.




ARDWARE #1 I Led Arcobaleno

Obiettivo: Utilizzare Arduino come alimentatore per gestire 5 led arcobaleno (rosso, blu, arancione, giallo, verde)

Componenti elettronici:

  • Arduino
  • 5 led
  • 5 interruttori a scorrimento (slideswitch)
  • 5 resistenze (100 Ohm)

TeoriaObiettivo di questa esperienza è gestire 5 differenti led utilizzando Arduino come un semplice alimentatore. In questa esperienza, non c’è né codice né programmazione; i led sono gestiti nella vecchia maniera (old school) attraverso dei semplici interruttori che separano la lampada dalla rete di alimentazione.

Nell’esempio trattato in questo articolo, sono stati utilizzati degli interruttori a scorrimento i cui terminali sono collegati alla tensione di alimentazione (5 Volt) o alla massa (0 Volt). Modificando la posizione dell’interruttore, il morsetto centrale si collega ad una delle due tensioni di riferimento. Tale interruttore è collegato direttamente ad un LED (una semplice lampada che funziona con una tensione di 1,5 Volt). Una resistenza in serie al LED è indispensabile al fine di regolare la tensione e la corrente presente sulla lampada evitando di danneggiarla.

Collegamento Circuitale:

Codice:

Non serve codice.

Osservazioni:

  1. Il circuito non è completo, divertiti a completarlo.




ARDWARE #0 Come collegare le resistenze sulla Breadboard?

Obiettivo: Imparare come realizzare semplici circuiti resistiti sulla breadboard.

Pre-requisiti

Componenti elettronici:

  • Arduino
  • 2 resistori da 270 Ohm
  • 2 resistori da 150 Ohm

TeoriaObiettivo di questa esperienza è realizzare uno specifico circuito su breadboard utilizzando degli elementi resistivi e Arduino come alimentatore.

Osservando il circuito è facile riconoscere il collegamento serie degli elementi R1 e R2. Dove, R12 = R1+R2 = 300 Ohm

Il secondo collegamento circuitale osservabile è dato dal parallelo delle resistenze R12 e R4 = R12*R4/(R12+R4) = 142 Ohm

Infine è possibile calcolare la resistenza totale data dalla serie di R3 e R142 = 412 Ohm

Il precedente circuito può essere montato sulla breadboard utilizzando le seguenti modalità:

Esempio di collegamento Serie e Parallelo

Collegamento Circuitale:

Codice:

Non serve codice.

Verifica:

Utilizzare il metodo della resistenza equivalente per determinare le tensioni presenti su tutte le componenti resistive.




Le frecce dell’AUDI con Arduino

Obiettivo: Realizzare un sistema di controllo dei led che simula l’effetto delle frecce di un Audi. Le luci si accendono alla pressione di un pulsante.

Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 8 Resistenze da 220 Ohm per i led
  • 4 LED
  • 2 Resistenza da 10KOhm per i pulsanti
  • 2 Pulsanti

Pre-requisiti:


LED e Pulsante


TeoriaCome abbiamo detto, lo scopo dell’esercitazione è quello di attivare due barre LED tramite la pressione di due pulsanti. Le barre simulano l’effetto freccia presente nelle auto Audi. La pressione del pulsante dà il comando di avvio della sequenza e, se si tiene premuto il pulsante, la sequenza rimane attiva.

Sarà necessario sistemare il codice in base a come viene montato il pulsante (se in pull-up o in pull-down)

Collegamento Circuitale:

Codice:

Il codice è basato sulla lettura del segnale del pulsante (nel nostro caso in pull-down) che, se premuto, attiva la relativa sequenza



Esperienza realizzata dalla classe 3 BMC del Dipartimento di Meccanica dell’ITIS “E.Mattei” di Urbino nell’AS 2022-23. Codice e Thinkercad realizzato da Giacomo Brancorsini




Come utilizzare Android Explore IoT Kit con visualizzazione dati sul cloud

Obiettivo: Realizzare il primo sketch in grado di visualizzare dati sul Cloud

Come utilizzare Android Explore IoT Kit con visualizzazione dati sul cloud

Componenti:

  • Arduino MKR1010
  • MKT IoT Carrier, che a sua volta include:
    Sensore di temperatura
    Sensore di umidità
  • Cavo Micro USB

Link:


https://www.arduino.cc/
https://www.arduino.cc/education
https://create.arduino.cc/iot/things
https://create.arduino.cc/iot/dashboards/
https://create.arduino.cc/iot/dashboards/devices
https://create.arduino.cc/editor/




Come Utilizzare il Monitor Seriale per Determinare se un Pulsante Funziona

Obiettivo: Utilizzare il monitor seriale di Arduino per avviare una comunicazione dati Arduino-PC e comprendere se un pulsante funziona oppure no.

Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • Pulsante
  • Resistenza (1kOhm)

Prerequisiti


LED e Pulsante


TeoriaNon essendo disponibile un debugger per il controllore Arduino, l’utilizzo del monitor seriale rappresenta l’unica valida alternativa per comprendere i malfunzionamenti del codice scritto.
Il monitor seriale è uno strumento integrato nell’IDE di Arduino e nella piattaforma Tinkercad per visualizzare i dati ricevuti mediante comunicazione seriale.
La comunicazione seriale è una modalità di comunicazione tra dispositivi digitali nella quale i bit sono trasferiti lungo un canale di comunicazione uno di seguito all’altro. Nel caso specifico, la comunicazione avviene tra il Computer ed Arduino.
Le istruzioni per inviare messaggi da Arduino al Personal Computer sono due: Serial.begin e Serial.println

L’Inizializzazione della comunicazione avviene mediante l’istruzione:

Serial.begin(9600);

Questa istruzione deve essere inserita all’interno del corpo del setup e permette di impostare la comunicazione seriale definendo la velocità della comunicazione in bits per second (baud). 

La comunicazione vera e propria avviene invece mediante l’istruzione:

Serial.println(“Il valore del pulsante risulta:”);

Serial.println(valButton);

Nel primo caso viene stampato nel monitor seriale il testo: “Il valore del pulsante risulta:”. Mentre nel secondo caso viene stampato il valore della variabile valButton.
L’impiego delle println permette di capire il valore delle variabili e determinare il corretto funzionamento del circuito.
E’ possibile visualizzare i dati inviati da Arduino al PC cliccando sullo specifico tasto:

Pulsante per aprire il monitor seriale

Collegamento Circuitale:

Collegamento Circuitale

Codice: A seguire viene riportato il codice utilizzato per determinare se un pulsante è stato premuto oppure no. Questo permette di comprendere se un pulsante è stato montato in modo corretto. Nello specifico il codice utilizza la variabile di stato “valButton” per determinare lo stato del pulsante (premuto/non premuto).
Attraverso l’istruzione Serial.println(valButton) è possibile stampare sul monitor il valore della variabile.






Inversione di polarità tramite pulsante (Tinkercad)

Obiettivo: Invertire la polarità di un motore tramite pulsante (e relè DPDT)



Componenti elettronici:

  • Arduino
  • Relè DPDT
  • Pulsante
  • Motore DC 5V

TeoriaUno dei problemi frequenti che si incontra quando si prova a pilotare un motore elettrico è quello di invertigli il senso di marcia. In commercio esistono molte tipologie di schede che permettono facilmente di controllare il senso di rotazione e la velocità di un motore a corrente continua. La maggior parte di esse monta uno o più relè DPDT, il cui funzionamento è illustrato in figura:

Schema elettrico di un relè DPDT

Una volta eccitata la bobina, il relè apre il contatto NC tra i pin 6-7 e 3-2 e apre quelli NA 5-7 e 4-2. I contatti 7 e 2 sono i COMUNI.

Nell’esempio trattato in questo articolo, un pulsante controlla l’impulso dato alla bobina e, una volta cliccato, la eccita commutando il relè.

Collegamento Circuitale:

Codice:

A seguire viene riportato il codice utilizzato:



Osservazioni:

  1. Nel codice il pulsante è stato collegato al pin2 dichiarato come INPUT_PULLUP. Questa istruzione attiva sul pin la resistenza interna necessaria al funzionamento del pulsante.
  2. Quello che succede è che, una volta premuto il pulsante, i collegamenti in viola al motore cambiano la polarità: il collegamento disposto più in alto passa da negativo a positivo, mentre quello in basso passa da positivo a negativo.




Arduino Explore IoT Kit

Obiettivo: Unboxing del kit Educational di Arduino Explorer IoT Kit

Componenti:

  • Arduino MKR1010
  • MKT IoT Carrier, che a sua volta include:
    2 relé 24V
    Slot scheda SD
    5 pulsanti touch
    Connettori plug-and-play per diversi sensori
    Sensore di temperatura
    Sensore di umidità
    Sensore di pressione
    Sensore UV
    Accelerometro
    Display RGB 1.20″
    Slot per batteria ricaricabile Li-Ion 18650
    5 LED RGB
  • Cavo Micro USB
  • Sensore di umidità
  • Sensore a infrarossi passivo
  • Cavi plug-and-play per tutti i sensori
  • Accesso ad Arduino Create, una piattaforma online integrata che consente di scrivere codice, accedere a contenuti, configurare schede e condividere progetti
  • Accesso alla piattaforma online dedicata con tutte le informazioni, le attività e i contenuti per usare il kit
  • 10 lezioni hands-on passo-passo, che coprono tutti gli aspetti fondamentali legati all’IoT:
    Hardware
    Rete
    Algoritmi e programmazione
    Sicurezza
    Gestione dei dati
  • 10 sfide aperte

Link:


https://store.arduino.cc/explore-iot-kit
https://www.campustore.it/arduino-education-explore-iot-kit.html




Campanella Scolastica Azionata Mediante Relè e Pulsante

Obiettivo: Comando di una campanella scolastica mediante un relè ed un pulsante.



Componenti elettronici:

  • Arduino
  • Campana Scolastica (4.5V e 150mA)
  • Relè
  • Pulsante
  • Resistenza per pulsante (1kOhm)

TeoriaUno dei problemi principali di Arduino è legato alla impossibilità apparente di comandare dispositivi che richiedono tensione e/o correnti elevate. Infatti, è importante considerare che Arduino, attraverso le sue istruzioni di digitalWrite può generare su uno specifico pin in uscita una tensione massima di 5 Volt con una corrente pari a 70 milliAmpere.
Nel caso specifico della campana scolastica, la corrente richiesta per il corretto funzionamento del dispositivo è pari a 125mA. Pertanto la possibilità di azionare mediante Arduino la campanella è vincolata dall’utilizzo di un componente elettromeccanico aggiuntivo denominato relè (in inglese relay). Il relè infatti può essere utilizzato come un interruttore (ad alta tensione) comandato elettronicamente (mediante digitalWrite).
Da un punto di vista fisico, il relè è costituto da un elettromagnete (costituito da una bobina di filo conduttore elettrico, tipicamente rame, avvolto intorno ad un nucleo di materiale ferromagnetico). Al passaggio di corrente elettrica nella bobina, l’elettromagnete modificherà la posizione di un contatto mobile aprendo o chiudendo il circuito ad esso collegato. Il contatto aperto quando la bobina non è alimentata prende il nome di normalmente aperto (NO); mentre, l’altro contatto, quello chiuso prende il nome di normalmente chiuso (NC).

Esempio di funzionamento di un relèa

Da un punto di vista elettronico, utilizzare un relè per comandare la Campanella scolastica mediante Arduino è una procedura particolarmente semplice. Il primo passo è quello di collegare, mediante il contatto normalmente aperto del relè, la campanella ad una sorgente di alimentazione esterna (come ad esempio il pin a 5Volt di Arduino il quale permette di erogare una corrente massima di circa 500mA). In seguito la bobina del relè viene collegata al pin digitale di Arduino impiegato per il controllo della campanella. Questo ci permette di modificare la posizione del contatto mobile del relè attraverso l’istruzione di digitalWrite con la quale la bobina può essere o non essere eccitata. In questo modo è possibile comandare la campana mediante una semplice istruzione.

Datasheet del Relè LU-5-R presente in Tinkecad

Nel caso specifico, l’impiego di un pulsante permette di controllare l’attivazione della bobina e quindi il controllo della campanella.
A seguire viene riportato lo schema elettrico ed il codice utilizzato per il comando della lampada mediante relè.

Collegamento Circuitale:

Codice:

A seguire viene riportato il codice utilizzato:



Personalizzazioni:

E’ possibile introdurre un RTC per programmare l’orario della campanella.