Frank (Diskussion | Beiträge) K |
Frank (Diskussion | Beiträge) K |
||
Zeile 47: | Zeile 47: | ||
Do | Do | ||
− | Portd 0.2 = 0 | + | Portd 0.2 = 0 'Port Low |
− | Pulseout Portd, 2, 40 | + | Pulseout Portd, 2, 40 'Min. 10uS Impuls senden |
Pulsein Zeitmessung, Pind, 2, 1 | Pulsein Zeitmessung, Pind, 2, 1 | ||
− | Zeitmessung = Zeitmessung * 10 | + | Zeitmessung = Zeitmessung * 10 'mal 10 da Pulsein in 10uS Einheiten Ergebnis ermittelt |
− | Entfernung = Zeitmessung / 58 | + | Entfernung = Zeitmessung / 58 'Umrechnen in Zentimeter |
Print "Entfernung: "; Entfernung; " cm" | Print "Entfernung: "; Entfernung; " cm" | ||
Wait 1 | Wait 1 |
Version vom 20. April 2006, 11:35 Uhr
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.
'################################################### '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