Report

Projekt NXT Roboter

508 Words / ~12 pages
<
>
swopdoc logo
Download
a) trade for free
b) buy for 3.89 $
Document category

Report
Information Technology / Computer S

University, School

St.Gallen

Grade, Teacher, Year

2009, Projektdokumentation

Author / Copyright
Text by Jérôme M. ©
Format: PDF
Size: 0.55 Mb
Without copy protection
Rating [details]

Rating 3.2 of 5.0 (11)
Live Chat
Chat Room
Networking:
1/0|22.0[0.0]|0/1







More documents
selbstorganisie­rte­s Lernen mittels LEGO NXT 2.0 und Unterrichtsplan­ung von Lernprozessen mittels NXT TEIL I Selbstunganisie­rte­s Lernen mittel LEGO NXT 1 Einleitung 3 2 Definition 4 3 Gründe 4 3.1 Warum selbstorganisie­rte­s Lernen. 4 3.2 Warum selbstorganisie­rte­s Lernen und Lego Roboter.. 4 4 Ziele 5 4.1 Positive Einstellung zum Lernen 5 4.2 Förderung von Verantwortungsb­ere­itschaft 5 4.3 Förderung von Lernkompetenz 5 4.4 Verbesserung der Kommunikation- und Problemlösefähi­g­keit 5 5 Optimale Rahmenbedingung­en…

Steuerungsaufgaben bearbeiten Projektauftrag

Parkour: Zielscheibe abfahren


Inhaltsverzeichnis

1. Arbeitsplanung. 3

2. Strategie. 4

3. Zuordnungstabelle. 5

4. Zustandsdiagramm 6

5. Struktogramm 7

6. Sourcecode. 8

7. Eigene Meinung. 12


1.     Arbeitsplanung


Datum

Aufgabe

Zuständig


Analyse, Arbeitsaufteilung, Planung



Strategie



Zuordnungstabelle



Zustandsdiagramm



Struktogramm



Sourcecode



Sourcecode



Testprotokoll



Eigene Meinung



Abschluss Projekt


2.     Strategie


Nach langem Überlegen, und mit der Anforderung, eine Strategie zu entwickeln, um jede Linie der Scheibe möglichst nur ein Mal abzufahren, haben wir uns folgende Lösung ausgedacht:

Bei dieser Lösung gibt es sehr wenige Überschneidungen, ausserdem fährt der Roboter die Linien Symmetrisch ab, d.H dadurch ist es möglich, den Programmcode möglichst einfach zu halten, weil der Roboter für jedes „Viertel“ vom Kreis denselben Code verwenden kann!

Die Pfeile mit den entsprechenden Nummern zeigen an, wo der Roboter der Reihe nach durchfährt, wie vorhin bereits erwähnt ist es nicht relevant, mit welchem Viertel von der Scheibe er beginnt.

3.     Zuordnungstabelle


Bedeutung von 0

Bedeutung von 1

Sensoren

S1

Nichts gedrückt

Start gedrückt

S2

Nicht links Fahren

Links Fahren

S3

Nicht rechts Fahren

Rechts Fahren

Aktoren

M1

Motor A aus

Motor A an

M2

Motor B aus

Motor B an

Download Projekt NXT Roboter
Click on download to get complete and readable text
• This is a free of charge document sharing network
Upload a document and get this one for free
• No registration necessary, gratis

5.     Struktogramm

6.     Sourcecode

//******************************************************************************

//

//

//Motoren und Sensoren

//[I/O Port] [Name] [Typ] [Beschreibung]

//Port A motorA Aktor Motor

//Port B motorB Aktor Motor

//Port 1 sensor1 Sensor Lichtsensor

//Port 2 sensor2 Sensor Lichtsensor

//******************************************************************************


//******************************************************************************

//Deklarationen

//******************************************************************************

int zustand;

int rechtsgedreht;

int linksgedreht;

int geschwindigkeit;

int zaehler;




//******************************************************************************

//Programm

//******************************************************************************


void nachrechtsdrehen()

{

motor[motorA] = 50;

motor[motorB] = -25;

wait1Msec(800);

}


void nachlinksdrehen()

{

motor[motorA] = -25;

motor[motorB] = 50;

wait1Msec(800);

}

void streckefahren()

{

if (SensorValue(S1) >= 45 && SensorValue(S2) >=45)

{

motor[motorA] = geschwindigkeit;

motor[motorB] = geschwindigkeit;

}

if (SensorValue(S1) >= 45 && SensorValue(S2) <=45)

{

motor[motorA] = geschwindigkeit;

motor[motorB] = 0;

}

if (SensorValue(S1) <= 45 && SensorValue(S2) >=45)

{

motor[motorA] = 0;

motor[motorB] = geschwindigkeit;

}

}

task main()

{

SensorType(S1) = sensorLightActive;

SensorType(S2) = sensorLightActive;

geschwindigkeit = 30;

zustand = 0;

rechtsgedreht = 0;

linksgedreht = 0;

zaehler = 0;

while(true)

{

nxtDisplayTextLine(1, "Licht_S1: %d", SensorValue(S1);

nxtDisplayTextLine(2, "Licht_S2: %d", SensorValue(S1);

if (zustand==0 )

{

//Fahrt aus dem Zentrum

streckefahren();

//Wenn beide Sensoren schwarz sind, d.H er am innenkreis angekommen ist.

if (SensorValue(S1) <= 45 && SensorValue(S2) <= 45) //beide schwarz

{

zustand=1;

}

}

if (zustand==1)

{

if (rechtsgedreht==0)

{

nachrechtsdrehen();

rechtsgedreht = 1;

}

zustand=2;

rechtsgedreht = 0;

}

if (zustand==2)

{

//Sobald er auf dem Innenkreis die 90° Drehung durchgeführt hat.

streckefahren();

//Sobald der Roboter auf die nächste Querlinie getroffen ist, soll er sich nach aussen drehen

if (SensorValue(S1) <= 45 && SensorValue(S2) <= 45) //beide schwarz

{

motor[motorA] = 10;

motor[motorB] = geschwindigkeit;

wait10Msec(80);

zustand=3;

}

}

if (zustand==3)

{

//Fahrt auf der Linie zum Aussenkreis

streckefahren();

//Drehung auf dem Aussenkreis

if (SensorValue(S1) <= 45 && SensorValue(S2) <= 45) //beide schwarz

{

if (linksgedreht == 0)

{

nachlinksdrehen();

linksgedreht = 1;

}

zustand=4;

linksgedreht=0;

}

}

if (zustand==4)

{

//Der Roboter fährt nun die Linie auf dem Aussenkreis entlang

streckefahren();

Sobald der rechte Sensor einen Hohen, und der linke Sensor einen mittleren Schwarzwert hat, muss sich der Roboter auf dem Kreis nach innen drehen.

if (SensorValue(S1) < 35 && SensorValue(S2) < 40) //Rechter sensor schwarz

{

if (linksgedreht == 0)

{

nachlinksdrehen();

linksgedreht = 1;

}

zustand=5;

linksgedreht=0;

}

}

if (zustand==5)

{

//Fahrt zurück zum Zentrum

streckefahren();

if (SensorValue(S1) <= 45 && SensorValue(S2) <= 45) //beide schwarz

{

motor[motorA] = geschwindigkeit;

motor[motorB] = 10;

wait10Msec(80);

zustand=0;

if (zaehler==1)

{

motor[motorA] = geschwindigkeit;

motor[motorB] = 20;

wait10Msec(80);

while (true)

{

motor[motorA] = 0;

motor[motorB] = 0;

}

}

zaehler = 1;

}

}

}

}



Legal info - Data privacy - Contact - Terms-Authors - Terms-Customers -
Swap+your+documents