La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Maker_INO Lezione Quarta Trasduttori e Sensori Digitali

Presentazioni simili


Presentazione sul tema: "Maker_INO Lezione Quarta Trasduttori e Sensori Digitali"— Transcript della presentazione:

1 Maker_INO Lezione Quarta Trasduttori e Sensori Digitali
Prof. Ponte Vincenzo

2 I sensori I sensori sono componenti elettronici in grado di percepire e misurare le caratteristiche fisiche dell’ambiente circostante e quindi, ad esempio: luminosita’,temperatura,umidita’, suono, movimento, campo magnetico ed elettromagnetico.

3 Gli attuatori Gli attuatori sono componenti in grado di modificare le caratteristiche fisiche dell’ambiente circostante e quindi essenzialmente:sorgenti di luce, calore, umidita’, suono, movimento, campo magnetico ed elettromagnetico.

4 I componenti complessi
Sono dei circuiti, dotati di microprocessore e componenti, in grado di fornire un servizio e quindi da fungere contemporaneamente, da sensori ed attuatori

5 I componenti di supporto
Sono componenti che supportano l’operativita’ di sensori ed attuatori. Tra i componenti di supporto possiamo annoverare le resistenze, i condensatori, i fusibili ed altri ancora come la breadboard,pulsanti ed i cavi di collegamento

6 Sensore ad ultrasuoni HCSR04
Gli ultrasuoni sono delle onde meccaniche sonore. A differenza dei fenomeni acustici propriamente detti, le frequenze che caratterizzano gli ultrasuoni sono superiori a quelle mediamente udibili da un orecchio umano. La frequenza convenzionalmente utilizzata per discriminare onde soniche da onde ultrasoniche è fissata in 20 kHz.

7 Sensore ad ultrasuoni HCSR04
Il modulo ad ultrasuoni viene normalmente utilizzato per rilevare eventuali ostacoli e misurarne la distanza (da 2 a 400 cm). Il modulo opera usando la medesima tecnica di rilevamento utilizzata, in natura,dai pipistrelli. E’ formato da un generatore di ultrasuoni, da un ricevitore e da un circuito di controllo. Il modulo si avvia quando riceve un impulso di almeno 10 microsecondi attraverso il “trig pin” (la sua porta di attivazione).

8 Sensore ad ultrasuoni HCSR04
A questo punto lancia una serie di otto onde sonore da 40 kHz e si mette in attesa di un segnale di ritorno. Appena lo riceve attiva la porta di uscita (echo pin) e la mantiene attiva per un tempo proporzionale al tempo intercorso tra l’invio del segnale acustico ed il suo ritorno.

9 Sensore ad ultrasuoni HCSR04
Conoscendo la velocita’ del suono e sapendo che il “viaggio” dell’onda sonora e’ stato il doppio della distanza tra il modulo e l’ostacolo (l’onda e’ andata dal generatore all’ostacolo e da qui’ e’ tornata al sensore) la distanza e’ derivata dalla seguente formula: distanza = tempo * 340 / 2 dove: distanza e’ la distanza in metri tra il modulo HC-SR04 e l’ostacolo, tempo e’ il tempo in secondi di attivazione della porta di uscita 340 e’ la velocita’ del suono, in metri al secondo, a 20 gradi di temperatura.

10 Sensore ad ultrasuoni HCSR04
e quindi distanza = valore di echo / 58 dove:  distanza = distanza in centimetri dall’ostacolo  valore di echo = valore fornito dall’istruzione pulseIn  58 = valore, senza decimali di (2/340)* (10000 e’ un moltiplicatore inserito per trasformare i metri in centimetri ed i secondi in millisecondi.

11 Misurare e visualizzare la distanza di un oggetto dal sensore
const int TRIG_PIN = 12; const int ECHO_PIN = 13; int cicalino=11; long durata, distanza; void setup() { // Inizializza la comunicazione seriale: Serial.begin(9600); pinMode(TRIG_PIN,OUTPUT); pinMode(ECHO_PIN,INPUT); pinMode(cicalino,OUTPUT); } /* Attenzione: facendo il copia/incolla dal PDF o dal PPT all’IDE si perde la formattazione del testo. Per rendere piu’ facilmente leggibile il programma e’ opportuno formattarlo subito dopo il trasferimento nell’IDE, premendo CTRL+T

12 Misurare e visualizzare la distanza di un oggetto dal sensore
void loop() { // Dare un breve segnale LOW per poi dare un segnale HIGH: digitalWrite(TRIG_PIN, LOW); digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); durata = pulseIn(ECHO_PIN, HIGH); // Converti il tempo in distanza: distanza = durata / 58; delay(100);

13 Misurare e visualizzare la distanza di un oggetto dal sensore
if (distanza <= 0) { Serial.println("Out of range"); } else { Serial.print(distanza); Serial.println("cm"); Serial.println(); delay(1000);

14 lo schema da realizzare è il seguente:
.

15 Facciamo suonare una nota al cicalino
Per generare un suono con la scheda Arduino si può utilizzare il comando tone(), questo comando genera un'onda quadra di frequenza specificata su un pin di uscita. La durata può essere specificata, altrimenti l'onda continua fino a quando viene inserito il comando noTone (). Sintassi tone (pin, frequenza, durata) Parametri pin: il pin su cui generare il tono frequenza: la frequenza del tono in hertz durata: la durata del segnale in millisecondi (opzionale) Esempio: tone (11, 2000, 100); delay(200);// attende per 200mS, utile per fare un sensore di parcheggio

16 Facciamo suonare una nota al cicalino
Facciamo suonare una nota ad una certa distanza Aggiungiamo al programma precedente: if (distanza < 20) { tone (11, 2000, 100); delay(300); }

17 Sensori IR Principio di funzionamento:
Il trasmettitore IR invia un segnale infrarosso che, nel caso di una superficie riflettente (ad esempio di colore bianco), rimbalza in alcune direzioni compresa quella del ricevitore IR il quale cattura il segnale rilevando l’oggetto. Nel caso di una superficie assorbente (ad esempio di colore nero) il segnale IR non è riflesso e l’oggetto non può essere rilevato dal sensore. Questo risultato si verificherebbe anche se l’oggetto è assente

18 Infrared Reflective Sensor
Caratteristiche:ha una distanza di rilevamento di pochi cm(10-15). Viene utilizzato come inseguitore di linea,è provvisto di un trimmer che ne regola la sensibilità alla luce ambientale.

19 Infrared Reflective Sensor
Ha una uscita analogica (memorizza la distanza in mm) e una digitale (passa LOW in presenza di un ostacolo). ESEMPIO: int Obstacles_din=2;//porta digitale int Obstacles_ain=A0; //porta analogica int ad_value;//variabile che memorizza la distanza void setup() { pinMode(Obstacles_din,INPUT); pinMode(Obstacles_ain,INPUT); Serial.begin(9600); }

20 Infrared Reflective Sensor
void loop() { ad_value=analogRead(Obstacles_ain); if(digitalRead(Obstacles_din)==LOW) Serial.println("ostacolo vicino"); Serial.println("distanza"); Serial.println("mm"); Serial.println( ad_value); } else Serial.println("ostacolo lontano"); delay(2000);

21 Sensore IR FC-51 Il package ha 3 pin di connessione:
Vcc per l’alimentazione 3-5V DC; Gnd per il riferimento a massa; Out per il segnale di uscita digitale del sensore.

22 ESEMPIO // Facciamo suonare un cicalino e accendiamo un LED in presenza di un ostacolo. int Sens = 8;// pin sensore presenza int cicalino = 10;//pin cicalino int led=13;//led int Sens_Stato=0;//variabile che legge lo stato del sensore void setup() { pinMode(Sens,INPUT); pinMode(cicalino,OUTPUT); pinMode(led,OUTPUT); digitalWrite(led,LOW); } void loop() Sens_Stato=digitalRead(Sens); //legge lo stato del sensore if (Sens_Stato==LOW) tone (10,2000,100); delay(300); digitalWrite(led,HIGH);

23 Modulo microfono Vi sono due versioni di questo modulo:
3 pin con solo uscita digitale 4 pin con anche uscita analogica Per il nostro progetto: batti le mani e accendi la luce utilizzeremo quello a 3 pin

24 batti le mani e accendi la luce
int led = 12; //il led e' collegato alla porta 12 int microfono = 8; // l'uscita digitale del microfono (DO) int valoresuono = 0; // memorizzazione dello stato del microfono (HIGH o LOW) int sled = 0; // memorizzazione dello stato del led (1 = acceso; 0 = spento) void setup() { pinMode(led,OUTPUT); pinMode(microfono, INPUT); }

25 batti le mani e accendi la luce
void loop() { valoresuono = 0; valoresuono = digitalRead(microfono); // rileva il segnale proveniente dal microfono if(valoresuono == HIGH) // se il rumore ha prodotto segnale digitale if (sled == 1) // verifica se il led e' acceso digitalWrite(led,LOW); // se il led e' acceso, lo spegne sled = 0; // memorizza lo stato di "led spento" delay (300); } else digitalWrite (led, HIGH); // se il led e' spento, lo accende sled = 1; // memorizza lo stato di "led acceso"

26 Laboratorio Realizzare semplici progetti con i sensori prendendo spunto da quelli illustrati in questa lezione. ATTENZIONE: i sensori sono alimentati, evitare di invertire la polarità causando la distruzione del dispositivo. N.B. Alcuni sensori sono del prof. Ponte Buon Lavoro! Prof. Ponte Prof. Ovazza


Scaricare ppt "Maker_INO Lezione Quarta Trasduttori e Sensori Digitali"

Presentazioni simili


Annunci Google