Das funktioniert aber nicht oder?
Druckbare Version
Das funktioniert aber nicht oder?
war ja nicht fertig! der fährt ja nur....=)
so misst er schon mal ;)Code:#include "asuro.h"
int main(void)
{
Init();
Encoder_Init();
while(encoder[LEFT]<100)
{
MotorDir(FWD,FWD);
MotorSpeed(130,125);
}
MotorSpeed(0,0);
return 0;
}
na das sieht doch schon ganz gut aus... jetzt musst du nur noch mal schaun, wie viele ticks eine bestimmte strecke lang ist...
gibts irgend ne aufforderung bei der er wieder zu einem bestimmten punkt zurückspringt?
du hast des vorher falsch vormuliert
encoder[LEFT] zählt wie oft es einen farbwechsel gibts
heißt schwarz-> weis UND weis -> schwarz
oder?
also im programm code springen geht mit goto
allerdings ist das nicht gerade guter stil.
zitat aus der doku zur lib 2.61
njet.Zitat:
Odometriesensor Werte bei Interrupt Betrieb. encoder[0] links, encoder[1] = rechts. (Wertebereich 0..1023)
Definiert in Zeile 170 der Datei asuro.h.
encoder[left] zählt nbicht die einzelnen farbwechsel.
warum fährt er dann bei 30 nur 6 cm? und nicht 12?
hä? wie, wo was??
wo fährt er bei 30 nur 6cm?
oben hab ich doch den code gepostet
wenn ich ihn bis 30 zählen lass
dann sollte er sich ja 3 mal ganz umdrehen
- 10 zu 50
=> eine Umdrehung = 1/5 Radumfang
=> ein Tick = 1/6 Umdrehung = 1/30 Radumfang
Radumfang: 123mm
=> ein Tick = 123mm / 30 = 4,1 mm
dh.: 30 x 4mm = 12cm
er fährt aber nur 6 cm!
:-s