Domotica – Stazione di controllo

Obbiettivo: Visualizzare le informazioni su un display esterno. Imparare ad interfacciarsi con hardware multisensoriale.

Problema

Negli esercizi precedenti per visualizzare le informazioni hai sempre utilizzato i valori delle variabili sul canvas di Scratch o mBlock. Ora imparerai a visualizzarli all’esterno del pc, su uno display a 7 segmenti.
Grazie al display esterno, potrai utilizzare in autonomia mBot e realizzare molti più progetti indipendentemente dall’utilizzo del computer.
I display a 7 segmenti sono spesso utilizzati nelle sveglie, nell’ elettronica di consumo (lavatrici, forni, ecc), insegne, ecc. Il loro utilizzo è così vasto perchè costano poco e sono facili da utilizzare.
In questo esercizio dovrai visualizzare sul display a 7 segmenti il valore della temperatura ambientale registrato dal sensore di temperatura e il valore della luce nella stanza acquisito dal sensore di luminosità.
I due valori dovranno essere mostrati sul display in modo ciclico, ovvero prima la luce e dopo 2 secondi la temperatura.
Puoi utilizzare l’esercizio precedente come base di partenza del tuo programma. 

Materiali
Materiali necessari

  • Pc
  • mBot
  • Inventor Kit – sensore di temperatura
  • Inventor Kit – Sensore di luminosità
  • Inventor Kit – adattatore RJ25
  • Inventor Kit – Display a 7 segmenti

 

Progettazione & implementazione
L’idea è creare una piccola stazione di controllo da utilizzare in casa. Una volta terminato l’esercizio potrai aggiungere e/o rimuovere i sensori per tenere sotto controllo la tua cameretta!
Dovrai collegare il sensore di luminosità esterno e il sensore di temperatura e
Infine, mostrare i valori sul display.
L’esercizio è molto simile al precedente e dovrai solo integrarlo con il sensore di luminosità ed il display.
L’obbiettivo è conoscere ed utilizzare il display a 7 segmenti, quindi eccolo nel dettaglio.

Il display a 7 segmenti
Il display a 7 segmenti viene chiamato così per la sua composizione. È formato da 7 segmenti che possono essere accesi indipendentemente e rendono possibile visualizzare numeri e alcune lettere dell’alfabeto. Ad esempio, se volessi visualizzare uno zero, dovrei accendere tutti i segmenti meno quello centrale. Se volessi vedere un uno, dovrei accendere i segmenti verticali a sinistra o a destra e spegnere gli altri.

gif 1

Avresti quindi bisogno di 7 blocchi per rappresentare i numeri sul display, ovvero per comandare in modo indipendente i 7 segmenti. Makerblock viene in tuo aiuto e ti permette di comandare il display utilizzando un unico blocco e senza preoccuparti di dover accendere/spegnere i segmenti.

Il blocco che serve per comandare il display:

fig 1

è sotto la categoria robot e per utilizzarlo ti basta specificare la porta in cui hai collegato il display (una qualsiasi porta di colore blu) e il numero o variabile che vuoi visualizzare.

figura 2

A livello hardware, il display fornito da Makerblock è un display lungo quattro cifre. Quindi puoi rappresentare numeri fino a 9999.
Il puntino che vedi in basso a destra dei 7 segmenti serve per rappresentare la virgola per i numeri razionali.

Prima di implementare la stazione di controllo, fai i dovuti collegamenti hardware. Collega i sensori temperatura e luminosità alla porta 4 e 3 ed il display a 7 segmenti alla porta 1.
Utilizza come base l’esercizio sul sensore di temperatura e aggiungi una variabile luce al cui interno salverai i dati forniti dal sensore di luminosità.
Vuoi che i valori delle due variabili “luce” e “temp” vengano visualizzati sul display. Utilizza il blocco

alla fine dei costrutti if-else per mandare i dati contenuti nella variabile al display. Al posto del numero, inserisci la variabile che vuoi visualizzare e aggiungi un’attesa tra una variabile e l’altra per non sovrapporre la visualizzazione.

gif 2 (scarica il file ad alta risoluzione)

Per testarne il funzionamento, collega mBot via wireless fai le dovute prove e carica il programma su mBot.


Download

Qui invece, puoi scaricare i file contenenti la soluzione.

A cura di Filippo Lapide

  • Creato il