KS0183 Multi-purpose Shield V1

La scheda  Multi-purpose Shield V1 codice KS1083 prodotta dalla Keyestudio è una scheda per l’apprendimento basata su Arduino. Non c’è bisogno di saldature o di eseguire collegamenti con cavi.
E’ sufficiente scaricare il programma demo o realizzare propri programmi, per completare i primi esperimenti.
Sullo shield sono presenti anche delle porte di estensione che aumentano il numero di esperimenti che possono essere eseguiti.

Multi-purpose Shield V1

Principali caratteristiche

NOTA: la scheda è venduta da vari siti, anche senza logo e la si può trovare in rete con vari nomi , di seguito ne sono riportati alcuni:

  • 9 in 1 sensor board Multifunction Expansion Board
  • Multifunction Expansion Board DHT11 LM35 For Arduino
  • Multifunction DHT11 LM35 Temperature Humidity Easy Module Shield for Arduino UNO

Il Multi-purpose Shield V1 è compatibile con le principali schede come UNO R3 e MEGA 2560. Sulla scheda troviamo:

  • Due led, uno rosso e uno blu collegati alle porte  D12 e D13 per mostrare lo stato del programma;
  • Due pulsanti connessi alle porte D2 e D3;
  • Sensore DHT11 per misurare la temperatura e l’umidità, connesso alla porta D4 (usa la libreria dht11.h )
  • Potenziometro connesso all’ingresso analogico A0;
  • Un buzzer passivo per allarme connesso alla porta D5;
  • Un LED RGB a colori con resistenze limitatrici connesso alle porte D9, D10, D11;
  • Una fotocellula per rilevare la luminosità della luce, connessa alla porta A1;
  • Un sensore di temperatura LM35D, connesso alla porta A2;
  • Ricevitore a infrarossi VS1838 per rilevare la funzione di ricezione IR con monitor rx Led1 (dati in=D6) (usa la libreria IRremote.h)
  • 2 connettori a tre pin connessi alle porte digitali (D7 e D8)
  • 1 connettore a tre pin connesso alla porta analogica (A3)
  • Un connettore a 4 pin per interfaccia IIC (GND, VCC, SDA, SCL);
  • Un connettore a 4 pin per interfaccia seriale TTL (TXD, RXD, VCC, GND)

Riassunto delle porte utilizzate e loro utilizzo

PortaDescrizione
D0Connettore Seriale TTL
D1Connettore Seriale TTL
D2Pulsante SW1
D3Pulsante SW2
D4Sensore DHT11
D5Buzzer
D6Ricevitore IR
D7Connettore 3 pin - Digitale
D8Connettore 3 pin - Digitale
D9Led RGB
D10Led RGB
D11Led RGB
D12Led rosso
D13Led blu
A0Potenziometro
A1Fotocellula
A2Sensore LM35D
A3Connettore 3 pin - Analogico
A4Connettore I2C
A5Connettore I2C
Ourpcb

Posizione dei dispositivi

Multi-purpose Shield V1

Come si collega il Multi-purpose Shield V1

Data la sua forma e la presenza dei connettori già saldati, l’installazione del Multi-purpose Shield V1 è molto semplice e sarà sufficiente inserire lo shield sulla scheda Arduino o un suo clone.
Occorre prestare  attenzione che i pin siano inseriti correttamente e premere delicatamente.

Multi-purpose Shield V1

Dove trovare la scheda

La scheda Multi-purpose Shield V1 si trova in vendita su molti siti, per esempio AliExpress  uno di questi è la versione Easy module Shied V1 di keyestudio con il riferimento alla pagina wiki relativa al prodotto codice Ks0183

Multi-purpose Shield V1

Schema elettrico delle scheda

Sotto è riportato lo schema della scheda (scarica pdf).
Nota: non si tratta dello schema originale ma una “ricostruzione” in base ai dati ricavati dalla scheda

Sensori e dispositivi presenti

Led di segnalazione

Programma di test

Pulsanti

Sulla scheda sono presenti due pulsanti SW1 e SW2 connessi alla porte digitali D2 e D3. Nel circuito sono presenti anche due resistenze di Pull-Up.
Vedere anche l’articolo KY-004 Key switch module

Programma di test

Il programma permette di testare i due pulsanti. La pressione del pulsante farà accendere il led posto al suo fianco, presente sulla scheda.

Sensore DHT11

Il sensore DHT11 è un sensore di temperatura e umidità con uscita dei dati in formato digitale. E’ di facile gestione con la scheda Arduino e schede simili.  (Vedere anche DHT22 AM2302 Sensore Temperatura Umidità).
Il sensore utilizza una tecnica digitale esclusiva che, unita alla tecnologia di rilevamento dell’umidità, ne garantisce l’affidabilità e la stabilità.
I suoi elementi sensibili sono connessi con un processore 8-bit single-chip.

sensore dht11 arduino

Ogni sensore di questo modello è compensato in temperatura e calibrato in un’apposita camera di calibrazione che determina in modo preciso il valore di calibrazione il cui coefficiente viene salvato all’interno della memoria OTP.
Le sue piccole dimensioni e il suo basso consumo, unite alla lunga distanza di trasmissione (20 m) permettono al sensore DHT11 di essere adatto per molti tipi di applicazioni.   Il package con quattro pin in linea ne rendono facile la connessione.
Vedere anche l’articolo KY-015 Temperature and humidity module

Caratteristiche sensore DHT11

Modello DHT11
Alimentazione 3-5.5V DC
Segnale di uscita digitale del segnale tramite single-bus
Elemento sensibile Resistenza in Polimero
Campo di misura umidità 20-90% di umidità relativa, temperatura di 0-50 gradi Celsius
Precisione umidità + -4% RH (Max + -5% di umidità relativa)  temperatura +-2.0 Celsius
Risoluzione o la sensibilità umidità 1% di umidità relativa, temperatura 0.1 Celsius
Ripetibilità umidità + -1% di umidità relativa temperatura +-1Celsius
Umidità isteresi + -1% RH
Stabilità a lungo termine + -0.5% UR / anno
Tempo di rilevazione medio: 2s
Dimensioni 12 * 15,5 * 5,5 millimetri

Foto del sensore DHT11

Libreria del sensore

Per la gestione si utilizza una libreria DHT11.h che ne semplifica l’utilizzo. La libreria è presente all’interno del file della documentazione fornita dal venditore, oppure da questo link.
Nota: prima di compilare il codice, ricordarsi di aggiungere le librerie necessarie all’interno della directory delle librerie di Arduino IDE .
Vedere anche articolo Arduino – Tutorial, come installare una libreria

Programma di test

Potenziometro

Il potenziometro è un dispositivo elettrico equivalente a un partitore di tensione resistivo variabile infatti una sua parte viene disposta in parallelo al carico utilizzatore.
Il partitore di tensione resistivo variabile è composto da due resistori collegati in serie, aventi la somma dei due valori di resistenza costante, ma di cui può variare il valore relativo.

Programma di test

Il programma di test leggerà il valore della tensione misurato dal potenziometro. Nell’intervallo 0-1023 e applicando la formula di conversione riporterà nella finestra del monitor seriale il valore di tensione in volt.

Buzzer passivo

Sulla scheda è presente un buzzer per l’emissione di segnali acustici. Il Buzzer ( in italiano cicalino), è un dispositivo audio di segnalazione, che può essere di tipo meccanico, elettromeccanico o piezoelettrico.
Il cuore dei segnalatori acustici piezoelettrici è un semplice disco piezoelettrico, consistente di una lastra ceramica e di uno strato metallico applicato.
Quando il disco viene pilotato da un circuito oscillatorio, si parla di un trasduttore piezoelettrico, quando il circuito oscillatorio è incorporato nella cassa si parla di un buzzer piezoelettrico.
Per non sovraccaricare la porta del processori, il buzzer è pilotato tramite un transistor NPN con la sigla J3Y (S8050 – datasheet), la cui base è alimentata tramite una resistenza di limitazione R13 da 1kΏ.
Vedere anche l’articolo Moduli buzzer attivi passivi: KY-006, KY-012, Ks0018, Ks0019

Programma di test

Una volta caricato il programma, ogni volta che si premerà il pulsante SW1, il buzzer emetterà un suono

Led RGB

Sulla scheda è presente un led RGB tipo 5050 (datasheet), all’interno del chip sono presenti tre led che emettono ognuno un diverso colore primario: rosso, verde e blu. Combinando opportunamente tra loro i colori si possono ottenere le altre tonalità. Ogni led è dotato della propria resistenza limitatrice. I tre pin di controllo sono D9, D10 e D11.
Vedere anche l’articolo KY-009 RGB LED SMD 

Programma di test

Fotocellula

Il sensore di luce è formato da una semplice fotoresistenza, questi dispositivi sono sensibili alle radiazioni luminose, essi sono costituiti da materiali semiconduttori leggermente drogati come Solfuro di Cadmio (CdS), Solfuro di Piombo (PbS), Selenio (Se) e Antimoniuro di Indio (InSb).
In commercio si possono trovare diversi modelli di fotoresistenza, quella utilizzata ha queste caratteristiche:

  • Resistenza (sensore illuminato) 1 K ohm, (sensore non illuminato) 10 K ohm
  • Massima tensione di lavoro 150 Vcc
  • Potenza dissipabile 100 mW
  • Dimensioni 2 x 4x 5 mm
  • Interasse Pins 4 mm

Nel circuito proposto, nel caso ideale, le due resistenze, di eguale valore, collegate come nello schema dividerebbero in parti uguali la tensione,  nel punto di giunzione e si misurerebbe una tensione che sarebbe la metà di quella di alimentazione.
Nel circuito reale uno dei due elementi è variabile e cambia in funzione della luce che lo irradia.
Quando la fotoresistenza è colpita dalla massima luce, al punto di giunzione, si troverà la massima tensione +5V; quando ci sarà buio al punto si otterrà V/2 = 5v / 2 = 2,5v.
La tensione di uscita è misurata tramite una porta A1
Vedere anche l’articolo KY-018 Photo resistor module

 

Programma di test

Il programma mostrerà nella finestra del monitor seriale, il valore della tensione  letta in Volt. All’interno del programma è inserita la formula che trasforma la misura in uscita dal convertitore analogico nel corrispondente valore di tensione.

Sensore LM35

Il sensore di temperatura LM35, presenta un contenitore di tipo TO92 analogo a quello di un normale transistor; necessita di un collegamento a una porta ADC per la lettura del valore di tensione fornito dal sensore, nel nostro caso è utilizzata la porta A2.
Il sensore si presenta con 3 terminali: uno per l’alimentazione, uno di massa e uno per l’uscita della tensione proporzionale alla temperatura rilevata che è pari a 10 mV per ogni grado centigrado, ed è calibrato in gradi Celsius.

Caratteristiche del sensore

Altezza5.2mm
Profondità4.19mm
Lunghezza 5.2mm
Package fornitore TO-92
FunzioneSensore di temperatura
Pin Count 3
Precisione±0.6°C
Sensibilità10 mV/°C
Temperatura massima100°C
Temperatura minima 0°C
Tensione tipica di funzionamento 4-30V
Tipo uscitaAnalogica

 

Programma di test

Il programma mostrerà nella finestra del monitor seriale il valore della temperatura misurata.
Al suo interno è inserita la formula che trasforma la misura della tensione nel corrispondente valore di temperatura.

IR Receiver

Il sensore per telecomando TSOP1836 ( o equivalente) è un ricevitore IR dotato di un filtro ottico che non permette il passaggio della luce eccetto che a quella di 980 nm di lunghezza d’onda al suo sensore a fotodiodo interno. Il rivelatore infrarosso ha anche un filtro elettronico che permette il passaggio solamente a segnali con una frequenza di 38 kHz, ma esistono anche sensori con frequenze che vanno dai 20 ai 40 kHz.
Analizziamo prima di tutto il loro funzionamento: nella foto sotto potete vedere lo schema a blocchi del ricevitore TSOP18XX.

Il segnale IR ricevuto, è prelevato dal diodo di rilevazione a infrarossi PIN, questo segnale è amplificato e limitato nel primo blocco di Input.
Nel blocco AGC il segnale è trattato in modo da ottenere un livello di impulso costante, indipendentemente dalla distanza del telecomando.
Il segnale AC è poi inviato al filtro Passa Banda (Band Pass) che è sintonizzato sulla frequenza di modulazione del telecomando.
Nel blocco demodulatore avviene la rilevazione della presenza della frequenza di modulazione e, se questa è presente, l’uscita sarà attivata e si avrà il segnale sul pin OUT.

Libreria del sensore

Per la gestione si utilizza una libreria IRremote.h che ne semplifica l’utilizzo. La libreria è presente all’interno del file della documentazione fornita dal venditore, oppure da questo link.
Nota: prima di compilare il codice, bisogna aggiungere le librerie necessarie all’interno della directory delle librerie di Arduino IDE .
Vedere anche articolo Arduino – Tutorial, come installare una libreria

Programma di test

Una volta caricato il programma, si dovrà aprire la finestra del monitor seriale. A questo punto premendo un tasto sul vostro telecomando, posto di fronte al sensore, dovrebbe apparire un numero.
Questo è il codice corrispondente al tasto premuto. Nel caso si tenga il tasto premuto troppo a lungo, appare un codice “FFFFFFFF”.

Connettori

Sulla scheda sono presenti alcuni connettori tipo pin strip maschio. La loro funzione è:

  • due connettori a 3 pin connessi alle porte digitali D7 e D8 a cui collegare per esempio sensori con uscita digitale, piccoli servomotori, relè, etc.
  • un connettore a 3 pin connesso alla porta analogica A3 a cui collegare per esempio sensori con uscita analogica.

  • un  connettore a 4 pin connesso alle porte D0 e D1 a formare una porta per realizzare connessioni di tipo seriale
  • un  connettore a 4 pin connesso alle porte A4 (SDA) e A5 (SCL) a formare una porta per realizzare connessioni di tipo I2C

Pulsante RESET e LED alimentazione

Nella parte in basso a sinistra della scheda è presente il pulsante RESET che permette di riavviare la scheda. A lato è presente il led la cui accensione segnala la presenta dell’alimentazione.

Programma di test fornito con Multi-purpose Shield V1

Nella documentazione digitale fornita con il Multi-purpose Shield V1 è presente un programma di test che proverà tutti i vari componenti.
Come anticipato per il suo funzionamento, prima di compilare il codice, occorre aggiungere le librerie necessarie all’interno della directory delle librerie di Arduino IDE . Queste sono:

Vedere anche articolo Arduino – Tutorial, come installare una libreria

Fatto il caricamento del codice sulla scheda, il led di alimentazione, posto a lato del pulsante RESET sarà normalmente acceso.
Sul monitor seriale si può verificare che sia impostato il baud rate a 9600. Utilizzando un qualunque telecomando IR, rivolto al ricevitore IR, premendo i pulsanti del telecomando, si dovrebbe vedere il valore di decodifica del pulsante che viene visualizzato sul monitor.
Non premere troppo a lungo, altrimenti appare l’errore di dati come FFFFFF.

Se si preme il pulsante SW1, il buzzer passivo emette un segnale acustico e quindi il LED RGB emette in sequenza la luce rossa, verde e blu. Anche il led rosso e il led blu si accendono, in modo circolare.
Se si preme il pulsante SW2, il buzzer passivo smette di suonare e i LED non si accendono.
Quindi aprire il monitor seriale e impostare il baud rate a 9600; premendo nuovamente il pulsante SW2, il monitor seriale visualizzerà i dati mostrati di seguito.

Dai dati mostrati sul monitor, è possibile ottenere i dettagli come segue:
La prima colonna è lo stato OK.
La seconda colonna è il valore di umidità misurato dal sensore DHT11;
La terza colonna è il valore di temperatura misurato dal sensore DHT11;
La quarta colonna è il valore analogico misurato dal potenziometro, nell’intervallo 0-1023;
La quinta colonna è il valore analogico misurato dalla fotocellula. Più forte è la luce, maggiore è il valore.
La sesta colonna è il valore analogico misurato dal sensore di temperatura LM35, che può essere utilizzato per calcolare il valore di temperatura specifico.

Codice di test