Il sensore di distanza a microonde HCSR04.

Sensore sonar HC-SR04HC-SR04 by Share_STEP_files - Thingiverse

Il sensore di distanza, tipo HC-SR04 è un dispositivo dotato di due “micro – casse”, due componenti dotati di membrane dietro alle quali vi è una elettrocalamita. Inviando un impulso alla prima cassa, l’elettromagnete si sposta e la membrana con esso. In tal modo si produce un onda meccanica (acustica), un ultrasuono che viaggia nello spazio avanti il sensore. Se l’ultrasuono incontra un ostacolo, ne viene riflesso (effetto eco) e ritornando in dietro può colpire la seconda “micro – cassa”. Anche la seconda “micro-cassa” possiede una membrana che, ricevendo l’onda acustica, si metterà a vibrare, spostando anche l’elettromagnete dietro di essa che produrrà una piccola corrente indotta, questo segnale viene trasdotto e letto da Arduino come impulso in ingresso.

 

Calcolo della distanza dell’oggetto.

 

Spiegazione filmata:

 

 

Esercizio: Utilizzare un buzzer per segnalare distanze inferiori ai 20 cm .

Il codice:

long distanza=0;
  long tempo=0;

void setup() {
  pinMode(10,OUTPUT); // trigger
  pinMode(9,INPUT); // echo
}

void loop() {  // emissione dell’ultrasuono dal trigger
  digitalWrite(10,LOW);
  digitalWrite(10,HIGH);
  delayMicroseconds(10);
  digitalWrite(10,LOW);

 

  /* ricezione dell’ ultrasuono su echo. L’istruzione “pulseIn()” restituisce il tempo di  andata e ritorno del suono.    Calcolo della distanza: velocità = spazio / tempo    v=s/t –> s=vt   v=340 m/s = 34000 cm/s  */

  tempo=pulseIn(9,HIGH); // tempo misurato in microsecondi sec/1000000
  distanza=tempo*0.017;
  if (distanza < 20) {
    tone(8,2000,500); // (pin,tono,durata)
    delay(1000);
    noTone(8);
     }
}