Hi
Ich hab mir vor kurzem den NiboBee gekauft und haben nun versucht ihm beizubringen genau kurven zu fahren.
Meine Vorgehensweise:
-Programm geschrieben welches ein Rad um eine Umdrehung dreht,(mit Odometriesensoren)
-Winkel gemessen
-in Odometrieschritte umgerechnet
Dabei kam raus:
Eine radumdrehung entspricht 55° und 19 "Odometrieschritten"
Alle bisauf 45° gerundet:
45°=15.5 (15 oder 16)
90°=31
180°=62
225°=78
270°=93
315°=109
360°=124
Bei höreren Geschwindigkeiten gilt dies nicht weil die Reifen ersteinmal durchdrehen.
Mein code Dazu
Code:
#include <nibobee/motpwm.h>
#include <nibobee/delay.h>
#include <nibobee/led.h>
#include <nibobee/odometry.h>
#define right 1
#define left 2
void dreh(uint8_t side,uint8_t steps)
{
odometry_reset();
switch(side)
{
case left: for (; odometry_getLeft(0)<steps; )
{
motpwm_setLeft(300);
}
break;
case right: for (steps=steps-1; odometry_getRight(0)<steps; )
{
motpwm_setRight(300);
}
break;
}
motpwm_stop();
}
int main()
{
motpwm_init();
odometry_init();
sens_init();
while(1==1)
{
enable_interrupts();
delay(1000);
dreh(left,124);
delay(1000);
dreh(right,124);
}
return(0);
}
Ich denke der Code ist selbserklärend
Marlon
PS:Ich denke dass Kann man auch wunderbar in die Libarys einbauen, was mein ihr
Lesezeichen