Mc Delta
06.03.2010, 11:31
Hey,
Ich bin neu hier in dem Forum und habe seit kurzem auch einen RP6!
Ein paar einfache Programme habe ich auch schon geschrieben. Außerdem habe ich 3 zusätzliche LEDs angeschlossen.
Naja, jedenfalls wollte ich mithilfe des RP6 eine Art Bild der Umgebung erstellen lassen. Dabei ist mir klar, dass die Werte nicht sehr genau sein können. Mir gehts erstmal nur um das Prinzip. Man könnte ihn die benötigten Werte in Form von Nullen und Einsen in einem Array speichern lassen. Das Program dazu habe ich auch schon nur auch ein Problem undzwar hört RP6 nicht auf sich zu drehen. Die gespeicherten Werte kann ich aber ohne Weiteres abfragen.
Wäre nett wenn ihr euch den Code anschaut und Verbesserungsvorschläge schreibt.
#include "RP6RobotBaseLib.h"
void acsStateChanged(void)
{
uint8_t unserTollesArray[36];
uint8_t i;
uint8_t s;
for(i = 0; i < 36; i++)
{
s=2;
rotate(100, LEFT, 1,true);
if(obstacle_left && obstacle_right)
{
s=(s-1);
}
else
{
s=(s-2);
}
unserTollesArray[i]=s;
writeString("i=");
writeInteger(unserTollesArray[i], DEC);
writeString(" Durchgang:");
writeInteger(i, DEC);
writeChar('\n');
}
}
int main(void)
{
initRobotBase();
ACS_setStateChangedHandler(acsStateChanged);
powerON();
setACSPwrHigh();
while(true)
{
task_ACS();
}
return(0);
}
Ich bin neu hier in dem Forum und habe seit kurzem auch einen RP6!
Ein paar einfache Programme habe ich auch schon geschrieben. Außerdem habe ich 3 zusätzliche LEDs angeschlossen.
Naja, jedenfalls wollte ich mithilfe des RP6 eine Art Bild der Umgebung erstellen lassen. Dabei ist mir klar, dass die Werte nicht sehr genau sein können. Mir gehts erstmal nur um das Prinzip. Man könnte ihn die benötigten Werte in Form von Nullen und Einsen in einem Array speichern lassen. Das Program dazu habe ich auch schon nur auch ein Problem undzwar hört RP6 nicht auf sich zu drehen. Die gespeicherten Werte kann ich aber ohne Weiteres abfragen.
Wäre nett wenn ihr euch den Code anschaut und Verbesserungsvorschläge schreibt.
#include "RP6RobotBaseLib.h"
void acsStateChanged(void)
{
uint8_t unserTollesArray[36];
uint8_t i;
uint8_t s;
for(i = 0; i < 36; i++)
{
s=2;
rotate(100, LEFT, 1,true);
if(obstacle_left && obstacle_right)
{
s=(s-1);
}
else
{
s=(s-2);
}
unserTollesArray[i]=s;
writeString("i=");
writeInteger(unserTollesArray[i], DEC);
writeString(" Durchgang:");
writeInteger(i, DEC);
writeChar('\n');
}
}
int main(void)
{
initRobotBase();
ACS_setStateChangedHandler(acsStateChanged);
powerON();
setACSPwrHigh();
while(true)
{
task_ACS();
}
return(0);
}