Gå til innhold

HC-SR04 Sensor, måle avstand


Anbefalte innlegg

Hei.

 

Har kjøpt 3 ultrasoniske sensorer. Jeg veit ikke om det er mulig å få de til å gøre det jeg vil.

 

Men se for deg at en av de står 80cm fra veggen. Vil at den da skal regne det som 0cm. Og hvis jeg setter noe 10cm ut fra veggen, dvs 70 cm sensoren, vil jeg at den skal regne det som 10 cm. 

 

Er dette mulig??

Lenke til kommentar
Videoannonse
Annonse

har lest alt jeg har funnet så langt, uten å bli klok. får til å måle avstand. hvis jeg har den 120cm fra veggen så viser den 120cm, men vil den skal vise 0cm fra veggen da.. Den regner ut farten på lyden, så hvis jeg finner ut hvor lang tid det for lyden å komme tilbake fra 120cm så må det være mulig å få den til å vise 0cm? Bruker Arduino foreløbig.

Lenke til kommentar

Kan du ikke bruke noe a la dette (pseudokode):

offset = 120

corrected_distance = real_distance - offset

(eventuelt offset - real_distance)

gitt at du måler i cm.

hmm, offseten vil det være den linjen jeg merket i rødt? jobber ut ifra en kode jeg fant fra nett.

 

 

 

void loop() {
  long duration1, distance1;
  digitalWrite(trigPin1, LOW);  // Added this line
  delayMicroseconds(2); // Added this line
  digitalWrite(trigPin1, HIGH);
  delayMicroseconds(10); // Added this line
  digitalWrite(trigPin1, LOW);
  duration1 = pulseIn(echoPin1, HIGH);
  distance1 = (duration1/2) / 29.1;
 
   if (distance1 >= 200 || distance1 <= 0){
    Serial.println("Out of range");
  }
  else {
    Serial.print ( "LENGDE  ");
    Serial.print ( distance1);
    Serial.println("cm");
  }
  delay(1000);
Lenke til kommentar

sett opp offset og distance2 som  long øverst i koden din.

Under der så sier du offset = 120;

 

etter linjen

distance1 = (duration1/2) / 29.1;

så setter du inn denne linjen:

distance2 = distance1 - offset;

 

etter det så bytter du ut "distance1" med "distance2" i resten av koden.

Lenke til kommentar

sett opp offset og distance2 som  long øverst i koden din.

Under der så sier du offset = 120;

 

etter linjen

distance1 = (duration1/2) / 29.1;

så setter du inn denne linjen:

distance2 = distance1 - offset;

 

etter det så bytter du ut "distance1" med "distance2" i resten av koden.

hmm, distance2 står som Long, må keg lage en egen long med offset?  :hmm:

 

d1JXTGR2.jpeg

Lenke til kommentar

Ja, alle variablene du bruker må deklareres. Hvis det var uklart: offset og distance2 skal være _i tillegg_ til de variablene du har fra før.

Og det skal være slik

distance1 = (duration1/2) / 29.1;

hvorfor endret du den?

Lenke til kommentar

Ja, alle variablene du bruker må deklareres. Hvis det var uklart: offset og distance2 skal være _i tillegg_ til de variablene du har fra før.

Og det skal være slik

distance1 = (duration1/2) / 29.1;

hvorfor endret du den?

ahh okay.. : ) etter å ha knotet litt så fungerer det tror jeg :)

Da var det bare å vente på skjemen som er på tur, og få alle 3 sensorene til å gjøre det : D 

120cmx80xcm100cm : )

 

TAKK! :) (mulig å få det så det ikke står -7cm, men bare 7cm tro?)

 

8p3qt2an857c04zev9j.png

 

megkoftq4widim5midoo.jpg

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...