-
-
Erfahrener Benutzer
Robotik Einstein
Brauche Befehle für CCBasic
Kann mir mal bitte jemand bei meinem Problem helfen?
Ich habe vor kurzem mit der Programmierung des CCRP5 mis CCBasic angefangen, habe aber keinen Ahnungn, was die Befehle bedeuten und was sie bewirken. Hat jemand eine Liste mit den Befehlen und deren Bedeutung.
Danke für die Hilfe!
-
Super-Moderator
Lebende Robotik Legende
-
Erfahrener Benutzer
Robotik Einstein
Danke für den Hinweis. Ich brauche aber auch Befehle mit denen ich zum Beispiel das Anticollisionssystem abfragen kann.
-
Super-Moderator
Lebende Robotik Legende
Meinst Du diese Funktionen?
http://www2.produktinfo.conrad.com/d...-Robby_RP5.pdf
function getAMBIENT_SENS( )
Ruft die Werte der Umgebungssensoren ab. Sie sind als ccrp5.LIGHTL, ccrp5.LIGHTR. ccrp5.MIC und
ccrp5.TOUCH verfügbar
function getDISTANCE( )
Ruft die Werte der Wegstreckenzähler ab und stellt sie in ccrp5.DISTL und ccrp5.DISTR zur Verfügung
function setACSLO( )
function setACSHI( )
function setACSMAX( )
Funktionen zum Einstellen der ACS-Empfindlichkeit
-
Erfahrener Benutzer
Robotik Einstein
Wie kommt es, dass Befehle die für die Grundplatte gebraucht werden erst bei der Erweiterung aufgelistet werden?
Trotzdem denke ich, dass ich jetzt erstmal weiter komme.
-
Erfahrener Benutzer
Robotik Einstein
Befehle für CCRP5
Hallo Jon,
wenn du zum Robby Fragen hast, ist es wichtig, mit welcher "Version" du arbeitest.
1. Robby in der Grundform wie gekauft (Programmierung in CCBASIC)
2. Robby mit Erweiterungsplatine (190310), CCBASIC
3. Robby mit Erweiterungsplatine UND C-Control II (191111), Programmierung in C2
Dann kann dir geholfen werden!
Ich denke aber, dass du die Grundform hast.
Die "Befehle" für das Abfragen von Sensoren sind in CCBASIC keine einfachen Funktionsaufrufe wie liesSensorXY, sondern setzen sich aus einzelnen BASIC-Befehlen zusammen. Du must dir also zuerst die BASIC-Befehle ansehen und dann die Beispielprogramme anschauen. Da findet man dann Abfragen der Sensoren, so wie man sie in eigene Progs einbauen kann.
Beispiel:
SYS ACS_MAX:SYS COMNAV_STATUS:GOSUB LED3ON
if (SYSTEM_STATUS and &H03)=3 then goto move_fwd
Hier werden 2 Systemroutinen aufgerufen (ACS_MAX setzt die Empfindlichkeit des ACS auf MAX, COMNAV_STATUS liest den Status des Subsystems).
Durch diesen Aufruf wird die Variable SYSTEM_STATUS mit dem Ergebnis gefüllt: Bit 0 ist der rechte Sensor, 1 der linke. Nur diese 2 Bits in der 8-Bit-Variable sind interessant. Daher werden in der folgenden if-Abfrage mit AND &H03 alle anderen Bits maskiert. Das Ergebnis kann dann 0, 1, 2 oder 3 sein.
0: Kein Sensor angesprochen
1: rechter Sensor
2: linker Sensor
3: beide Sensoren
Wenn beide Sensoren angesprochen haben, geht's zu move_fwd
So kannst du dir alle Beispiele ansehen und die Codeteile für eigene Entwicklungen nutzen.
Gruss Dirk
-
Erfahrener Benutzer
Robotik Einstein
Vielen Dank Dirk!!
Ich glaube, dass ich jetzt deutlich mehr verstanden habe.
-
Erfahrener Benutzer
Robotik Einstein
Hallo Dirk!
Könnte es sein, dass
1:der linke Sensor und
2:der rechte Sensor ist?
Schreibe doch bitte kurz zurück!
Gruß Jon
-
Erfahrener Benutzer
Robotik Einstein
ACS
Hallo Jon,
Könnte es sein, dass
1:der linke Sensor und
2:der rechte Sensor ist?
du hast Recht! Sorry!
Gruss Dirk
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen