Afstand ultrasoon meten (HC-SR04)

LED’s, zoemers en schakelaars zijn de meest voorkomende items die aan een Raspberry Pi aangesloten worden. Met de ultrasoon afstandsmeter module ben je in staat afstanden waar te nemen tot voorwerpen die voor de sensor gehouden worden. Je kunt er afstanden mee meten tot 4,5 meter.

De module is overall te koop, het is goedkoop en heeft een recht-toe-recht-aan interface om met de GPIO header te verbinden.

De twee transducers geeft de interface een bijzonder uiterlijk. De module werkt door een ultrasoon puls te verzenden en de tijd te meten als het echosignaal weer opgevangen wordt. Dit verschil in tijd kan gebruikt worden om afstanden te meten.

Specificaties

Verbinden met de Pi
De Ultrasoon module kent een eenvoudige aansluiting.

Aansluittabel ultrasoon module en de Raspberry Pi

Aansluitpinnen van de HC-SR04
De input pin van de module heet de ‘trigger‘ omdat dit signaal het zenden van de ultrasoon puls start. De module wil eigenlijk een logisch signal op 5V niveau, maar het werkt prima met een 3,3V signal van de GPIO, zo nodig kan een level shifter gebruikt worden om het logische signaal naar 5V om te zetten. De trigger pin verbind je met Pin 16 (GPIO23). Natuurlijk kun je een andere GPIO pin gebruiken, maar dan zal je het script er wel voor moeten aanpassen.

De uitgang van de module heet de ‘echo’ en heeft wat uitleg nodig. Deze is standaard LAAG (0V) totdat de module de afstand gaat meten, dan wordt de uitgang HOOG (+5V). Deze is HOOG gedurende de meettijd.

Het script moet de tijd meten dat de pin HOOG was. De module gebruikt +5V voor HOOG, maar die spanning is te hoog voor de GPIO poort van de Pi, die maar 3,3V mag hebben. Om er zeker van te zijn dat de Pi met 3,3V aangestuurd wordt, wordt een een spanningssplitser gebruikt. Deze wordt gevormd door twee weerstanden. Als R1 en R2 hetzelfde zijn, wordt de spanning in tweeën gesplitst. Dit geeft ons 2,5V. Als R2 twee keer de waarde van R1 is, dan krijgen we 3,3V. Dat is goed! Dus willen we dat de waarde van R2 tussen R1 en 2xR1 ligt. In dit voorbeeld gebruiken we 330 ohm en 470 ohm weerstanden. Een alternatief zou 1000 ohm en 1500 ohm zijn.

Level shifter
In plaats van weerstanden kun je een level shifter gebruiken. Het ‘echo‘-signaal van de HC-SR04 module gaat dan naar een van de H-kanalen (HV=5V) en bij hetzelfde nummer bij het L-kanaal (LV=3.3V) verschijnt 3.3V uit. Deze wordt dan veilig met pin18 (GPIO24) van de Raspberry Pi verbonden.

Aansluitschema – Ultrasoon meetsensor met levelshifter

Als alles goed aangesloten is kan de software gedownload worden. Er staan twee scripts in.

  • ultraMeten.py – Hiermee wordt de afstand tot een object gemeten
  • ultrasonicAlarm.py – Hier kun je een afstand opgeven waarbij een alarm getriggerd wordt

De scripts worden in de LXterminal of via SSH opgestart met het commando:

python ultraMeten.py

en

python ultrasonicAlarm.py

Als alles goed gegaan is werkt het zoals hieronder in de video.

Testopstelling ultrasone afstandsmeting met HC-SR04 module en level shifter

Veel succes!