Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Wie Programmiere ich in der Roboter-AG???

Ähnliche Präsentationen


Präsentation zum Thema: "Wie Programmiere ich in der Roboter-AG???"—  Präsentation transkript:

1 Wie Programmiere ich in der Roboter-AG???
Dieses File soll dir Helfen mit den Programmierstrategien in der Roboter-AG vertraut zu werden.

2 Im Hauptordner deines USB-Sticks diese EXE-Datei ausführen.
(auf die Dateigröße achten)

3 2. 1. Die Maschine „Roboter-Linux“ auswählen und auf Starten klicken

4 Sich als „Roboter“ mit dem Passwort „roboter“ anmelden.
1. 2. 3. Sich als „Roboter“ mit dem Passwort „roboter“ anmelden.

5 Das ist die Asuro-Bibliothek
Der Ursprüngliche Editor aus der Anleitung Über das Terminal kann man das Flashtool aufrufen Hier werden die „Projekte“ gespeichert Mit diesem Programm programmiert man

6 - Um ein neues Projekt zu beginnen, öffnet man zuerst den Ordner
„Projekte Asuro“. - Am Anfang findet man hier den Ordner „FirstTry“. Dieser darf nicht gelöscht werden sonst ist das Programmgerüst weg und man muss dieses neu schreiben, was auch keine schlechte Übung ist. -Man legt einen Ordner mit dem Namen an, wie später das eigene Projekt heißen soll. Bsp: „StatusLedYellow“ -In diesen Ordner kopiert man noch nichts. -Jetzt muss man diesen Ordner minimieren und AVR-Studio 4 starten. -Dies dauert ein bisschen d.h. nicht wild rumklicken sonst dauert es noch länger.

7 New Project wählen

8 Denn Pfad anpassen.

9 Auf Edit Configuration klicken

10 Alle Werte wie sie hier stehen eingeben

11 Die Libary hinzufügen. Denn Pfad anpassen.

12 Den lib Ordner aus der Libary hinzufügen
Den Pfad anpassen.

13 Bei den Sourcefiles noch asuro.c aus der Libary
Hinzufügen. Jetzt kann man anfangen zu Programmieren…

14 Um alles zusammenzufügen unter Build auf Build klicken.
Das kann man auch mit F7 machen.

15 So sieht es aus wenn man nichts falsch gemacht hat.
Das hex-File wurde im Ordner „default“ unter StatusLedYellow gespeichert

16 Über das Terminal kann man das FlashTool starten indem man einfach „asuroflash“ eingibt.
Man muss nur das Hex-File auswählen und die Schnittstelle und dann einfach auf „Flash Asuro“ klicken

17 Um die Maschine auszuschalten muss man nicht einmal die Programme schließen. !?!
Einfach auf das Kreuz rechts oben klicken.!! <- ahaa

18 Es erscheint ein kleine Fenster
Es erscheint ein kleine Fenster. Nun wählt man aus: den Zustand der virtuellen Maschine speichern. Dann klickt man auf OK. Beim nächsten Start der Maschine wird gleich weitergearbeitet, d.h. die offenen Programme werden wiederhergestellt.

19 Programmieren in C I #include “asuro.h” int main(void) {
Standard-Gerüst, welches immer vorhanden sein muss. #include “asuro.h” int main(void) { Init(); // Die Ports des Asuros werden initialisiert /*Hier kommt das ganze Programm rein*/ while(1); //Endlosschleife return 0; //Ende }

20 Programmieren in C II #include “asuro.h” int main(void) { Init();
void StatusLED(unsigned char color) #include “asuro.h” int main(void) { Init(); StatusLED(YELLOW); //GREEN, RED, YELLOW, OFF while(1); //Endlosschleife return 0; //Ende } Hier wird die LED in der Mitte von ASURO angesteuert werden. Sie hat drei Farben (Grün, Rot und Gelb).

21 Programmieren in C III #include “asuro.h” int main(void) { Init();
void FrontLED(unsigned char status) #include “asuro.h” int main(void) { Init(); FrontLED(ON); //ON, OFF while(1); //Endlosschleife return 0; //Ende } Hier wird die LED an der Unterseite von ASURO angesprochen. Sie wird meistens für die Linienverfolgung eingesetzt.

22 Programmieren in C IV #include “asuro.h” int main(void) { Init();
void BackLED(unsigned char left, unsigned char right) #include “asuro.h” int main(void) { Init(); BackLED(ON,OFF); //ON, OFF jeweils für li und re while(1); //Endlosschleife return 0; //Ende } Die BackLEDs sind die LEDs neben dem Batteriepack.

23 Programmieren in C V #include “asuro.h” int main(void) { Init();
void Sleep(unsigned char time72kHz) #include “asuro.h” int main(void) { Init(); Sleep(216); //0…255 basiert auf 72kHz (0.003s/1/72kHz=216) while(1); //Endlosschleife return 0; //Ende } Sleep(216) ist ein Befehl der 3 Millisekunden keine weiteren Befehle zulässt.

24 Programmieren in C VI #include “asuro.h” int main(void) { Init();
void MotorDir(unsigned char left_dir, unsigned char right_dir) #include “asuro.h” int main(void) { Init(); MotorDir(FWD,RWD); //FWD, RWD, FREE, BREAK while(1); //Endlosschleife return 0; //Ende } Die zwei Motoren haben 4 Möglichkeiten angesteuert zu werden: FWD(Vorwärts), RWD(Rückwärts), FREE(Leerlauf), BREAK(Bremse). Die beiden Motoren können in zwei verschiede Richtungen laufen.

25 Programmieren in C VI #include “asuro.h” int main(void) { Init();
void MotorSpeed(unsigned char left_speed, unsigned char right_speed) #include “asuro.h” int main(void) { Init(); MotorSpeed(120,255); //0…255 jeweils für li und re while(1); //Endlosschleife return 0; //Ende } Nach MotorDir folgt MotorSpeed. Es gibt die Geschwindigkeit der Motoren an.

26 Programmieren in C VII #include “asuro.h” int main(void) { Init();
void SerWrite(unsigned char *data, unsigned char length) #include “asuro.h” int main(void) { Init(); SerWrite(„Test“,4); //sendet „Test“ über IR, 4 die Anzahl Ziffern while(1); //Endlosschleife return 0; //Ende } Asuro sendet einen beliebigen Text. Die Zahl die nach diesem Text folgt ist die Anzahl der Ziffern des Textes.

27 Programmieren in C VIII
void SerRead(unsigned char *data, unsigned char length, unsigned int timeout) #include “asuro.h” int main(void) { char daten[8]; //Speicher bereitstellen Init(); SerRead(daten,8,0); //empfängt 8 Zeichen, kein Timeout while(1); //Endlosschleife return 0; //Ende } Asuro

28 Programmieren in C IX #include “asuro.h” int main(void) {
void LineData(unsigned int *data) #include “asuro.h” int main(void) { unsigned int data[2]; Init(); LineData(data); //sendet „Test“ über IR, 4 die Anzahl Ziffern while(1); //Endlosschleife return 0; //Ende } Asuro

29 Programmieren in C X #include “asuro.h” int main(void) {
void OdometrieData(unsigned int *data) #include “asuro.h” int main(void) { unsigned int data[2]; Init(); OdometrieData(data); //ließt Helligkeitswerte der Lichtschranken aus while(1); //Endlosschleife return 0; //Ende } Asuro

30 Programmieren in C XI #include “asuro.h” int main(void) {
unsigned char PollSwitch(void) #include “asuro.h” int main(void) { unsigned char taste; Init(); taste = PollSwitch(); //“taste“ bekommt den Wert von Pollswitch while(1); //Endlosschleife return 0; //Ende } Asuro


Herunterladen ppt "Wie Programmiere ich in der Roboter-AG???"

Ähnliche Präsentationen


Google-Anzeigen