Mål ekkoet med pulseIn
Mål ekkopulsen, og omregn den til cm.
Mål ekkoet med pulseIn er en gratis Arduino & IoT Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Arduino & IoT Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Arduino & IoT Academy-kurset indeholder 4 lektioner i alt.
Send impulsen
For at foretage en måling skal du først sende en ren triggerimpuls. HC-SR04 forventer et kort HIGH-signal på Trig for at starte en ny måling.
Start rent
Sæt først Trig til LOW i et par mikrosekunder. Det rydder eventuelle resterende tilstande, så triggerimpulsen bliver skarp og pålidelig.
digitalWrite(trigPin, LOW);
delayMicroseconds(2);En impuls på ti mikrosekunder
Sæt nu Trig til HIGH i 10 mikrosekunder, og derefter tilbage til LOW. Det er præcis denne varighed, sensoren skal bruge for at sende sin ultralydsimpuls.
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);Mød pulseIn
Funktionen pulseIn venter på, at en pin bliver HIGH, måler derefter, hvor længe den forbliver HIGH, og returnerer varigheden i mikrosekunder.
Mål ekkoet
Kald pulseIn på Echo-pinnen, og vent på HIGH. Tallet, den returnerer, er den fulde returtid for din lydimpuls.
long duration = pulseIn(echoPin, HIGH);Den venter på dig
pulseIn er blokerende: Den sætter dit sketch på pause, indtil ekkoet ankommer, eller tiden løber ud. Til enkle afstandsprojekter er pausen helt fin.
Gør tid til cm
Gang varigheden med lydens hastighed, og divider med to. Resultatet er en klar afstand i centimeter.
float cm = duration * 0.0343 / 2;Her kommer tallet fra
Lyd bevæger sig cirka 0,0343 cm pr. mikrosekund. Denne konstant er blot lydens hastighed omskrevet til enheder, der passer til pulseIn.
Udskriv den
Send værdien til Serial Monitor, så du kan se afstanden ændre sig, når du bevæger hånden mod sensoren.
Serial.print(cm);
Serial.println(" cm");Giv den en pause
Tilføj en kort delay mellem målingerne, cirka 60 millisekunder. Det forhindrer, at ét ekko påvirker den næste måling.
delay(60);Håndtér en timeout
Hvis intet reflekterer lyden, returnerer pulseIn zero. Hvis du kontrollerer det, kan du springe ugyldige målinger over i stedet for at udskrive en forkert afstand.
Hurtigt tjek
Tænk over, hvad pulseIn måler.
Fra impuls til afstand
Udløs, mål tiden med pulseIn, og omregn og udskriv derefter resultatet. Nu kan du måle afstand i koden. Dernæst skal du få sensoren til at gøre noget nyttigt. ✅
Lær C++ med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “Mål ekkoet med pulseIn” gratis?
Ja — hele teksten til “Mål ekkoet med pulseIn” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Arduino & IoT Academy-kurset, skal du opgradere til CoddyKit PRO. Arduino & IoT Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Mål ekkoet med pulseIn”?
Mål ekkopulsen, og omregn den til cm. Du øver dig i Arduino & IoT Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Arduino & IoT Academy?
Der kræves ingen tidligere erfaring. Arduino & IoT Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Mål ekkoet med pulseIn”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Arduino & IoT Academy-lektion?
Ja. Alle Arduino & IoT Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Sådan fungerer ultralydsmåling
- Ledningsføring af Trigger og Echo
- Mål ekkoet med pulseIn
- Byg en nærhedsalarm