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.




Password di accesso con KeyPad 4×4 e Arduino – (Tinkercad)

Obiettivo: Utilizzo di un keypad 4×4 per l’accensione di un led mediante una relativa password di accesso (lunga 4 caratteri). Simulazione basata sull’utilizzo del software Tinkercad.

Componenti elettronici:

  • Non servono componenti elettronici hardware, basta il tuo PC ed una connessione ad internet.
  • http://tinkercad.com/

TeoriaIl keypad è un dispositivo elettronico costituito da un insieme di pulsanti disposti in un blocco o “pad” che riportano cifre, simboli o lettere alfabetiche. I keypad sono prevalentemente utilizzati nei dispositivi elettronici che richiedono principalmente input numerici come calcolatrici, telefoni a pulsante, distributori automatici, bancomat, serrature a combinazione e serrature digitali. .
Il keypad presente nel software di simulazione Tinkercad è un keypad 4×4 che presenta 16 tasti di cui 10 numerici (0,1,2,3,4,5,6,7,8,9) e 6 tasti alfanumerici (A,B,C,D,*,#). A seguire vengono riportate alcune immagini e tabelle utili per comprendere il funzionamento del keypad da un punto di vista elettronico.

Pin Number Description
ROW
1 PIN1 is taken out from 1st  ROW
2 PIN2 is taken out from 2nd  ROW
3 PIN3 is taken out from 3rd  ROW
4 PIN4 is taken out from 4th  ROW
COLUMN
1 PIN1 is taken out from 1st  COLUMN
2 PIN2 is taken out from 2nd  COLUMN
3 PIN3 is taken out from 3rd  COLUMN
4 PIN4 is taken out from 4th  COLUMN

Come riportato in tabella, un Keypad 4X4 è dotato di otto terminali dove quattro sono le righe della matrice e quattro invece le colonne. Attraverso questi 8 terminali è possibile comprendere quale tasto è stato premuto.
La struttura interna del keypad è riportata nella seguente figura:

Struttura interna del dispositivo

Nel caso in questione il keypad è utilizzato per accendere un led per 1 secondo quando una password lunga 4 caratteri è inserita nel modo corretto.

Collegamento Circuitale:

Collegamento Circuitale

Codice:

La gestione del keypad è facilitata grazie all’utilizzo della libreria <keypad.h>. Mentre la libreria è presente di default nell’applicativo Tinkercad, nel caso in cui il lettore voglia realizzare questo progetto con Arduino fisicamente è opportuno aggiungere la libreria manualmente al progetto.



Personalizzazioni:

E’ possibile aggiungere un display ed utilizzare un relè per implementare il controllo di una cassaforte.




Controllo di un LED Mediante Telecomando Infrarossi – (Tinkercad)

Obiettivo: Controllo ON/OFF di un LED mediante il telecomando ad infrarossi. Simulazione basata sull’utilizzo del software Tinkercad.



Componenti elettronici:

  • Non servono componenti elettronici hardware, basta il tuo PC ed una connessione ad internet.
  • http://tinkercad.com/

TeoriaIl telecomando è un dispositivo elettronico, sviluppato negli anni 50, che permette di inviare (ma non di ricevere) segnali ad un altro dispositivo situato a distanza per comandarlo.
In genere, i telecomandi tradizionali sono in grado di trasmette il segnale fino ad una distanza di circa 20 metri sotto forma di raggi infrarossi codificati.
Affinché il dispositivo da comandare possa ricevere i segnali inviati dal telecomando è necessario utilizzare un ricevitore ad infrarossi tipicamente fornito con il telecomando. La maggior parte dei ricevitori ad infrarossi in commercio sono dotati di 3 pin:

  • Alimentazione
  • Ground
  • Uscita

Il pin di uscita del ricevitore permette di inviare al microcontrollore (al quale è collegato il ricevitore) il segnale ricevuto dal telecomando. E’ importante considerare come ad ogni pulsante del telecomando sia associato un codice univoco. Tali codici variano in funzione dei vari telecomandi; pertanto prima di realizzare il programma finale è importante ottenere il valore del codice associato ai vari pulsanti.
Nel caso specifico di Tinkercad i codici associati ai vari pulsanti (ottenuti con il programma Arduino riportato in seguito) sono presentati nella seguente tabella:

Pulsante Codice
ON/OFF Button 16580863
UP Button 16601263
DOWN Button 16584943
Number 0 16593103
Number 1 16582903
Number 2 16615543
Number 3 16599223
Number 4 16591063
Number 5 16623703
Number 6 16607383
Number 7 16586983
Number 8 16619623
Number 9 16603303
STOP 16597183

Una volta ottenuti i codici è possibile attraverso il collegamento circuitale riportato in seguito scrivere il programma per comandare un LED attraverso il pulsante di ON/OFF

Collegamento Circuitale:

Schema Circuitale

Codice:

A seguire viene riportato il software utile per determinare i codici associati ad ogni pulsante del telecomando a IR.



Ottenuto il codice associato al pulsante desiderato è possibile modificare il software per comandare l’azionamento di un LED mediante telecomando a IR. Il programma è molto simile al precedente viene solamente aggiunta la parte di codice relativa alla gestione del LED ed una istruzione IF per determinare se il pulsante premuto è quello di ON/OFF. E’ importante infatti considerare che il LED si accenderà solamente quando il pulsante di ON/OFF è premuto.



Personalizzazioni:

E’ possibile aggiungere più LED e comandare i vari LED con i vari pulsanti del telecomando.




Comando di una Lampada Mediante Relè – (Tinkercad)

Obiettivo: Comando di una Lampada mediante un relè. Simulazione bastata sull’utilizzo del software Tinkercad.



Componenti elettronici:

  • Non servono componenti elettronici hardware, basta il tuo PC ed una connessione ad internet.
  • http://tinkercad.com/

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. Molti utilizzatori si chiedono pertanto come sia possibile comandare dispositivi più complessi rispetto a quelli presenti nei tradizionali kit base Arduino, come lampade, ventole, o stripline led. La risposta a questa domanda è legata ad un semplice dispositivo elettromeccanico denominato relè (in inglese relay): il quale può essere utilizzato come un interruttore (ad alta tensione) comandato elettronicamente. 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 una lampada a 230volts mediante Arduino è una procedura particolarmente semplice. Il primo passo è quello di collegare, mediante il contatto normalmente aperto del relè, la lampada ad una sorgente di alimentazione esterna (come ad esempio la rete elettrica di casa). In seguito la bobina del relè viene collegata al pin digitale di Arduino impiegato per il controllo della lampada. 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 una lampada a 220Volts mediante una semplice tensione a 5Volts.

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 lampada. L’applicazione proposta è stata simulata mediante l’utilizzo del software di simulazione tinkercard. Tensioni elevate possono essere pericolose per la salute personale, pertanto l’impiego almeno in una fase iniziale di un simulatore rende questa operazione sicuramente più sicura. A seguire viene riportato lo schema elettrico ed il codice utilizzato per il comando della lampada mediante relè.

Collegamento Circuitale:

Schema Circuitale

Codice:

A seguire viene riportata la schematizzazione mediante flowchart dell’algoritmo utilizzato per realizzare il programma.

Flowchart



Personalizzazioni:

E’ possibile modificare il circuito utilizzando il pulsante come interruttore: la lampada deve rimanere accesa fino a quando il pulsante non viene premuto una seconda volta (Attenzione possibili problematiche di rimbalzo).




Tinkercad un simulatore Online per Arduino

Obiettivo: Utilizzare il simulatore online tinkercad per emulare l’ambiente Arduino facendo lampeggiare un led.

Componenti elettronici:

  • Non servono componenti elettronici hardware, basta il tuo PC ed una connessione ad internet.
  • http://tinkercad.com/

Pre-Requisiti

TeoriaIl microcontrollore Arduino ha molti vantaggi: economico, facile da utilizzare, costa poco. Tuttavia non sempre abbiamo a disposizione i sensori che ci interessano e che vorremmo utilizzare nelle nostre applicazioni, oppure non sempre abbiamo Arduino con noi. Per questo motivo l’impiego di un simulatore online può essere estremamente vantaggioso. Tra i vari simulatori uno dei migliori è sicuramente Tinkercad. Tinkercad è un programma di modellazione 3D, online che può essere eseguito direttamente in un web browser. Particolarmente utilizzato per la realizzazione di progetti di stampa 3D, questo software permette anche la simulazione di circuiti elettronici in ambiente Arduino.
Obiettivo di questa esperienza è simulare il circuito presentato nei pre-requisiti dove un Led collegato al pin 8 lampeggia con una frequenza di 1Hz (si accende e si spegne ogni secondo).

Simulazione CircuitaleCompletata la fase di registrazione, una volta effettuato il login, è possibile passare alla fase di simulazione dei circuiti elettrici semplicemente cliccando su Circuits.

Dalla schermata di simulazione è possibile selezionare i componenti necessari, nel caso in questione Arduino, attraverso il pannello dei componenti (questo pannello si trova nello schermo a destra).

In seguito è possibile aggiungere al pannello di simulazione Arduino con la corrispettiva breadboard.

E realizzare il circuito con led e resistenza indispensabili per la realizzazione di questo tutorial.

Completata la realizzazione hardware, al fine di garantire il funzionamento del circuito, è necessario caricare il software per il blinking del led sul controllore Arduino. Per inserire il codice, cliccare sul pulsante Code in alto a destra. E’ possibile programmare Arduino sia mediante blocchi (Scratch) sia mediante il tradizionale codice. Nel caso specifico, selezionata l’opzione text è possibile copiare e incollare il codice direttamente dall’esempio riportato nei pre-requisiti.

Terminata la programmazione del controllore si passa alla fase di simulazione cliccando sul pulsante Start Simulation.