Utente:Galessandroni/HC-SR04: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Caption schema di montaggio |
Prerequisiti, corretto codice e altro |
||
Riga 1:
[[File:HC_SR04_Ultrasonic_sensor_1480322_3_4_HDR_Enhancer.jpg|miniatura|Il sensore a ultrasuoni HC-SR04]]
In questa risorsa viene illustrato come utilizzare il sensore a ultrasuoni HC-SR04 con Arduino per misurare distanze e - di conseguenza -
Il sensore HC-SR04, nelle sue specifiche tecniche<ref>Elijah J. Morgan, [https://cdn.datasheetspdf.com/pdf-down/H/C/-/HC-SR04-ETC.pdf HCSR04 Ultrasonic Sensor], 16 Novembre 2014</ref>, dichiara di poter rilevare la presenza di un ostacolo
Infine, l'oggetto da individuare deve essere collocato in un angolo non superiore a <math>15~{}^\circ</math>, rispetto al suo asse.
= Prerequisiti =
[[File:Bat_bug_eco.svg|miniatura|Come un pipistrello procaccia il suo cibo]]
Di seguito verranno riproposti tutti i concetti di fisica che ''dovrebbero'' essere noti a uno studente (o ignoti, se questa esperienza venisse proposta nelle scuole primarie).
L'eco si verifica quando un suono incontra un oggetto di dimensioni simili alla sua lunghezza d'onda (simbolo <math>\lambda</math>). In questo caso, si ha:
<math>\lambda=\frac{c}{f}=\frac{343~\text{m/s}}{40~\text{kHz}}\simeq 8,58~\text{mm}</math>
Fortunatamente, tutto è molto più semplice. Questo approccio serviva soltanto per mostrare che non tutti gli oggetti saranno individuabili, che l'eco (quando si urla a una montagna) si verifica se sussistono determinate condizioni e... come fanno i pipistrelli a procacciarsi il cibo. La cosa più interessante è la distanza <math>d</math>, che si calcola come segue:
<math>d=c \cdot t</math>
dove <math>c</math> è la velocità del suono, che si considera costante, pari a <math>c=343~\text{m/s}</math>. Tuttavia Arduino non lavorerà utilizzando le unità di misura del [[Il sistema internazionale di unità di misura (superiori)|Sistema Internazionale]] ma, per il tempo, utilizzerà i microsecondi e (per nostro comodo) esprimeremo la distanza in centimetri.
Pertanto la velocità del suono diventa:
<math>c = 343~\text{m/s}=343~\text{m/s} \frac{10^2~\text{cm/m}}{10^6~\mu\text{s/s}}= 0,0343~\text{cm/}\mu\text{s}</math>
Quest'equivalenza è fondamentale per comprendere la linea 16 del codice
= Esperienza n. 1 =
Di seguito si supporrà la velocità del suono nell'aria costante, pertanto, avente velocità <math>c</math> pari a <math>c=343~\text{m/s}</math>. Questa è la velocità del suono a <math>20~{}^\circ\text{C}</math>.
Questo significa che, se si riesce a comprendere il codice, lo schema di montaggio è composto dal microcontrollore Arduino, dal sensore di prossimità HC-SR04 e - letteralmente - quattro fili. Naturalmente, nello schema di montaggio, l'alimentazione di Arduino è sottintesa, poiché l'output è mostrato nel calcolatore.
== Schema di montaggio ==
Line 20 ⟶ 39:
Il sensore deve essere alimentato e la sua alimentazione (<math>V_{cc}=5~\text{V}</math>, filo rosso, e <math>GND = 0~\text{V}</math>, filo nero) sono fornite da Arduino.
Il sensore ha altri due pedini, uno chiamato
== Codice ==
Di seguito il codice utilizzato per visualizzare nel monitor seriale la distanza degli oggetti localizzati dal sensore.
Da sottolineare che - per l'utilizzo di questo sensore - non è stato necessario includere nessuna libreria. È sufficiente stimare il tempo in cui <
<syntaxhighlight lang="arduino" line="1">
/*
CONTROLLO DEL SENSORE DI PROSSIMITA' HR-SC04
Line 40 ⟶ 60:
#define echo 3
// Definizione della velocita' del suono (centimetri /
#define c 0.0343
// Definizione delle variabili
unsigned long tempo;
float spazio;
Line 74 ⟶ 94:
// spazio viene visualizzata nel monitor seriale (Ctrl + Maius + M)
Serial.print("Distanza = ");
Serial.print(spazio, 1); // la variabile spazio viene
Serial.print(" cm\n");
Line 80 ⟶ 100:
}
</syntaxhighlight>
= Note =
<references />
|