-         

Ergebnis 1 bis 9 von 9

Thema: [Asuro] Programmierproblem bei Linienfolge

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    19.12.2004
    Beiträge
    13

    [Asuro] Programmierproblem bei Linienfolge

    Anzeige

    Hallo zusammen,

    ich bin gerade dabei meinem Asuro das Folgen von Linien beizubringen. Auf dem Level der Programmierbeispiele funktioniert schon alles wie es soll.
    Den Code finde ich aber noch verbesserungswürdig( soll ja schließlich auch nur Beispiel seien, mehr nicht).

    Mein Ansatz:

    - Wenn [0]==[1] fährt er gerade aus. Weil der Untergrund aber nie wirklich == wiedergibt fährt er immer nach rechts.. vielleicht ist die rechte Fotozelle einfach bischen anders gebogen o.ä.
    Ich möchte also eine Art Toleranz einbauen, die z.B. mit einer Schneise von +-200 als == interpretiert.

    -Um eben diese Werte "einstellen" zu können, würde ich gerne die Werte der FZellen per IR an das Hyperterminal schicken.

    Leider bin ich in C noch nicht so gut, um zu wissen, wie das genau geht.
    Kann mir viellecht jemand einen Tip gehen? - Das mit dem Wert versenden wäre fast das wichtigere, weil ich dann wenigstens sehe, wie stark der Papkarton(untergrund) "unterschiedlich" ist.



    mein bisheriger Code:
    Code:
    #include "asuro.h"
    
    int main(void)
    {
    
    	unsigned int data[2];
    
    	Init();
    	
    	FrontLED(ON);
    
    	while(1){
        LineData(data);
    
    		if(data[0] > data[1]){
    		MotorDir(FWD,FREE);
    		MotorSpeed(180,180);
    		StatusLED(RED);
    		BackLED(OFF,ON);
    		}
    
    		if(data[0] < data[1]){
    	    MotorDir(FREE,FWD);
    		MotorSpeed(180,180);
    		StatusLED(YELLOW);
    		BackLED(ON,OFF);
    		}
      
    		if(data[0] == data[1]){
    		MotorDir(FWD,FWD);
    	    MotorSpeed(180,180);
    		StatusLED(GREEN);
    		BackLED(ON,ON);
    		}
    
    
    
    		else;
    
    
    
    	}
    	return 0;
    }



    mfg und fröhliches Asuro Gassi-gehen


    Maximatic

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    In der Anleitung sind doch die verschiedenen Funktionen beschrieben, unter anderem auch "SerWrite("Text", 4);" Seite 64!
    Außerdem hindert dich nix daran in in Basic (Bascom) zu Programmieren.

    Fragen dazu?

    MFG Moritz

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    19.12.2004
    Beiträge
    13
    Edit:

    Hab gefunden was du gemeint hast, thx. Aber ein Problem hab ich immer noch. Er scheint zwar die daten zu senden, aber das Hyperterminal entpfängt nur Müll.


    ---´º---´Ó---¡---¯---´---´¦---Ž¡---¯---`Y---¡¯---¡¯---¡¯---¯---¡¯---´´---
    ´‚---R¡---¯---¡¯---ö¡--- ¡---¡---¡¯---¯---´ ---´’---^¡---¯------â¡---Ä¡--
    -l¡---¡---¡¯---´´---´´---´µ---¯---¡¯---´´---ERO-------ƒE-----{---VL----------
    --------------------------------------CK---VL---VL---OK---ROK---OK---VL---VL---O
    K---ROK---OKC---VL---ERO---åER---…ER---ERO---`Y‚---<---<---<€---<€------¯---¯--
    ----------<---<€---<€------------<€---ERO----



    etc... die "---" hab ich zwischen jeden Wert gesetzt.

    Irgendeine Idee?


    Hätte ich nach einer Basic-Lösung gesucht, hätte ich die Frage wohl nicht im C Forum gestellt. Ich möchte aber auf jedenfall bei C bleiben, weil ich in der Uni auch nur damit arbeite und sich so hobby und lernen gut ergänzt.[/code]

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2004
    Ort
    Karlsruhe
    Beiträge
    223
    das sieht stark nach falscher Baudrate aus -- hast du die mal durchprobiert? Ich hab auch die Erfahrung gemacht dass Microschrott's Hüperterminal totaler Schrott ist, ich würde dir empfehlen dir was besseres im Internet zu besorgen. Ich hab hier "Terminal" von "Br@y". Relativ leicht zu finden.

    Außerdem hindert dich nix daran in in Basic (Bascom) zu Programmieren.
    @RCO: warum würde er denn dann im C-Forum schreiben? Ich verstehe wirklich nicht wir man überhaupt _freiwillig_ einen AVR in Basic programmieren (auch nur) _will_.

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Ich verstehe wirklich nicht wir man überhaupt _freiwillig_ einen AVR in Basic programmieren (auch nur) _will_.
    Immer locker!
    Maximatic meinte:

    Leider bin ich in C noch nicht so gut, um zu wissen, wie das genau geht.
    Es hätte ja sein können, dass er Basic besser kann aber nicht weiß, dass es auch möglich ist, ihn damit zu proggen.

    Was meint ihr denn, ist besser an C?
    Also ein Vorteil ist, denke ich:
    C ist Assembler-ähnlicher und damit weit näher am wirklichen Geschehen im AVR als Basic.

    Aber als ich angefangen habe, kam mir Basic nun einfach mal simpler und einstiegsfreundlicher vor. Mittlerweile denke ich auch ein bisschen anders darüber, würde aber wenn vermutlich direkt auf ASM umsteigen.

    MFG Moritz

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    21.12.2004
    Beiträge
    32
    Ich glaube kaum, dass Du als Basic fan direkt auf ASM umsteigst !?

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    09.06.2004
    Ort
    Aachen
    Beiträge
    2.674
    Basic-Fan bin ich ja nicht. UNd soweit ich weiß, bietet Bascom die möglichkeit Basic-Code einzubinden, also auch in das Basic-Programm.
    Was dann schon mal ein erster SChritt in die Richtung wäre.

    MFG Moritz

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    hallo, ich binde für die programmierung des küchenbrettroboters auch "asm-schnipsel" in Bascom ein, ist eine tolle sache. es gibt nicht sehr viele routinen im AVR die zeitkritisch für die verwendeten baugruppen sind, sei es rc5,srf04,srf08,compass-sensor. gerade im roboterbau wird meistens eine schnelligkeit gefordert, die keinenfalls für die durchführung erforderlich ist. die meiste zeit bleibt die auslastung des AVR im unteren bereich. gerade bei der fehlersuche habe ich in Bascom überhaupt keine probleme. auch kann ich im programm zu 100% nachvollziehen, was das Bascom gerade macht. ich habe hier im forum vor einpaar tagen mal um eine lösung gebeten, für die anbauteile meines küchenbrettroboters in c.
    meine forderung war doch zu hoch, es war ein schlamützel, es gab keine einigkeit in der lösung, nach der 4. -5. nachricht war das thema schon gewechselt worden, schade.
    mfg pebisoft

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    43
    Beiträge
    1.517
    Also Hyperterminal ist sicher nicht das non plus ultra aber
    ich habe bios jetzt noch nie probelme mit.

    die Ausgabe sieht wirklich nach de falschen baud rate aus
    aber den code hast du ja nicht dabei. Hast du dich vielleicht
    verechnet CPU takt ?

    Gruß
    Home
    P: Meine Tochter (06.11.07) und Link
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

Berechtigungen

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