Due chiacchere su Arduino Esplora

arduino-esplora
Mettendo ordine tra la mia library di sketch ho ritrovato alcune bozze di tutorial per Arduino Esplora che avevo incominciato a scrive nel mese di novembre durante il viaggio di rientro in treno da Verona (JobOrienta). Condivido con voi quanto da me velocemente elaborato, sperando che possa essere utile anche ad altri.
L’attività di creazione dei tutorial incomincia ovviamente dagli esempi resi disponibili da Arduino e quello che vi allego e lo sketch per il rilievo della temperatura e la scrittura sul TFT.
Ho aggiunto alla soluzione dell’esempio standard modifiche alla modalità di visualizzazione su TFT, allarme nel caso di superamento di una temperatura di soglia, variazione di colore del led rgb e avvisi sonori.
Poiché lo sketch è destinato agli studenti, all’interno di esso, in modalità di commento trovate le spiegazioni delle funzioni di libreria in cui metto in evidenza (anche in maniera ripetuta) funzionalità, parametri e valori restituiti.
Vi allego inoltre una versione dello stesso sketch con meno commenti in modo che per i più esperti sia possibile vedere la struttura generale del codice.
Lo sketch non è stato ottimizzato e nasce come primo esempio su cui gli studenti dovranno poi effettuare modifiche e miglioramenti.

/*

 Rilevatore di temperatura con Esplora TFT - V03
 
 Questo esempio è per il TFT collegato ad Arduino Esplora.
 
 Questo sketch e tratto dal tutorial disponibile su sito Arduino
 
 la cui prima versione è stata creata il 15 aprile 2013 da Scott Fitzgerald
 la potete trovare al seguente indirizzo
 
 http://arduino.cc/en/Tutorial/EsploraTFTTemp
 
 modified 23 November 2013
 by Michele Maffucci
 https://www.maffucci.it
 
 La variante proposta permette di segnalare un allarme
 se viene superata una temperatura di soglia fissata dall'utente,
 inoltre a titolo didattico sono stati aggiunti commenti di spiegazione
 alle funzioni utilizzate.
 
 */

// inclusione delle librerie necessarie per
// il funzionamento di Esplora, del TFT

#include #include <Esplora.h>  
#include <TFT.h>
#include <SPI.h>

char tempPrintout[3];  // array in cui memorizzare i valori di temperatura in gradi C
char tempPrintoutF[3]; // array in cui memorizzare i valori di temperatura in gradi F

// temperatura di allarme
const int maxTemp = 22;

void setup() {

  // begin()
  // Inizializzazione dell'LCD
  // istanza della classe TFT quando si usa la scheda Esplora.
  // Se si usa il display deve essere presente.

  // parametri
  // nessuno

  // restituisce
  // nulla

  // EsploraTFT.background(0,0,0);
  // Cancella lo schermo con uno sfondo nero

  EsploraTFT.begin();

  //--

  // Cancella tutto quello che attualmente visualizzata sullo schermo LCD
  // con il colore indicato. Può essere utilizzato nel loop() per cancellare lo schermo.
  // La funzione background() accetta valori a 8 bit per ognuno dei canali rosso, verde e blu
  // però lo schermo non visualizza con questa fedeltà.
  // I valori di rosso e blu sono scalati a 5 bit e il verde a 6 bit.

  // sintassi
  // screen.background(red, green, blue);

  // parametri
  // red: int da 0 a 255
  // green: int da 0 a 255
  // blu: int da 0 a 255

  // restituisce
  // nulla

  EsploraTFT.background(0,0,0);

  //---

  // stroke()
  // La funzione stroke() accetta valori a 8 bit per ognuno dei canali rosso, verde e blu
  // però lo schermo non visualizza con questa fedeltà.
  // I valori di rosso e blu sono scalati a 5 bit e il verde a 6 bit.

  // sintassi
  // screen.stroke(red, green, blue);

  // parametri
  // red: int da 0 a 255
  // green: int da 0 a 255
  // blu: int da 0 a 255

  // restituisce
  // nulla

  // EsploraTFT.stroke(255,0,0);
  // imposta il colore delle line e delle forme a rosso

  EsploraTFT.stroke(255,0,0);

  //---

  // setTextSize();
  // Imposta la dimensione del testo che segue
  // La dimensione di default è 1.
  // Ogni aumento di dimensione di una unità corrisponde ad un aumento di 10 pixel.
  // Quindi dimensione 1 = 10 pixel, dimensione 2 = 20 pixel e così via.

  // sintassi
  // screen.setTextSize(size);

  // parametri
  // size: intero da 1 a 5

  // restituisce
  // nulla

  // EsploraTFT.setTextSize(2);
  // imposta la dimensione del testo a 2 (20 px)

  EsploraTFT.setTextSize(2);

  // il testo viene posizionato in alto a sinistra dello schermo
  // il testo rimane permanente sullo schermo
  // la prima riga alle coordinate (0,0)
  // la seconda riga alle coordinate (0,20)

  //---

  // .text();

  // sintassi
  // screen.text(text, xPos, yPos);

  // parametri
  // text : array di tipo char in cui viene memorizzato il testo da visualizzare sul display
  // xPos : variabile int, coordinata x del testo da scrivere
  // yPos : variabile int, coordinata y del testo da scrivere

  // restituisce
  // nulla

  // scrive il testo tra virgolette alle coordinate (0, 0)
  // scrive il testo tra virgolette alle coordinate (0, 20)

  EsploraTFT.text("Gradi\n ",0,0);
  EsploraTFT.text("centigradi:\n ",0,20);

  // il testo che segue, all'interno del loop, vine impostato a 5 (50 px)
  EsploraTFT.setTextSize(5);
}

void loop() {

  // viene letta la temperatura in Celcius e memorizzata come stringa
  // il metodo readTemperature permette di restituire la temperatura in gradi Celsius
  // oppure in gradi Faherenheit, dipende dal parametro che viene passato, nell'esempio
  // DEGREES_C gradi centigradi. L'intervallo in gradi oscilla da -40 °C a 150 °C

  // readTemperature()
  // Legge la temperatura ambiente rilevata dal sensore su Esplora
  // e in funzione del parametro passato restituisce il valore
  // in gradi Celsius che Fahrenheit

  // parametri
  // scale: la scala scelta per l'output.
  // può asumere i valori: DEGREES_C e DEGREES_F

  // restituisce
  // un valore intero che rappresenta la temperatura in gradi Celsius o Fahrenheit.
  // L'intervallo di temperatura in gradi Celsius è da -40°C a 150°C
  // L'intervallo di temperatura in gradi Fahrenheit è da -40°F a 302°F.

  String temperature = String(Esplora.readTemperature(DEGREES_C));
  String temperatureF = String(Esplora.readTemperature(DEGREES_F));

  //--

  // toCharArray();
  // Copia la stringa di caratteri nel buffer

  // sintassi
  // string.toCharArray(buf, len)

  // parametri
  // string: variabile di tipo string
  // buf: il buffer dove copiare la stringa di caratteri (char [])
  // len: la dimensione del buffer (unsigned int)

  // converte la stringa in array di caratteri

  temperature.toCharArray(tempPrintout, 3);
  temperatureF.toCharArray(tempPrintoutF, 3);

  controlTemp();

}

void controlTemp(){

  // controlliamo se la temperatura è maggiore del valore fissato maxTemp
  if (Esplora.readTemperature(DEGREES_C)>maxTemp){

    // imposta il colore del testo a bianco
    EsploraTFT.stroke(255,0,0);


    // scrive la temperatura in gradi Celsius nelle linee sottostante alle coordinate indicate
    EsploraTFT.setTextSize(5);
    EsploraTFT.text(tempPrintout, 0, 50);

    // scrive i caratteri "." e "C" alle coordinate indicate
    EsploraTFT.text(".", 55, 25);
    EsploraTFT.text("C", 80, 50);

    // scrive la temperatura in gradi Fahrenheit nelle linee sottostante alle coordinate indicate
    EsploraTFT.setTextSize(1);
    EsploraTFT.text(tempPrintoutF, 110, 78);

    // scrive i caratteri "." e "F" alle coordinate indicate
    EsploraTFT.text(".", 121, 73);
    EsploraTFT.text("F", 126, 78);

    // imposta il testo a 2
    EsploraTFT.setTextSize(2);
    // imposta il colore del testo
    EsploraTFT.stroke(255,255,0);

    // scrive il testo sottostante alle coordinate indicate
    EsploraTFT.text("Attenzione:\n ",0,90);
    EsploraTFT.text("troppo caldo!:\n ",0,110);

    // funzione che consente di effettuare il blink del led sulla scheda Esplora 
    blinkLedOn();

    // tone()
    // La funzione genera un'onda quadra di frequenza e durata stabilita dal buzzer di Esplora
    // La durata è espressa in milliseconds, se non è specificata nessuna durata l'emissione
    // del tono prosegue fino a quando non viene incontrata una finzione Esplora.noTone().
    // Attenzione che l'uso di tone() interferisce con il fading del red rosso.

    // sintassi
    // Esplora.tone(frequency, duration) 

    // parametri
    // frequency: un unsigned int che rappresenta la frequenza espressa in hertz 
    // duration: un unsigned long che rappresenta la durata in millisecondi (ozionale) del tono

    // emissione di un tono di allarme. Nota LA per 1 secondo
    Esplora.tone(440, 1000);

    // ripristina il testo a 5 per il prossimo ciclo di controllo
    // EsploraTFT.setTextSize(5);

    // persistenza del messaggio per 1 secondo
    // prima che venga effettuato il successivo controllo

    delay(1000);

    // cancella il testo prima di avviare il successivo loop
    EsploraTFT.stroke(0,0,0);

    // imposta il testo ad una dimensione di 2 cioè 20 px
    EsploraTFT.setTextSize(2);

    // scrive il testo alle coordinate indicate
    EsploraTFT.text("Attenzione:\n ",0,90);
    EsploraTFT.text("troppo caldo!:\n ",0,110);

    // imposta il testo ad una dimensione di 5 cioè 50 px
    EsploraTFT.setTextSize(5);

    // stampa il valore della temperatura in gradi Celsius alle coordinate indicate
    EsploraTFT.text(tempPrintout, 0, 50);

    // imposta il testo ad una dimensione di 1 cioè 10 px
    EsploraTFT.setTextSize(1);

    // stampa il valore della temperatura in gradi Fahrenheit alle coordinate indicate
    EsploraTFT.text(tempPrintoutF, 110, 78);

  }
  else{
    // nel caso in cui la temperatura è al di sotto dei 22 gradi Celsius
    // viene impostato il colore di linee e forme a bianco

    // spegne LED esterno
    blinkLedOff();

    // imposta il colore del testo a bianco
    EsploraTFT.stroke(255,255,255);

    // scrive la temperatura in gradi Celsius nelle linee sottostante alle coordinate indicate

    // imposta il testo ad una dimensione di 5 cioè 50 px
    EsploraTFT.setTextSize(5);

    // stampa il valore della temperatura in gradi Celsius alle coordinate indicate
    EsploraTFT.text(tempPrintout, 0, 50);

    // scrive i caratteri "." e "C" alle coordinate indicate
    EsploraTFT.text(".", 55, 25);
    EsploraTFT.text("C", 80, 50);

    // imposta il testo ad una dimensione di 1 cioè 10 px
    EsploraTFT.setTextSize(1);

    // stampa il valore della temperatura in gradi Fahrenheit alle coordinate indicate
    EsploraTFT.text(tempPrintoutF, 110, 78);

    // scrive i caratteri "." e "F" alle coordinate indicate
    EsploraTFT.text(".", 121, 73);
    EsploraTFT.text("F", 126, 78);

    delay(1000);

    // cancella il testo prima di avviare il successivo loop
    EsploraTFT.stroke(0,0,0);

    // imposta il testo ad una dimensione di 2 cioè 20 px
    EsploraTFT.setTextSize(2);

    // scrive i caratteri "Attenzione:" (con ritorno a capo) e "troppo caldo!:" (con ritorno a capo) alle coordinate indicate
    EsploraTFT.text("Attenzione:\n ",0,90);
    EsploraTFT.text("troppo caldo!:\n ",0,110);

    // imposta il testo ad una dimensione di 5 cioè 50 px
    EsploraTFT.setTextSize(5);

    // stampa il valore della temperatura in gradi Celsius alle coordinate indicate
    EsploraTFT.text(tempPrintout, 0, 50);

    // imposta il testo ad una dimensione di 1 cioè 10 px
    EsploraTFT.setTextSize(1);

    // stampa il valore della temperatura in gradi Fahrenheit alle coordinate indicate
    EsploraTFT.text(tempPrintoutF, 110, 78);
  }
}

// funzione che permette di far lampeggiare in diversi colori il led di Esplora
void blinkLedOn(){

  // writeRGB()
  // Consente di controllare la luminosità di un determinato colore del led rgb di Esplora.

  // sintassi
  // Esplora.writeRGB(red, green, blue)

  // parametri
  // red, variabile int imposta la luminosità del rosso. Intervallo da 0 a 255.
  // green, variabile int imposta la luminosità del verde. Intervallo da 0 a 255.
  // blue, variabile int imposta la luminosità del blu. Intervallo da 0 a 255.

  // restituisce
  // nulla

  Esplora.writeRGB(255,0,0);    // LED rosso
  delay(1000);                  // attesa di 1 sec
  Esplora.writeRGB(0,255,0);    // LED verde
  delay(1000);                  // attesa di 1 sec
  Esplora.writeRGB(0,0,255);    // LED blu
  delay(1000);                  // attesa di 1 sec
  Esplora.writeRGB(255,255,0);  // LED giallo
  delay(1000);                  // attesa di 1 sec
  Esplora.writeRGB(0,255,255);  // LED ciano
  delay(1000);                  // attesa di 1 sec
  Esplora.writeRGB(255,0,255);  // LED magenta
  delay(1000);                  // attesa di 1 sec
  Esplora.writeRGB(255,255,255);// LED bianco
  delay(1000);                  // attesa di 1 sec
}

void blinkLedOff(){
  Esplora.writeRGB(0,0,0);    // spegne il LED
}

Questa la versione con meno commenti:
Continua a leggere

Corso di elettrotecnica ed elettronica: proprietà elettriche della materia – Lezione 8

banner-corso-elettrotecnica-elettronica

Conoscere la struttura atomica della materia è fondamentale per comprendere tutti i fenomeni che riguardano l’elettrotecnica e l’elettronica.

Tutta la materia, sia essa allo stato solido, liquido o gassoso, è costituita da unità elementari chiamati atomi che possiamo considerare come mattoni che costituiscono tutto ciò che ci circonda.

Per atomo possiamo considerare la più piccola parte della materia che non può essere suddivisa mediante procedimenti chimici, mentre può subire trasformazione fisica come disintegrazione, trasformazione in altri atomi.

Gli atomi non sono tutti uguali in natura, ma ciascuno di essi rappresenta un ben specifico elemento chimico. Attualmente si conoscono poco più di un centinaio di elementi chimici e quindi esistono altrettanti tipi di atomi. L’elenco di tutti gli elementi chimici conosciuti è elencato nella tavola periodica degli elementi.

Lo sviluppo della fisica moderna, ha portato alla scoperta che l’atomo non è indivisibile, ma costituito da altre particelle più piccole, delle quali le più importanti sono: protoni, neutroni ed elettroni.

L’atomo è costituito da un nucleo composto da protoni che possiedono una carica positiva e da neutroni che non hanno carica e da particelle dette elettroni, carichi negativamente, che ruotano su orbite intorno al nucleo secondo orbite circolari o ellittiche. Il numero di protoni presenti nel nucleo di un atomo (e quindi anche il numero di elettroni) viene detto numero atomico, indicato con il simbolo Z.

Possiamo approssimare la struttura dell’atomo a quella di un minuscolo sistema solare.

atomo

Gli elettroni ruotano a velocità elevatissima intorno al nucleo descrivendo orbite che variano continuamente il loro piano di rotazione e su orbite diverse in base alla quantità di energia che essi posseggono. Questo vorticoso moto crea una sorta di strati di nubi elettroniche concentriche e lo strato più esterno determina la dimensione esterna dell’atomo.

La carica elettrica di un singolo elettrone o un singolo protone corrispondono alla più piccola carica elettrica presente in natura, quindi tutte le cariche elettriche misurabili in natura sono multiple di questa unità di carica elementare.

Un atomo normale ha un numero uguale di elettroni e protoni e la carica positiva e negativa si annullano a vicenda, si dice che l’atomo è elettricamente neutro.

Gli elettroni delle orbite interne vengono detti elettroni legati perché non possono essere facilmente portati fuori dalle orbite, mentre gli elettroni delle orbite esterne vengono detti elettroni liberi, perché possono essere spinti fuori dalle orbite in quanto più lontano dal nucleo.
Ciascuno di questi strati, contraddistinto da una lettera dell’alfabeto, può contenere un ben preciso numero di elettroni, nella tabella che segue viene mostrata la corrispondenza tra strati e numero massimo di elettroni che possono essere contenuti:

tabella

La maggior parte dei fenomeni fisici e chimici interessa lo strato più esterno al nucleo.

Nella figura che segue è rappresentato il modello dell’atomo di rame costituito da 29 elettroni che gravitano in differenti orbite attorno al nucleo.

rame

Secondo la tabella data, nel primo strato K abbiamo 2 elettroni, nel secondo strato L abbiamo 8 elettroni, nel terzo strato M ne abbiamo 18 e nel quarto che potrebbe contenere al massimo 32 elettroni ne è presente solamente 1. L’elettrone isolato, che si trova nell’ultimo strato viene detto elettrone di conduzione perché può liberarsi più facilmente dalle forze che lo tengono legato all’atomo. L’elettrone dell’ultimo strato può spostarsi nell’orbita di un altro atomo partecipando alla conduzione delle cariche.

Nella figura che segue è rappresentato il modello dell’atomo del silicio costituito da 14 elettroni che gravitano in differenti orbite attorno al nucleo.

silicio

Per dare un’ordine di grandezza dell’atomo si pensi che il suo diametro è di circa di 10^-10 m (un decimiliardesimo di metro). Per rendersi conto delle dimensioni dell’atomo si pensi che se si riuscisse ad ingrandire il nucleo di un atomo di 1 mm, che è circa la dimensione della testa di un fiammifero, si avrebbe che gli elettroni ruotano su orbite aventi un diametro di 100 m, simile alle dimensioni di un campo di calcio! Da cui se ne deduce che le dimensioni del nucleo è centomila volte più piccolo di quello dell’atomo, detto in altro modo gran parte dell’atomo è costituito da spazio vuoto!

Si precisa che la descrizione data dell’atomo è semplificata, ma risulta comunque utile per comprendere i fenomeni elettrici che descrivono il funzionamento di apparati elettronici.

Ioni

E’ possibile per atomo perdere o guadagnare un elettrone e ciò cambia l’equilibrio.
Se perde un elettrone vuol dire che l’atomo sarà più positivo che negativo, un atomo carico positivamente si chiama ione positivo.
Se l’atomo invece guadagna un elettrone vorrà dire che è più negativo che positivo, in questo caso l’atomo viene detto ione negativo.

ione

Il passaggio di un atomo allo stato di ione è il fenomeno della ionizzazione, che è all’origine di tutte le correnti elettriche.

Corsi di formazioni CTS: LIM e Apprendere Progettando e Pasticciando

corsi-cts-torinoSono ormai più di due anni che sono uno dei referenti provinciali del CTS di Torino (Centro nuove tecnologie e disabilità). Il centro ha l’obiettivo di offrire consulenze e formazione alle scuole e alle famiglie in ambito tecnologico e disabilità.

Tra le nuove iniziative del mese di marzo e aprile che mi vedranno coinvolto come relatore in attività di formazione, vi segnalo ultimi due corsi di cui proprio in questo momento è stata inviata segnalazione alle scuole e a cui è possibile iscriversi da subito:

Corso n. 1

CORSO DI FORMAZIONE “DIDATTICA INTEGRATA ED INCLUSIVA CON LA LIM”

Il CTS (Centro Territoriale di Supporto) Nuove Tecnologie e Disabilità di Torino e Provincia organizza un corso di aggiornamento sulla didattica con la Lavagna Interattiva Multimediale
L’iniziativa si propone la finalità di fornire ai docenti le competenze di base per l’utilizzo della lavagna interattiva multimediale con il gruppo classe.

Destinatari: docenti di ogni ordine e grado di Torino e Provincia.

Formatore: prof. Gian Marco Malagoli.

Metodologia: il corso si svolgerà presso il laboratorio d’informatica con la metodologia del workshop, ovvero i corsisti saranno invitati a “cimentarsi” con la lavagna interattiva e con il software specifico della lavagna utilizzata.

Contenuti: presentazione della periferica LIM, presentazione del software-autore della lavagna, utilizzo dei principali strumenti come la penna, l’evidenziatore, l’occhio di bue, lo screen capture, ecc…, multimedialità ed interattività della LIM, didattica inclusiva con la LIM, registrazioni audio e video delle lezioni, videocasting su LIM, didattica integrata con la LIM, unità didattiche animate, implementazione di questionari e verifiche su LIM, costruzione ed uso di e-book (libri digitali su LIM)

Calendario: il 13, 14, 27 e 28 marzo 2014, dalle 15 alle 18 (4 incontri da 3 ore ciascuno). Il corso si svolgerà nei locali della sede “V. e L. Arduino” dell’ITSSE “C. Levi”, in via Figlie dei Militari 25.

Le iscrizioni dovranno essere effettuate entro il giorno 5 marzo 2014 online al seguente link.

Corso 2

CORSO DI FORMAZIONE APPRENDERE, PROGETTANDO E PASTICCIANDO (APP)

Il CTS (Centro Territoriale di Supporto) Nuove Tecnologie e Disabilità di Torino e Provincia organizza un corso di aggiornamento sul come le tecnologie possano essere funzionali ai processi di apprendimento e allo sviluppo della personalità di ogni bambino, soprattutto nell’età compresa tra i 3 e i 5 anni.

Destinatari: docenti DELLE SCUOLE DELL’INFANZIA di Torino e Provincia

Formatore:DOTT.SA ELISA PASSERINI

Contenuti, metodologie: Primo incontro: 13 marzo 2014 dalle ore 15 alle ore 18.

  • Approfondimento e considerazioni sulle caratteristiche dei Nativi Digitali. Come la continua esposizione alle nuove tecnologie (televisione, computer, smartphone, tablet…) sta influenzando le modalità di apprendimento nei bambini?
  • Inserimento della Lavagna Interattiva e dei tablet nella Scuola d’Infanzia, metodologie e utilizzo degli strumenti con il grande e piccolo gruppo.
  • Quali indicatori e caratteristiche considerare nella scelta di una APP per la progettazione didattica.
  • Presentazione del progetto didattico “Apprendere Progettando e Pasticciando con My Little Cook” (Il progetto ha avuto la supervisione dell’Università Cattolica di Milano) attraverso i due filoni didattico educativi dell’utilizzo delle tecnologie multimediali (Apprendere Progettando) e dell’educazione alimentare (Apprendere Pasticciando).

Secondo incontro:14 marzo 2014 dalle ore 15 alle ore 18.

  • Come presentare ai bambini lo strumento LIM e le sue regole in modo divertente ed efficace.
  • Proposta di alcune “Activities” della LIM per costruire giochi interattivi coi bambini come il memory, il vortex, il cubo magico …
  • Progettazione di alcune attività ludico-didattiche in relazione ai campi di esperienza integrati tra loro, come rinforzo ad una App e ad un Libro Interattivo.

Calendario: il 13 e 14 marzo dalle 15 alle 18.

Il corso si svolgerà all’ITSSE “C. Levi – V. e L. Arduino”, in via Figlie dei Militari, 25.

Le iscrizioni dovranno essere effettuate, entro il giorno 5 marzo 2014, online al seguente link.

Corso di elettrotecnica ed elettronica: richiami di Matematica – regola del triangolo – Lezione 7

banner-corso-elettrotecnica-elettronica

Mi capita sovente, soprattutto con gli studenti del primo anno delle superiori di rilevare la difficoltà di ricavare la formula inversa da una data costituita da tre termini.

La regola del triangolo è un metodo pratico per ricavare la formula inversa da una formula matematica formata da tre termini. A titolo di esempio proviamo ad usare questa regola per trovare la resistenza elettrica R dalla nota legge di Ohm (che vedremo più avanti):

[pmath size=16]V = R*I[/pmath]

dove V rappresenta la tensione elettrica espressa in Volt ed I la corrente elettrica espressa in Ampere.

Da questa si ricava la formula inversa:

[pmath size=16]R=V/I[/pmath]

ma anche:

[pmath size=16]I=V/R[/pmath]

Per ricavare le formule inverse usando il metodo del triangolo si parte dalla formula:

[pmath size=16]V = R*I[/pmath]

Si pone al vertice il termine di sinistra, nel nostro caso [pmath size=12]V[/pmath] e al di sotto della linea di separazione i termini che sono moltiplicati tra loro, nel nostro caso [pmath size=12]R*I[/pmath], il disegno del triangolo risulta il seguente:

triangolo

dove la linea orizzontale indica la linea di frazione.

Per ricavare la grandezza incognita, ad esempio la [pmath size=16]R[/pmath] è sufficiente coprirla con il dito e leggere ciò che è rimasto scoperto, cioè:

[pmath size=16]V/I[/pmath]

vi

Nel caso in cui l’incognita fosse la I allora si avrebbe:

[pmath size=16]I=V/R[/pmath]

 vr

 

Allo stesso modo nel caso in cui fosse da ricavare la [pmath size=16]V[/pmath] è sufficiente coprirla nel triangolo:

[pmath size=16]R*I[/pmath]

ri

Vedremo più avanti come utilizzare questa semplicissima regoletta con altre grandezze.

Il futuro è impressionante

tango

In questi giorni Google ha annunciato il Tango Project. Si tratta di un telefono cellulare in grado di creare mappe 3D di qualunque cosa. L’obiettivo è quello di creare dispositivi in grado di avere una percezione dello spazio 3D simile a quello che ha un essere umano.

Il team di lavoro di Google raccoglie l’esperienza, in robotica e computer vision, di importanti università e aziende che abbracciano nove paesi in tutto il mondo.

Dal punto di vista hardware il cellulare è un telefono con un display da 5 pollici contenente hardware e software appositamente progettati per monitorare il movimento in tempo reale del dispositivo e costruire in tal modo una mappa completa 3D dell’ambiente che il dispositivo sta osservando, ciò è realizzato mediante sensori che sono in grado di fare un quarto di milione di misurazioni 3D ogni secondo!

Nel video allegato potete vederne il funzionamento e se desiderate maggiori dettagli tecnici vi rimando al sito di riferimento.