Aus RN-Wissen.de
Version vom 20. April 2006, 11:34 Uhr von Frank (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
Rasenmaehroboter Test

Das nachfolgende Beispiel demonstriert wie der neue Ultraschallsensor SRF05 an ein Controllerboard angeschossen und per Software die Entfernung ermitelt wird. Hier wird absichtlich der neue zweite Mode demonstriert, da es hierzu im Netzt kaum Beispiele gibt. Dieser Mode erlaubt es die komplette Steuerung über nur einen Port durchzuführen. Also die Verbindung erfolgt nur über ein dreipoliges Kabel (+5V, GND, Digitalport). Das Beispiel ist zwar für RN-MiniControl, kann aber auch auf andere Boards (z.B. RN-Control) übertragen werden, es muss lediglich ein freier Port genutzt werden.

Srf05mode2.gif


Srf05minicontrol.gif


'###################################################
'srf05beispiel.bas
'Dieses Programm demonstriert die Verwendung
'des Ultraschall Entfernungssensors SRF05
'mit dem Controllerboard RN-MINICONTROL
'
'Verwendeter Compiler Bascom V 1.11.8.2
'
'Aufgabe:
'Entfernung wird gemessen und in Zentimetern über
'RS232 ausgegeben
'
'Autor: Frank
'Weitere Beispiele und Beschreibung der Hardware
'unter http://www.Roboternetz.de bzw. robotikhardware.de
'###################################################


'Die üblichen Definitionen bei Standardprogrammen auf Miniboard
$regfile = "m168def.dat"
$crystal = 16000000                                         'Quarzfrequenz
$baud = 9600
$hwstack = 32
$framesize = 32
$swstack = 32


Dim Zeitmessung As Word
Dim Entfernung As Word


Print "**** SRF05 mit RN-MINICONTROL *****"
Print "Entfernung in cm anzeigen"


Config Pind.2 = Output

Do
    Portd 0.2 = 0                                           'Port Low
    Pulseout Portd, 2, 40                                   'Min. 10uS Impuls senden
    Pulsein Zeitmessung, Pind, 2, 1
    Zeitmessung = Zeitmessung * 10                          'mal 10 da Pulsein in 10uS Einheiten Ergebnis ermittelt
    Entfernung = Zeitmessung / 58                           'Umrechnen in Zentimeter
    Print "Entfernung: "; Entfernung; " cm"
    Wait 1
Loop



LiFePO4 Speicher Test