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

Wie Programmiere ich in der Roboter-AG???

Dieses File soll dir Helfen mit den Programmierstrategien in der

Roboter-AG vertraut zu werden.

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

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

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

Die Maschine „Roboter-Linux“ auswählen und auf Starten klicken

1.

2.

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

Sich als „Roboter“ mit dem Passwort „roboter“ anmelden.

1.

2.

3.

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

Der Ursprüngliche Editor aus der Anleitung

Hier werden die „Projekte“ gespeichert

Über das Terminal kann man das Flashtool aufrufen

Das ist die Asuro-Bibliothek

Mit diesem Programm programmiert man

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

- 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 eigeneProjekt 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.

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

New Project wählen

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

Denn Pfad anpassen.

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

Auf Edit Configuration klicken

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

Alle Werte wie sie hier stehen eingeben

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

Denn Pfad anpassen.

Die Libary hinzufügen.

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

Den Pfad anpassen.

Den lib Ordner aus der Libary hinzufügen

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

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

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

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

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

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

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

Ü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

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

Um die Maschine auszuschalten muss man nicht einmal die Programme schließen. !?!

Einfach auf das Kreuz rechts oben klicken.!! <- ahaa

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

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.

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

Programmieren in C I• 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); //Endlosschleifereturn 0; //Ende}

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

Programmieren in C II• void StatusLED(unsigned char color)

#include “asuro.h”int main(void) {Init();

StatusLED(YELLOW); //GREEN, RED, YELLOW, OFF

while(1); //Endlosschleifereturn 0; //Ende}

Hier wird die LED in der Mitte von ASURO angesteuert werden. Sie hat drei Farben (Grün, Rot und Gelb).

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

Programmieren in C III• void FrontLED(unsigned char status)

#include “asuro.h”int main(void) {Init();

FrontLED(ON); //ON, OFF

while(1); //Endlosschleifereturn 0; //Ende}

Hier wird die LED an der Unterseite von ASURO angesprochen. Sie wird meistens für die Linienverfolgung eingesetzt.

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

Programmieren in C IV• 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); //Endlosschleifereturn 0; //Ende}

Die BackLEDs sind die LEDs neben dem Batteriepack.

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

Programmieren in C V• 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); //Endlosschleifereturn 0; //Ende}

Sleep(216) ist ein Befehl der 3 Millisekunden keine weiteren Befehle zulässt.

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

Programmieren in C VI• 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); //Endlosschleifereturn 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.

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

Programmieren in C VI• 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); //Endlosschleifereturn 0; //Ende}

Nach MotorDir folgt MotorSpeed. Es gibt die Geschwindigkeit der Motoren an.

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

Programmieren in C VII• 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); //Endlosschleifereturn 0; //Ende}

Asuro sendet einen beliebigen Text. Die Zahl die nach diesem Text folgt ist die Anzahl der Ziffern des Textes.

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

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 bereitstellenInit();

SerRead(daten,8,0); //empfängt 8 Zeichen, kein Timeout

while(1); //Endlosschleifereturn 0; //Ende}

Asuro

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

Programmieren in C IX• 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); //Endlosschleifereturn 0; //Ende}

Asuro

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

Programmieren in C X• 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); //Endlosschleifereturn 0; //Ende}

Asuro

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

Programmieren in C XI• unsigned char PollSwitch(void)

#include “asuro.h”int main(void) {unsigned char taste;Init();

taste = PollSwitch(); //“taste“ bekommt den Wert von Pollswitch

while(1); //Endlosschleifereturn 0; //Ende}

Asuro


Recommended