1. Du er her:  
  2. Hjem
  3. Arduino
  4. Tilkobling av komponenter og moduler
  5. Ultralydsensor HC-SR04
Lilleholt.no
  • Hjem
  • Lenker
  • Webkamera
  • Målestasjoner
  • Arduino
    • Kom i gang
      • Hva er Arduino
      • Flere Arduino-versjoner og utbygging
      • Installere Arduino IDE og drivere
      • Utviklingsmiljøet Arduino IDE
    • Hello World
      • Det første programmet
      • Programmet, bit for bit
    • Programmering av Arduino
      • Variabler
      • Operatorer
      • Valg-setninger
      • Løkker
      • Funksjoner
    • Viktige prinsipper
      • Skrive digitale verdier
      • Lese digitale verdier
      • Lese analoge verdier
      • Skrive analoge verdier
      • Serial Monitor
      • Serial plotter
      • Glidende gjennomsnitt
      • Tilstandsmaskin
      • Bitfikling og registere
    • Tilkobling av komponenter og moduler
      • Ultralydsensor HC-SR04
      • LCD-display
      • DHT22
      • LED-ring med WS2812B RGB-lysdioder
      • Opp- og utlading av kondensator
    • Introduksjon til objektorientering og klasser
    • Internet of Things - et lite eksempel
    • Generell elektronikk
  • Planteblogg
  • Logg inn

Ultralydsensor HC-SR04

Om HC-SR04

HC-SR04 er en veldig mye brukt modul sammen med mikrokontrollersystemer som Arduino. Sensoren bruker ultralyd for å måle avstand, og er ganske nøyaktig fra 3-4 meter ned til noen centimeter.

Virkemåte:

For at sensoren skal starte en måling, sender vi en 10 mikrosekund puls på pinnen som heter "Trig" (trigger). Sensoren sender da ut 8 pulser på 40kHz, og måler tiden det tar før signalet reflekteres. Resultatet vises på Echo-pinnen, som en puls opp til ca. 40ms.


Her er en veldig grundig video om sensoren, som til og med tar hensyn til at lydhastigheten avhenger av temperatur og luftfuktighet, og bruker en DHT22 for å måle disse verdiene. I løpet av videoen installerer han et bibliotek som heter NewPing. Dette kan legges til mye enklere nå, ved å søke det opp under "Skisse->Administrer bibliotek"

Using the HC-SR04 Ultrasonic Distance Sensor with Arduino - Everything you need to know! 

HC-SR04.PNG

Bruksområder

 

Avstandsmåler på "robotbil"
HC-SR04
Ottobot
Ottobot
Høydemåler på quadcopter
Drone
 
   

Oppgaver:

Vi avslutter denne bolken med et par enkle oppgaver:

1.1: Bruk biblioteket HCSR04 til å måle avstand til sensoren og skrive målet i centimeter til serieporten.

1.2: Bruk en meterstokk eller målebånd, og finn ut hvor nøyaktig sensoren er.
UltraLydSensor.MOV

(Filmen laget av min gode kollega og eksamenspartner Knut D. Angelsen.)

2: Legg til en Buzzer og gjør om avstandsmålingen til et lydsignal, slik at den enten piper med høyere frekvens, eller korte pip med kortere mellomrom jo nærmere objektet kommer.

 

Løsningsforslag

 

int trigPin = 11;    // Trigger
int echoPin = 12;    // Ekko
int frekvens;        //Frekvens pipetone (200Hz-2kHz)
int Buzzer = 8;      //Buzzer
long tid, cm;
 
void setup() {
  Serial.begin (9600);
 
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(Buzzer, OUTPUT);
}
 
void loop() {
 
  digitalWrite(trigPin, LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  tid = pulseIn(echoPin, HIGH);
 
  // Gjør om tid til avstand
  cm = (tid/2) / 29.1; 
  frekvens = 2000 - ( cm * 9 ); //regner ut frekvens i forhold til avstand

if (cm >= 200 || cm <= 0) {
        Serial.println("Fritt leide");
        digitalWrite(Buzzer,LOW);
  } else {
        Serial.println("Detektert på avstand");
        Serial.print(cm);             
        Serial.print("cm");       
        tone(Buzzer,frekvens);             //gir pipetone
  }
    
  Serial.print("Avstand ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
 
  delay(250);
}

Detaljer
Skrevet av: Per Sigbjørn
Kategori: Ultralydsensor HC-SR04
Sist oppdatert 21. november 2024
Treff: 5153

Søk


Avansert søk