Eksempel på tilslutning og kode til HC-SR04 ultralyds sensor

Denne sensor kan måle afstande ved hjælp af ultralyd.
Da det er lydbølger denne sensor bruger, kan man måle, med rimelig pålidelighed, op til ca. 4m afstande.

Når denne sensor får et 10 mikrosekunds impuls på trigger pin, sender den 8 impulser.
Det er disse 8 impulser der måles på echoet af, når de har ramt et objekt.

Ud fra dette kan man så beregne hvor lang afstanden er ved hjælp af lydens hastighed.
Lydens hastighed er 340 m/s eller 2.9 mikrosekund per mm.

Du kan finde sensoren i shoppen

Eksempel kode:

/* Trab.dk Example Software Sketch
 HC-SR04 ultrasonic distance sensor
 Connect Vcc and Ground, echo to pin 9 and trig to pin 8 on Arduino UNO R3
 kundeservice@trab.dk */

//Define trigger pin
#define trigPin 8

//Define echo pin
#define echoPin 9

void setup() {
  Serial.begin (9600); // Initialize serial
  pinMode(trigPin, OUTPUT); //Set trigger pin to output
  pinMode(echoPin, INPUT); //Set echo pin to input
}

void loop() {
  long duration, distance; //Defines duration and distance vars
  //Send ultrasonic signal
  digitalWrite(trigPin, LOW);  //Set trigger pin to LOW - Just to be sure nothing is transmitting
  delayMicroseconds(2); // Wait 2 microsec before transmitting the "ping"
  digitalWrite(trigPin, HIGH); //Set trigger pin to HIGH - Transmit ping
  delayMicroseconds(10); //Wait 10 microsec - Just to generate a reliable ping
  digitalWrite(trigPin, LOW); //Set trigger pin to LOW - Stop transmitting

  //Listen for the ping echo
  duration = pulseIn(echoPin, HIGH); //Get duration before the ping eche is heard
  distance = (duration / 2) / 29.1; //Convert duration to centimeters

  //Print distance in centimeters to serial console
  Serial.print(distance);
  Serial.println(" cm");

  delay(500); //Wait 500 ms before making a new ping
}

/* ( THE END ) */