Hi, :)
Sorry das ich noch eine Frage habe, aber ich verstehe das mit der Odometrie nicht ganz. Mit ihr kann man doch den Asuro eine gewisse Strecke fahren lassen, oder? Und kann ich das mal in einer Funktion sehen, Danke :)
Druckbare Version
Hi, :)
Sorry das ich noch eine Frage habe, aber ich verstehe das mit der Odometrie nicht ganz. Mit ihr kann man doch den Asuro eine gewisse Strecke fahren lassen, oder? Und kann ich das mal in einer Funktion sehen, Danke :)
Ich hab zwar keinen Asuro, aber ich glaube es gibt genügend Beispiele für das Teil. Sicherlich auch für die Odometrie. Die Odometrie wird eigentlich weniger eingesetzt um eine bestimmte Strecke zurückzulegen, sondern um Hindernisse zu erkennen, diesen auszuweichen oder davor anzuhalten.
Ist die Odometrie nicht hinten das schwarz weiße Rädchen, das mittels der dioden (glaub ich :)) zählt und dann dadurch eine gewisse strecke fahren kann. Hab ich unrecht? :)
Das ist ein Encoder. Der zählt die Ticks, die du pro Umdrehung machst. Darüber kann man die zurückgelegte Strecke ermitteln.
Ja, aber kann ich damit auch schon vorher eine bestimmte Strecke bestimmen z.B.: er soll 1000 Steps machen (oder so :)) und dann führt er sie aus :)
Ja sicher. Musst die Gleichung ja nur nach einer anderen Größe umstellen. Hat aber nichts mit der Odometrie zu tun.
Was ist dann die Odometrie?
Kannst auch das Wiki bemühen.
mach ich :)
Das heißt die 2 Dioden vorne, die zur Linie entlang fahren dienen, sind gleichzeitig auch die Dioden um gegenstände zu erkennen. Irre ich mich? :)
Hallo? darf ich auch eine Antwort bekommen, oder nicht? :)
Und was meint dann ePyx wenn er sagt das die hinteren 2 räder, mit den schwarz weißen streufen, zum erkennen von hindernissen sein soll. Das ist unlogisch für mich, denn 2 räder die hinten sind können nicht sehen was vorne passiert.
Du hast den ePyx falsch verstanden. Man kann mit verschiedenen IR-Sensoren die Odometrie, Linienverfolgung und Hinderniserkennung.
Beispiele
CNY70 einer Linie folgen oder Odometrie nach Reflektionsprinzip
CNY37 Gabellichtschranke für Odometrie
Sharp GP 2 Y0A 02 YK Distanzmessung/Hinderniserkennung
Ich weiß das hab ich sachon oft gefragt aber hat einer von euch netterweise ein getestetes programm für die Taster des Asuros?
und nochetwas. Ich weiß nicht warum, aber aus irgendeinem Grund will er die Funktion BRAKE nicht compilieren. Hat einer eine Idee. Hier was er mir hinschreibt:
C:\ASURO_src'\ASURO_src\FirstTry>make all
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
[ -s asuro.d ] || rm -f asuro.d
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
[ -s test.d ] || rm -f test.d
-------- begin --------
avr-gcc --version
avr-gcc (GCC) 3.3.1
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
test.c: In function `main':
test.c:38: error: `BRAKE' undeclared (first use in this function)
test.c:38: error: (Each undeclared identifier is reported only once
test.c:38: error: for each function it appears in.)
make: *** [test.o] Error 1
> Process Exit Code: 2
Hallo
"BRAKE" ist keine Funktion, du meinst sicher "BREAK":
(Aus asuro.h)Code:#define FWD (1 << PB5) /* (1 << PD5) */
#define RWD (1 << PB4) /* (1 << PD4) */
#define BREAK 0x00
#define FREE (1 << PB4) | (1 << PB5) /* (1 << PD4) | (1 << PD5)*/
Nicht zu verwechseln mit "break":
(ungetestet)Code:#include "asuro.h"
char c=1;
int main(void)
{
Init();
MotorDir(FWD, BREAK);
switch(c)
{
case 1: StatusLED(RED); break;
default: StatusLED(YELLOW);
}
while(1);
return(0);
}
Gruß
mic
Aso, Ich wusste nicht das es nicht BRAKE sondern BREAK heißt. Und was soll dann die Funktion BREAK? Währe dir echt dankbar für eine kurze Erklärung :) und Danke für das Programm. Wärde gleich mal schaun ob es funktoniert. :) Danke :)