Level 2Lærerveiledning - Ultralydsensor

Skrevet av: Martin Ertsås, Morten Minde Neergaard og Susanne Rynning Seip

Kurs: Arduino
Tema: Elektronikk, Tekstbasert
Fag: Naturfag, Teknologi
Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole
Til oppgave

Om oppgaven

I denne oppgaven skal elevene se på bruken av en ultralydsensor.

checkOppgaven passer til:

Fag: Naturfag, Teknologi og Design, Teknologi og forskningslære

Anbefalte trinn: 5. trinn - VG3

Tema: Andruino, Kretser, Ultralyd

Tidsbruk: Dobbelttime

Kompetansemål

Forslag til læringsmål

Forslag til vurderingskriterier

Oppgaven er grunnleggende, og kan ikke brukes alene for vurdering av kompetansemålet.

Forutsetninger og utstyr

    utstyr

Fremgangsmåte

Her kommer tips, erfaring og utfordringer til de ulike stegene i den faktiske oppgaven. Klikk her for å se oppgaveteksten.

Koblingsskjema

Elevene skal allerede ha løst en del oppgaver før de begynner på denne, men hittil alltid fått koblingsskjema utlevert. Denne oppgaven kan være en god anledning til å la dem prøve å koble opp komponentene uten skjema. Det kan dog være greit å ha et koblingsskjema eller tre i bakhånd for å dele ut:

kobling

Hjelp til 7-segment-utfordringen

I oppgaven 7-Segment Display har vi laget koden som kan vise et tall mellom 0 og 9 på et display. Koden under vil bare skrive ut «Om du hadde hatt et display burde det vist tallet (tall)» om og om igjen på seriellkonsollet.

const auto ekko = 2; // Echo pin
const auto sender = 3; // Trig pin
const auto lydens_hastighet = 0.034029; // 340.29 m/s

void setup() {
  Serial.begin(9600);
  pinMode(ekko, INPUT);
  pinMode(sender, OUTPUT);

  digitalWrite(sender, LOW);
}

void loop() {
  digitalWrite(sender, HIGH);
  delayMicroseconds(5);
  digitalWrite(sender, LOW);

  auto tid = pulseIn(ekko);
  auto avstand = (tid * hastighet) / 2;

  auto syvsegment = map(avstand, 0, 127, 0, 9);
  Serial.print("Om du hadde hatt et display burde det vist tallet ");
  Serial.println(constrain(syvsegment, 0, 9));

  delay(100);
}

map vil lineært skalere avstand fra verdiområdet 0-127 til en verdi fra 0 til 9. En avstand på over 127 cm vil gi høyere verdier enn 9.

Tallet 127 cm er litt tilfeldig valgt som et tall som kan gi mening for å oppdage gjenstander rundt pulten. Ultralydsensoren skal kunne «se» opp til 4 meter fremfor seg, men da må de være store og flate (f.eks. en vegg).

For formelen brukt i map, se referansen for hos arduino.cc. Dette kan være relevant om man vil vinkle denne oppgaven inn mot matematikk.

constrain vil her gjøre at alle verdier høyere enn 9 vil bli satt til 9.

Variasjoner

Eksterne ressurser

Lisens: CC BY-SA 4.0

Forbedre denne siden

Funnet en feil? Kunne noe vært bedre?
Hvis ja, vennligst gi oss tilbakemelding ved å lage en sak på Github eller fiks feilen selv om du kan. Vi er takknemlige for enhver tilbakemelding!