- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 3 von 6 ErsteErste 12345 ... LetzteLetzte
Ergebnis 21 bis 30 von 53

Thema: erweiterte ASURO Bibliothek

  1. #21
    Neuer Benutzer Öfters hier
    Registriert seit
    12.07.2005
    Alter
    39
    Beiträge
    10
    Anzeige

    Praxistest und DIY Projekte
    Hallo,

    ich habe deine Dateien mal getestet, jedoch fängt er erst gar nicht an:
    test.o(.text+0x16):E:\ASURO_src\FirstTry/test.c:11: undefined reference to `Encoder_Init'
    test.o(.text+0x1e):E:\ASURO_src\FirstTry/test.c:14: undefined reference to `Encoder_Start'

    Deine Header Dateien sind natürlich einbebunden.

    So sieht der Code aus den ich habe

    StatusLED(GREEN);
    Encoder_Init();
    MotorDir(FWD,FWD);
    Encoder_Start();

    natürlich davor das include, die main function und Init();
    Habe auch nur mal ein Programm genommen wo ich nur Encoder_Init(); rein geschrieben habe, der gleiche Fehler. Ansonsten funktionieren alle neuen Funktionen!

  2. #22
    Hallo!

    Ich habe das mal ausprobiert, aber das Beispielprogramm funktioniert bei mir leider nicht. Deswegen habe ich mal was einfacheres getestet.

    StatusLED(GREEN);
    StartSwitch();
    while(!switched){;}
    StatusLED(RED);

    Wenn ich es richtig verstanden habe, sollte doch so die Status-LED solange grün leuchten bis ein Taster gedrückt wird. Dann rot. Oder? Er reagiert aber nicht auf den Tastendruck.

    Woran kann das liegen?

    Gruß

  3. #23
    Hallo!

    Ich habe das mal ausprobiert, aber das Beispielprogramm funktioniert bei mir leider nicht. Deswegen habe ich mal was einfacheres getestet.

    StatusLED(GREEN);
    StartSwitch();
    while(!switched){;}
    StatusLED(RED);

    Wenn ich es richtig verstanden habe, sollte doch so die Status-LED solange grün leuchten bis ein Taster gedrückt wird. Dann rot. Oder? Er reagiert aber nicht auf den Tastendruck.

    Woran kann das liegen?

    Gruß

  4. #24
    Neuer Benutzer Öfters hier
    Registriert seit
    12.09.2005
    Ort
    Bremen
    Alter
    43
    Beiträge
    11
    Also laut Doku (Lies_das.txt) heißt der Parameter "switches" NICHT "switched"!
    Möglicherweise funzt es deshalb nicht!

    Wobei mich dann wundert, warum der Compiler die unbekannte Variable nicht anmeckert? Oder hast Du den (Tipp-)Fehler nur hier beim Posten eingebaut?

  5. #25
    Neuer Benutzer Öfters hier
    Registriert seit
    30.08.2005
    Ort
    Paderborn
    Alter
    60
    Beiträge
    20
    Hallo Weja,

    Deine Anfangsidee würde ich gerne nochmal aufgreifen.
    Eigentlich hatte ich den Asuro für meinen Sohn (12) gekauft ... um noch weiter auszuholen sind wir vor ca. 1,5 Jahren beim RoboCup in Paderborn gewesen (Roboter-Fußball-Wettbewerb) und waren erschüttert, wie schlecht die Roboter auch im Jahre 2004 noch sind - völlig entgegen aller Hoffnungen von Asimov und diverser ScienceFiction.
    Ich habe dann versucht meinem Sohn das Roboter- und KI-Dilemma zu erklären, hatte aber den Eindruck, dass nicht geklappt hat.

    Nachdem ich einen kurzen c't-Bericht über den Asuro gelesen hatte, habe ich mich an den RoboCup erinnert und ihn fix bestellt.
    Beim Zusammenbau hat Sohnemann nicht viel helfen können (außer zusehen und Widerstände heraussuchen). Und jetzt habe ich mit der Programmierung angefangen und stelle fest, dass der Zugang für ihn denn doch AUCH nicht so einfach ist (auch mir als Diplom-Informatiker fällt es nicht leicht).
    Gleich bei der Odometrie habe ich mir die Zähne ausgebissen.
    Man ist sehr viel auf Hilfe der anderen bzw. Code-Schnipsel und Informationsbröckchen angewiesen, die man irgendwo im Internet findet ...

    Wie hast DU das mit deinen Kindern gemacht ?
    Hast Du sie 'C' programmieren lassen ?
    Da stolpert man nach den allerersten Schritten über sehr syntax-sensible Compiler, für Anfänger unverständliche Notationen und dergleichen.
    Wahrscheinlich ist da der MindStorm-Weg nicht schlecht, die Programmierung auf grafische Art und Weise zu machen ...
    Ich habe mich nicht tiefer damit beschäftigt, aber es scheint so zu sein, dass bei Lego die Funktionen farbige Kästchen in einer Art Programmablaufplan sind. Das können auch Kinder prima hintereinander bringen. Sowas für den Asuro hinzukriegen wird allerdings ein größerer Akt ...

    Zu Deinem Beispielprogramm vom 01.12.04 ist mir aufgefallen dass Du Dich zwar bemühst sprechende Variablennamen zu verwenden, der Code aber überhaupt nicht kommentiert ist (ich weiß - jeder Programmierer meint, dass sein Code selbsterklärend ist )
    Außerdem verwendest Du C-Kurzfassungen, die sich nicht auf Anhieb erschließen. Z.B.: "!switched" oder "weg-=encoder".
    Speziell im Sinne derer, die nicht fließend 'C' sprechen sind Kommentierung und ausgeschriebene Kommandos sehr wichtig.

    Gruß
    roborookie

  6. #26
    Zitat Zitat von Maniac
    Also laut Doku (Lies_das.txt) heißt der Parameter "switches" NICHT "switched"!
    Möglicherweise funzt es deshalb nicht!

    Wobei mich dann wundert, warum der Compiler die unbekannte Variable nicht anmeckert? Oder hast Du den (Tipp-)Fehler nur hier beim Posten eingebaut?
    Da im Beispielprogramm von switched die Rede war, habe ich mal im Quelltext nachgeguckt und sie heißt tatsächlich int switched; Ist also wohl ein Tippfehler in der readme...

  7. #27
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    es ist nicht einfach den weg nach winavr-c zu finden. wenn man nur den asuro zu fahren bringen möchte und man das c nur dafür einfach mal schnell laden möchte ist hier nicht richtig aufgehoben. einen roboter zusammenzubauen ist die eine sache, einen roboter proggen ist die andere sache und sich erst einmal mit den AVR auf dem asuro auseinander zu setzen ist die dritte sache. alle haben ein gleichwertigkeit in der wichtigkeit, wobei das c-proggen mit den registern des AVR und deren verstehen erst zu einer vernünftigen reaktion des asuro führt. ohne ein teures Buch über den AVR ( von trampert) dümpelt man nur so dahin. darum sollte man mit einer einfachen avr-platine anfangen und nicht gleich mit pwm,ir-senden,ir-empfangen,radencoder,linienverfolger. es ist viel zu viel für den einstieg und man verdammt dann das spielzeug wenn es nicht funktiniert.
    mfg pebisoft

  8. #28
    Neuer Benutzer Öfters hier
    Registriert seit
    12.09.2005
    Ort
    Bremen
    Alter
    43
    Beiträge
    11
    So, ich hab die Bibliothek auch mal angeschaut und getestet. Allerdings bisher nur das kleine Beispiel-Prog. Das läuft soweit auch und er fährt auch einigermaßen gerade aus.

    @backdraft bei mir funktioniert das Programm ohne Veränderung.

    Wo ich roborookie etwas zustimmen muss:
    Der Code könnte etwas schöner aussehen. Auch wenn es dafür gedacht ist, die Funktionen "nur" zu benutzen, sollte man sich doch an ein paar (lesbarkeits-)Standards halten (sauber einrücken, 1 Befehl pro Zeile etc.). Und Kommentare wären für das Verstehen auch sehr hilfreich.

    Wo ich allerdings kein Problem mit habe, sind die Kurzformen (--, += etc.), denn 1. sind die sogar in der Asuro-Anleitung beschrieben und 2. sind das nunmal allgemein gebräuchliche Sprachkonstrukte, die es in vielen Sprachen gibt.

    Ich sehe den Asuro eben auch nicht als Spielzeug, sondern schon eine Stufe höher... und dass es für einen 12jährigen nicht so leicht sein dürfte, C zu lernen sollte Dir als Dipl-Inf doch klar sein, roborookie.
    Aber das stand doch auf der Packung und im Bericht der c't, oder? Also möglicherweise bist Du mit etwas falschen Erwartungen an den Asuro ran gegangen?

    Allgemein ist sowas natürlich nicht so einfach und mit paar Mausklicks und grafisch was hinschieben ist es nicht getan. Wenn das so einfach wäre, würde mich mein Auto nachher selbstständig nach Hause fahren!

    Aber ich denke, das gleitet auch etwas vom Thema ab. Hier geht es ja um die erweiterte Bibliothek. Und da kann ich sagen: habe getestet und scheint zu funktionieren. Genauer einsteigen, was mir der Encoder bringt und wie ich den nutze etc. muss ich demnächst. Denke aber, ich werde auch die extbib als Basis benutzen und nicht die mitgelieferte.

    Edit:
    Ne kurze Doku, was/wofür die Funktionen genau sind, wäre aber echt nicht schlecht. Das meiste erklärt sich zwar echt selbst, bzw. ist analog der original Bib, aber trotzdem.

    Z.B. was der Encoder genau für Daten liefert und was ich damit anfangen kann. Ist aus dem Beispiel-Code auch nur etwas mühsam zu erlesen.

    Und wofür ist z.B. Batterie()? Kann ich damit messen, wie voll die ist? Und wenn ja, was für einen Wert bekomme ich zurück? Spannung, Prozent, sonstwas? (ist auch im Header nicht beschrieben)

    Dazu habe ich nicht gefunden, wo die Variable "encoder" definiert ist... scheint nicht weiter wild zu sein (wobei mich wundert, dass es den Compiler auch nicht stört), aber schön ist das auch nicht, oder?

  9. #29
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    12.06.2005
    Ort
    Südwestdeutschland
    Beiträge
    1.142
    Blog-Einträge
    3
    Die Funktion 'Batterie' ist dazu da, die Batteriespannung zu messen. Funktioniert aber in der Lib noch nicht, da die Referenzspannung nicht umgestellt wird.
    Die richtige Einstellung kannst Du hier

    https://www.roboternetz.de/wiki/pmwi...O-Linksammlung

    in einer veränderten Version der Lib finden.

    Gruss,
    stochri

  10. #30
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.04.2005
    Ort
    Weilburg
    Beiträge
    676
    Wie kann man mit GCC die Asuro.c als richtige Bibliothek bauen ?
    Ich möchte das so machen wie bei den mitgelieferten LIBs, damit nicht alle Funktionen aus der Asuro.c mit gelinkt werden.
    (ich habe schon in der GCC Doc nachgeschaut, bin aber nicht schlauer geworden !)
    Prostetnic Vogon Jeltz

    2B | ~2B, That is the Question?
    The Answer is FF!

Seite 3 von 6 ErsteErste 12345 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests