PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schulprojekt "ASURO" (funtionsanalyse,programmieru



Cyborg3744
20.03.2007, 19:39
Also hallo alle miteinander, tut mir leid wenn mein deutsch etwas eingerostet ist, aber in den lezten 9 Jahren hab ich fast kein Wort mehr geshirieben und kann darum nur hoffen, dass ihr es ertragen könnt troz meiner mehr als mangelhfter Rechtschreibung weiter zu lesen... :mrgreen: ( was für grauenhafte smileys wenn ich bemerken darf... ).

Ok genug blabla... so die Sache ist das wir in der Schule in unserer Klasse verschidene Projekte von den Lehrern kriegen, ich und einer meiner freunde haben ein projekt mit Asuro ^^.
Für die dies interessiert : ich bin seit 9 Jahren in Frankreich und jezt in der zwölften Klasse...
Und neben einigen Programmen die wir schon machen mussten werden wir noch ein par andere machen müssen, und eigentlich sollten wir fals wir probleme haben unserent éléctric/éléctronic lehrer fragen... nur das wir in userer klasse zwar n'en tollen Mechanik Lehrer haben ( was uns bei unserem projekt nicht weiterhilft ) aber dafür auch einen, wie soll ich sagen ? Etwas weniger guten electronic lehrer haben.
Deswegen werde ich euch hir wohl regelmäsig neue fragen stellen ^^ um mir dabei zu helfen ein gutes projekt hinzukriegen.

Aber meine erste frage hat eigentlich nicht mahl so gros was mit programmieren zu tun ( eigentlich sogar gar nichts ^^ ) sonder barauche ich hilfe um eine "funktionsanalyse" und eine "struckturanalyse" ( keien ahnung ob man das so sagt, ich hab versucht die franzôsichen wörter zu übersetzen ) von asuro zu machen.

Also wenn ihr wisst wovon ich spreche und irgend etwas habt das mir helfen könnte oder mir sonst irgendwie helfen könnt... das wäre echt toll ^^

Auserdem hab ich mich ein bisschen umgesehen und mir ein par von euren programmen angesehen... bei einigen hab ich mehr oder weniger nichts kapiert Oo... ich meine wir sind zwar nur anfänger aber die programme die wir bis jezt geschrieben haben ( und ich versichere euch die funktioieren... ) sehen euren nicht mahl von entfernten ähnlich.

Ich bedanke mich für jede antwort.
++

damaltor
20.03.2007, 20:13
wie siehts denn aus mit dem selbsttest? hat der funktioniert?

radbruch
20.03.2007, 21:10
Hallo,

herzlich willkommen hier im Forum. Keine Bange, dein Beitrag ist klasse leserlich und verständlich. So manch einer, der hier in Deutschland lebt, kanns nicht so gut wie du. 8-[


sehen euren nicht mahl von entfernten ähnlich.

Aha, zeig uns doch mal ein Beispiel eurer Programme, vielleicht ein bisschen fahren, ein bisschen blinken...


Also wenn ihr wisst wovon ich spreche
Leider hab ich das auch noch nie gehört und kann daher nicht helfen. Aber ich bin neugierig, ob es sowas für den asuro gibt.

Gruß

mic

KHB
21.03.2007, 15:13
Salut,
regarde ca:
szv.schule.bremen.de/intd4/13-1/Projekt-ASURO/ASURO.ppt

Auf der ersten Folie ist ein Blockschaltbild, das dir vielleicht für die Strukturanalyse hilfreich sein könnte.

Funktionsanalyse? Vielleicht ist damit gemeint, was der Asuro an Funktionen beinhaltet (Programmierung und Kommunikation über IR, Linienverfolgung, Hinderniserkennung über die 6 Taster, Geschwindigkeitsmessung, ....etc)

Was man dann mit den Funktionen macht, ist Anwendersache.
Hoffe ich konnte dir helfen, sonst frage bitte weiter.
bonne journee
Heiner

Cyborg3744
21.03.2007, 18:39
Ok, dachte mir schon, dass man das in deutsch nicht so ausdrückt, der französische Bergriff ist "analyse fonctionelle" (http://fr.wikipedia.org/wiki/Analyse_fonctionnelle_%28conception%29), und vileicht versteht ihr was ich meine wenn ihr euch mal diese Seite (http://images.google.com/imgres?imgurl=http://www.ac-reims.fr/datice/sti/module_si/ppe-cheminee/Site/analyse/fast.png&imgrefurl=http://www.ac-reims.fr/datice/sti/module_si/ppe-cheminee/Site/analyse/analyse.htm&h=596&w=520&sz=87&hl=fr&start=13&tbnid=tIqagRIgH1wgdM:&tbnh=135&tbnw=118&prev=/images%3Fq%3Danalyse%2Bfonctionnelle%26svnum%3D10% 26hl%3Dfr%26sa%3DN) anseht.

Tut mir auch leid, aber ich hab heute nur das erste Programm, dass wir machen sollte : der linie folgen, und anhalten bei Zusammenstoss... ich dachte zwar leichter gehts nicht und da kann man nichts falschmachen ( funltioniert ja auch... ), aber auf dem Forum hab ich ein paar linien folge programme gesehen bei dehnen ich überhaupt nichts kapiert habe :-s .
Also ok, morgen kommen noch 1/2 programmedazu, aber erstmal dieses :


#include "asuro.h"

int main(void)
{
unsigned int data[2];
Init();
FrontLED(ON);
MotorDir(FWD,FWD);
{MotorSpeed(255,255);}
while(1)
{
while(PollSwitch()==0)
{
StatusLED(GREEN);
LineData(data);
if(data[0]>data[1])
{
{MotorSpeed(255,120);}
BackLED(OFF,ON);
}
else
{
{MotorSpeed(120,255);}
BackLED(ON,OFF);
}
}
{MotorSpeed(0,0);}
StatusLED(RED);
}
}

DGS
21.03.2007, 18:58
Hoi!

1.
zB folgendes:


{MotorSpeed(255,255);}
Du brauchst die geschweifte Klammer NICHT.

2.

while(PollSwitch()==0)
Sag nicht, dass der Asuro bei euch damit problemlos funktioniert. Solange du nicht gerade die LIB geändert hast, wird dir diese Funktion oft falschen Wert liefern.
Nimm lieber ne Hilfsvariable, zB:

while(hlp==0) {
hlp = PollSwitch();
hlp = hlp & PollSwitch();
hlp = hlp & PollSwitch();
Indem du mehrmals Wert ausliest, wird es weniger fehleranfälliger.

3.
Dein Asuro fährt Zick-Zack. Also selbst bei einer Gerade würde er immer zu einer Seite fahren. Ich hab bei mir noch ne Lernphase drin, wo er hell und dunkel einliest und dann dafür sorgt, dass Dunkel in der Mitte bleibt.

4.
Dein Asuro wird keine scharfen Kurven schaffen. Indem du sagst, dass der Asuro immer weiterfahren muss und nur lenkt, wird er keine Spitzkehre schaffen. ABER: ich habs genauso gemacht und es hat ausgereicht. Muss du halt aufpassen, wenn du eine Testbahn machst.
Problem: Bei nur 2 Sensoren hat man entweder Geschwindigkeit oder kleinen Kurvenradius. Ich hab mich für Geschwindigkeit entschieden.

Gruss

Cyborg3744
04.04.2007, 20:13
Ok meine ferien sind jetzt vorbei, und mein projekt muss weiter...
Meine "analyse fonctionelle" hab ich jetzt meh oder weniger hingekriegt, und die programme auch wenn die nicht besonders ausgeklügelt sind, funktionieren die.


Problem: Bei nur 2 Sensoren hat man entweder Geschwindigkeit oder kleinen Kurvenradius. Ich hab mich für Geschwindigkeit entschieden.
Genau das selbe mach ich auch da wir 3 in de Classe mit einem "ASURO" projekt sind, und am ende gewinnt der schnellste 8-[

Als nächstes muss ich aber in meinem Bericht die ganze electronik erklären... das heisst ich muss genau erklären wie alles funktioniert ( motoren,odométrie,usw.. ) und wenn möglich auch die Wahl einiger teile erklären, warum zum beispiel dieser Wiedersrtand da einen Wert von 33k haben muss... ](*,) . Und das alles mit hilfe der par lezten Seiten der anleitung auf dem asuro CD.

Also wenn jemand ein Topic gesehen hat dass mir helfen könnte, oder auch sonst irgend etwas nüzliches... ich kann jede Hilfe gebrauchen O:)

Cyborg3744
07.04.2007, 17:49
Ok ich hab jetzt noch ein anderes problem, und dass auch noch bei einem programm von dem wir vorher dachten es funktionniert gut. Aber jetzt haben wir gemerk das da was nicht stimmt. Eigentlich soll Asuro einfach geradeaus fahren, und wenn er gegen etwas stöst soll er die richtung wechseln... aber stat sich kurz zu drehen passiert es oft, dass er sich 3 oder 4 mal so lange dreht wie geplant... könnte mir jemand etklären warum ? Ich denke wie DGS gesagt hat muss hir irgend ein problem mit (Pollswitch()==0) sein, ich weiss aber nicht was ich endern kann um das zu verbessern...
Hier das programm :

#include "asuro.h"

int main(void)
{
float i;
unsigned int data[2];
Init();
FrontLED(ON);
while(1)
{

if(PollSwitch()==0)
{
MotorDir(FWD,FWD);
StatusLED(GREEN);
MotorSpeed(255,255);
}
else
{
for(i=0;i<20000;i++)
{
MotorDir(RWD,RWD);
MotorSpeed(255,150);
StatusLED(RED);
}
}
}

}

Übrigens fals jemand doch irgend ein topic oder so gesehen hat dass die pläne der electronik ( besonders die der odometrie ) erklärt... :-k

Danke...

radbruch
08.04.2007, 07:13
Hallo

Aus verschiedenen Gründen (Forumsuche: "PollSwitch() AND Taste AND asuro") stimmen die von PollSwitch() eingelesenen Werte nicht immer. Eine mögliche Lösung:

if ((PollSwitch() == 0) && (PollSwitch() == 0))

Ein Code von Arexx-Henk der nur abfragt, ob überhaupt eine Taste gedrückt ist:

if(!(PINC & (1<<PC4)))

Gruß

mic