breaking news

Ultraljudssensor HC-SR04

april 15th, 2020 | by Gustav Soderbom
Ultraljudssensor HC-SR04
Arduino
0

En ultraljudssensor är en form av sensor som mäter avstånd genom att skicka ut korta ljudpulser. Om ljudpulsen träffar ett objekt reflekteras den tillbaka och fångas upp av sensorn. Från detta beräknas avståndet.

Ultraljudssensorer kan användas t.ex. för att mäta vattennivån i olika tankar eller till applikationer där en känslig sensor behövs av olika anledningar. Ett dörrlarm är ett exempel där en ultraljudssensor skulle kunna användas, även om den ofta kanske inte gör det.

Jag hittade koden för avståndsmätning på https://randomnerdtutorials.com/complete-guide-for-ultrasonic-sensor-hc-sr04/

/*
 * created by Rui Santos, https://randomnerdtutorials.com
 * 
 * Complete Guide for Ultrasonic Sensor HC-SR04
 *
    Ultrasonic sensor Pins:
        VCC: +5VDC
        Trig : Trigger (INPUT) - Pin11
        Echo: Echo (OUTPUT) - Pin 12
        GND: GND
 */
 
int trigPin = 11;    // Trigger
int echoPin = 12;    // Echo
long duration, cm, inches;
 
void setup() {
  //Serial Port begin
  Serial.begin (9600);
  //Define inputs and outputs
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}
 
void loop() {
  // The sensor is triggered by a HIGH pulse of 10 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  digitalWrite(trigPin, LOW);
  delayMicroseconds(5);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
 
  // Read the signal from the sensor: a HIGH pulse whose
  // duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
  pinMode(echoPin, INPUT);
  duration = pulseIn(echoPin, HIGH);
 
  // Convert the time into a distance
  cm = (duration/2) / 29.1;     // Divide by 29.1 or multiply by 0.0343
  inches = (duration/2) / 74;   // Divide by 74 or multiply by 0.0135
  
  Serial.print(inches);
  Serial.print("in, ");
  Serial.print(cm);
  Serial.print("cm");
  Serial.println();
  
  delay(250);
}

Jag fick denna kod att fungera i Tinkercad

Information från

Källa: https://www.sensorgruppen.se/produkter/sensor/ultraljud/

Lämna ett svar

E-postadressen publiceras inte. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.