• 6D/7

Ultralydssensor

Guide: Få ultralydssensoren til at virke 

Du skal bruge følgende:

  • Et breadboard
  • En Raspberry Pi Pico Microcontroller
  • Et Pico Robotics Board
  • En Ultralydsensor
  • 6 ledninger

Beskrivelse af Ultralydssensor

Ultralydssensoren er en afstandssensor, der fungerer lidt som en flagermus. Den sender ultralyd (lyd man ikke kan høre) ud og måler den tid, der går indtil lyden vender tilbage - f.eks. hvis lyden rammer et eller andet, hvor den kastes tilbage igen. det kan være en væg eller en bold eller…

I denne guide bruger vi en ultralydssensor til at måle afstanden hen til ting. Sensoren hedder HC-SRO4. På ultralydssensoren er der to rør, som vist på billedet.

Det ene rør bruges til at sende lydbølger ud (markeret med T for Transmitter) og det andet bruges til at modtage de samme lydbølger igen (markeret med R for Receiver). Lydbølgerne er ultrasoniske, dvs. frekvensen er så høj, at man ikke selv kan høre dem. Sensoren virker ved, at man giver den et signal. Så sender den en lydbølge ud fra det ene rør. Hvis lydbølgen rammer f.eks. en væg, som er mellem 2 cm og 4 meter direkte foran ultralydssensoren, så vil lydbølgen blive reflekteret tilbage til modtagerrøret. Så vil sensoren outputte et elektrisk signal, som svarer til den tid, som det tog lydbølgen at blive sendt ud og komme tilbage igen. Da vi ved, hvad lydens hastighed er, så kan vi regne ud, hvor langt der var hen til væggen.

På sensoren er der 4 pins (kig på billedet ovenover). Vcc er sensorens forsyning og skal forbindes til batteriholderen. Gnd er sensorens reference og skal forbindes til - på breadboardet. Trig er en pin, som bruges til at fortælle sensoren, at den skal starte en måling. Echo er den pin, som sensoren bruger til at fortælle, hvor lang tid det har taget lydbølgen at rejse frem og tilbage.

For at bruge sonaren er det lettest at bruge det bibliotek, der findes til micropython. Der er link til det nederst i dokumentet. Det installeres på pico’en ligesom neopixels og Pico Robotics Board bibliotekerne.

Prøv at bygge dette kredsløb:

Skriv følgende program i Thonny og prøv det:

Afstanden skrives hvert sekund i prompten i shell’en i Thonny, så snart programmet kører.

import time
from hcsr04 import HCSR04
sensor = HCSR04(trigger_pin=2, echo_pin=3)
while True:
    distance = sensor.distance_cm()
    print('Distance:', distance, 'cm')
    time.sleep(1)

Beskrivelse af koden 

Kodesproget er MicroPhython.

  • Linje 1 og 2 loader de biblioteker der anvendes.
  • Linje 3 forbinder vores ultralydssensor til pin 2 og pin 3 på microcontrolleren.
  • I linje 6 til 7 går programmet ind i en "while True" løkke, hvor afstanden hentes fra sensoren i centimeter (cm) på linje 5. Herefter skrives afstanden i consollen i linje 6. I linje 7 holdes der en pause på 1 ms for at sikre at sensoren er klar til endnu en måling.

Skriv følgende program i Thonny og prøv det:

Opgave: Og skriv så et program, der lyser rødt hvis afstanden til et objekt er mindre end 10 cm, gult, hvis afstanden er mellem 10 og 20 cm og grønt, hvis afstanden til et objektet er mere end 20 cm.