Entfernung messen mit Ultraschallsensor SRF02

Entfernung messen mit Ultraschallsensor SRF02

Der bekannte Ultraschallsensor SRF02 wurde zum Messen von Entfernungen zwischen 15cm und 6 Metern von der Firma Devantech speziell für den Robotik-Bereich entwickelt. Aufgrund seines großen Entfernungsbereiches ist er jedoch auch für zahlreiche andere Anwendungen einfach verwendbar.
Es handelt sich hier um die neuste Generation von Ultraschallmodulen, der SRF02 ist quasi eine preiswerte Alternative zu den beliebten Ultraschallsensoren SRF05 und SRF10.

Der große Unterschied besteht darin das dieser Sensor noch kompakter ist da er mit nur einem Ultraschallwandler auskommt. Dennoch bietet der Sensor bereits eine RS232 und eine I2C Schnittstelle und ist daher besonders einfach anzusteuern.srf02

Technischen Eigenschaften

  • Betriebsspannung 5V (stabilisiert)
  • Stromaufnahme nur 4mA (typisch)
  • Ultraschallfrequenz 40khz
  • Reichweite 15cm bis 6 Meter
  • Schnittstelle RS232 (TTL) und I2C-Bus
  • Ausgabeeinheit wahlweise mm, inch oder uS
  • Einfachste Verwendung, keine Kalibration/Justierung notwendig, einfach Spannung anlegen und schon kann gemessen werden. Die neue Firmware machts möglich!
  • Gewicht Nur 4,6 g
  • Größe 24mm x 20mm x 17mm
  • Hersteller: Devantech Ltd

Pinbelegung

Pinbelegung Ultraschallsensor SRF02

Bascom Beispielprogramm

'###################################################
'SRF02_rncontrol_rs232_beispiel.bas
'für
'RoboterNetz Board RN-CONTROL (ab Version 1.1)
'und das SRF02 Ultraschallmodul für Entfernungsmessung
'Datenblatt zu SRF02:
'http://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=357
'Anschlussbeschreibung:
'http://www.roboternetz.de/wissen/index.php/Sensorarten

'Aufgabe:
' Gibt die Firmware-Version vom SRF02 aus und
' anschließend in einer Endlosschleife die
' Entfernung von Objekten in Zentimetern
' Die Entfernung wird 1 mal pro Sekunde über RS232
' ausgegeben
' Dieses Beispiel nutzt den RS232 Mode vom SRF02
' Um die Ergebnisse auch gleichzeitig an PC
' übermitteln zu können, wird in dem Beispiel eine
' zweite RS232 Schnittstelle per Software eingerichtet.
' Dadurch kann der Sensor (oder auch mehrere) bequem
' an der Steckklemme angeschlossen werden

'Autor: Frank (Roboternetz)
'Weitere Beispiele und Beschreibung der Hardware
'unter http://www.Roboternetz.de oder http://www.mikrocontroller-elektronik.de/
'#######################################################



Declare Function Srf02_firmware(byval Slaveid As Byte) As Byte
Declare Function Srf02_entfernung(byval Slaveid As Byte) As Integer


$regfile = "m32def.dat"
$framesize = 42
$swstack = 42
$hwstack = 42

$crystal = 16000000 'Quarzfrequenz
$baud = 9600 'Normale Hardware RS232 (hier hängt PC dran)

Open "COMA.0:9600,8,N,2" For Output As #1 'Port PA0 wird als TX definiert
Open "COMA.1:9600,8,N,2" For Input As #2 'Port PA1 wird als RX definiert


Const Srf02_slaveid = 0 'Standard RS232 Slave ID von SRF02
Dim Entfernung As Integer


 Wait 3 'Warte 3 Sekunden
 Print "SRF02 RS232 Testprogramm von http://www.mikrocontroller-elektronik.de/"
 Print "SRF02 Ultraschall-Firmware Version:" ; Srf02_firmware(srf02_slaveid)
 Print "PA0 wird TX und PA1 wird als RX genutzt"


 V = 1
 Do
 Entfernung = Srf02_entfernung(srf02_slaveid)
 Print "Entfernung:" ; Entfernung ; "cm"
 Wait 1
 Loop
End



'------------- Hilfsfunktionen für SRF02 ----------


Function Srf02_firmware(byval Slaveid As Byte) As Byte

 Print #1 , Chr(slaveid) ; Chr(93);
 Srf02_firmware = Waitkey(#2)
End Function



Function Srf02_entfernung(byval Slaveid As Byte) As Integer
Local Lob As Byte
Local Hib As Byte

 Print #1 , Chr(slaveid) ; Chr(84); 'Messvorgang in cm starten
 Inputbin #2 , Hib , Lob 'Warte auf Ergebnis
 Srf02_entfernung = Makeint(lob , Hib)
End Function

Beispielanwendung mit RN-Control

RN-Control und Ultraschallsensor SRF02

RN-Control und Ultraschallsensor SRF02

RN-Control und Ultraschallsensor SRF02

 

Downloads

  Anleitung zum SRF02 (PDF)
  Bascom Beispielprogramme (ZIP)

 

Weblinks zum Thema

Bezugsquelle

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Top