- 3D-Druck Einstieg und Tipps         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 29 von 29

Thema: Asuro aus Dummheit lahmgelegt, wie weiter?

  1. #21
    Benutzer Stammmitglied
    Registriert seit
    28.05.2018
    Beiträge
    45
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Nachdem ich nun lange und glücklich mit dem "Arduino Uno" rumgespielt habe, zuletzt mit dem Ultraschall Sensor, wollte ich wieder den Asuro zum laufen bringen.
    Wie gesagt, Die Arduino IDE erkennt das Board als "Asuro with ATMega8" ich kann auch die Demo Sketche für den Asuro kompilieren und mit meinem externen Brenner per ISP flashen, läuft.

    Jetzt das Problem:
    Der erste eigene Sketch für den Asuro mit der Arduino IDE erstellt > nix geht
    nur die Teile, die aus der "Asurino" Biblithek kommen laufen, das selbst dazu addierte macht nicht was es soll.

    Nach längerem Suchen fand ich nun raus, dass die Pinzuordnung nach dem Kompilieren nicht stimmt!
    Zum Testen habe ich einfach das "Basics" "Blink" Sketch auf den Asuro geflasht, und alle vorhandenen LEDs nacheinander versucht anzusteuern.

    Nehme ich z.B. die eingebaute Dual LED auf PIN 14, blinkt die linke Rückfahr LED an PIN23 !!??

    Ich dachte, ich kann mit der Arduino Software einfach Software für den Asuro schreiben? Irre ich da ? Gehen da nur die Befehle aus der dazugehörigen Bibliothek?

    Also "asuro.setStatusLED(RED);" das geht! Die Status LED leuchtet rot...
    nur "digitalWrite(led, HIGH);" mit der Definition "int led = 14" und "pinMode(led, OUTPUT);"also an Pin 14 des Atmega 8 landet geflasht auf Pin 23 .

    Weiß jemand noch Rat bei dem alten Ding?
    Geändert von Wolle62 (30.08.2018 um 18:56 Uhr)

  2. #22
    HaWe
    Gast
    Zitat Zitat von Wolle62 Beitrag anzeigen
    Nachdem ich nun lange und glücklich mit dem "Arduino Uno" rumgespielt habe, zuletzt mit dem Ultraschall Sensor, wollte ich wieder den Asuro zum laufen bringen.
    Wie gesagt, Die Arduino IDE erkennt das Board als "Asuro with ATMega8" ich kann auch die Demo Sketche für den Asuro kompilieren und mit meinem externen Brenner per ISP flashen, läuft.

    Jetzt das Problem:
    Der erste eigene Sketch für den Asuro mit der Arduino IDE erstellt > nix geht
    nur die Teile, die aus der "Asurino" Biblithek kommen laufen, das selbst dazu addierte macht nicht was es soll.

    Nach längerem Suchen fand ich nun raus, dass die Pinzuordnung nach dem Kompilieren nicht stimmt!
    Zum Testen habe ich einfach das "Basics" "Blink" Sketch auf den Asuro geflasht, und alle vorhandenen LEDs nacheinander versucht anzusteuern.

    Nehme ich z.B. die eingebaute Dual LED auf PIN 14, blinkt die linke Rückfahr LED an PIN23 !!??

    Ich dachte, ich kann mit der Arduino Software einfach Software für den Asuro schreiben? Irre ich da ? Gehen da nur die Befehle aus der dazugehörigen Bibliothek?

    Also "asuro.setStatusLED(RED);" das geht! Die Status LED leuchtet rot...
    nur "digitalWrite(led, HIGH);" mit der Definition "int led = 14" und "pinMode(led, OUTPUT);"also an Pin 14 des Atmega 8 landet geflasht auf Pin 23 .

    Weiß jemand noch Rat bei dem alten Ding?
    hat denn dein Arduino überhaupt einen pin 14 nach Arduino-Nummerierung bzw. stimmt es überein mit deinen originalen asuro libs?

    die digitalen vom Uno gehen (per Arduino-API) nur von 0-13, allerdings die analogen A0-A6 werden auch mit 14-19 identifiziert (gilt nicht für Mega2560).

  3. #23
    Benutzer Stammmitglied
    Registriert seit
    28.05.2018
    Beiträge
    45
    Verstanden, die Pins in der IDE beziehen sich auf die Nummern der Buchsenleisten und nicht auf den IC selbst.
    Durch die Schaltung des Uno habe ich begriffen, das die ja gar nicht identisch sind.
    Mein Fehler, das wusste ich nicht. Also eine kleine Tabelle anfertigen, damit ich das auf den Asuro übertragen kann.

    DANKE!

    EDIT: Super alles läuft nun . Der Asuro fährt mit Ultraschallmodul und stoppt vor der Wand. Nun geht es weiter mit Wendeschleife und Odometrie zwecks Geradeauslauf.
    Das wird wesentlich schwieriger...
    Geändert von Wolle62 (02.09.2018 um 18:39 Uhr)

  4. #24
    Benutzer Stammmitglied
    Registriert seit
    28.05.2018
    Beiträge
    45
    Da gehts schon los. Irgendwas habe ich wohl wieder nicht richtig verstanden.
    Es geht um die "Asurino" Bibliotheken und die damit verbundenen "Befehle".

    Also der Codeauszug für die Motorsteuerung hier macht was er soll :

    if(entfernung <=30) {
    asuro.setStatusLED(RED);
    asuro.setMotorSpeed(100,50);
    asuro.setMotorDirection (0,0);

    delay (1500);

    }

    else {
    asuro.setStatusLED(GREEN);
    asuro.setMotorDirection (1, 1);
    asuro.setMotorSpeed(120,100);

    }
    Das Problem ist der markierte Teil.
    Vertausche ich die beiden Zeilen, also erst die "Direction" und dann den "Speed" gehts nicht mehr ??
    Die Laufrichtung der Motore ändert sich dann nicht mehr.
    gemerkt habe ich das in neuen Sketches, die alle nicht liefen, wie sie sollten.
    Im "else" Teil ists aber genau umgekehrt und da geht es problemlos.

    Wo ist da der Denkfehler? Oder ist da ein Bug?

    Ich werde wohl den Asuro ausschlachten und mir den AAR-04 teilweise mit nem gesteckten Arduino auf Lochraster nachbauen.
    Das Material habe ich ohnehin.

  5. #25
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    ganz blöde frage, welche asuro lib VVersion nutzt du, wenn ich die doku der neueren so ansehe ergibt sich relativ klar warum das nicht geht

    [in] left_dir Richtung des linken Motors [ FWD | RWD | BREAK | FREE ]

    #define FWD _BV(PB5)
    #define RWD _BV(PB4)
    #define BREAK 0x00
    #define FREE _BV(PB4) | _BV(PB5)
    Wenn du also Dir 0,0 sagst stehen beide Motoren auf BREAK also Bremse (Vorrausgesetzt dasds es in deiner AsuroLib Version auch so ist)

    verwende lieber die definierten Makros ... warum sind das in der lib überhaupt Makros? Warum sind das keine ordentlichen Enums?! Das schreit ja geradezu nach totaler Verwirrung
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  6. #26
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.688
    .. verwende lieber die definierten Makros ... warum sind das in der lib überhaupt Makros? .. Das schreit ja geradezu nach totaler Verwirrung ..
    Mit den asuro-Libs bin ich nie wirklich klar gekommen. Ich hatte mich damals entschieden die Programmierung "richtig"/"zu Fuß" in C zu machen. War für mich schwierig, weil ich kein C konnte (kann ich heute immer noch nicht wirklich/richtig) - aber man lernt ja nie aus. Und damals hatte ich mit asuro wirklich gute Fortschritte gemacht die mir später nützten.

    Nur so, als ne Art Ergänzung: ich hatte bei der IR-Programmierung immer wieder Störungen und hatte das damals dann mit ner üblichen ISP geflasht (siehe hier - rechtes Bild).
    Ciao sagt der JoeamBerg

  7. #27
    Benutzer Stammmitglied
    Registriert seit
    28.05.2018
    Beiträge
    45
    Ich habe die letzte verfügbare Asurino lib von hier:
    https://github.com/Dirk-/Asurino-Library
    benutzt.
    Im Example Ordner dieser Lib war ein Motortest.

    Auszug daraus:
    // test engines backward and forward
    asuro.setMotorSpeed(255, 255);
    //forward
    asuro.setMotorDirection (1, 1);
    delay (500);
    asuro.setMotorDirection (0,0);
    delay (500);
    asuro.setMotorSpeed(0,0);
    Den habe ich als Grundlage benutzt. Daher die Erkenntnis, das " ...Direction(0,0);"> "Rückwärts" ist.

    Wie dem auch sei, ich bin auch auf die Idee gekommen, alles mit der Arduino IDE selbst zu programmieren und auf diese "Sonderbefehle" zu verzichten.
    Und siehe da, alle geht wie es soll.
    Ich musste nur eine Tabelle der Pins vom Atmega8 des Asuro auf die Pins des Arduino machen, um den Überblick
    zu haben, was beim Asuro wo dran ist im Verhältnis zum Arduino.

    Achso, mein Asuro ist umgebaut und hat ne ISP Schnittstelle. Kein IR Problem deshalb.
    Geändert von Wolle62 (16.09.2018 um 12:14 Uhr)

  8. #28
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    gute entscheidung
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  9. #29
    Ich würde nicht lange mit dem Originalchip machen: für wenige €s bekommt man AT Megas 328P mit Arduino boot loader. Dann gleich in der wesentlich komfortablere Arduino-welt weitermachen...

Seite 3 von 3 ErsteErste 123

Ähnliche Themen

  1. Robotikbranche weiter auf Wachstumskurs
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 01.10.2015, 12:20
  2. Antworten: 2
    Letzter Beitrag: 16.02.2010, 21:01
  3. Antworten: 15
    Letzter Beitrag: 08.12.2009, 10:53
  4. Dummheit von mir
    Von Anti süd im Forum Asuro
    Antworten: 16
    Letzter Beitrag: 18.01.2008, 14:29
  5. x-ufo wie geht es weiter????
    Von Uwe2005 im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 58
    Letzter Beitrag: 06.01.2006, 17:07

Berechtigungen

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

Labornetzteil AliExpress