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