-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Ideen zum Quellcode

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    17.05.2011
    Beiträge
    15

    Ideen zum Quellcode

    Anzeige

    Hallo,

    ich habe folgende Idee:
    Der ASURO ermittelt zu beginn verschiedene Helligkeitswerte:
    - ASURO steht genau auf der Linie (Ein Transistor Links der andere Rechts daneben)
    - ASURO weicht nach links ab (Der linke Transistor befindet sich über dem Hintergrund der Rechte auf der schwarzen Linie)
    - ASURO weicht nach rechts ab (Der linke Transistor steht jetzt auf Schwarz, der Andere auf Weiß)

    Der ASURO soll sich alle Werte merken und dann später beim fahren seine aktuellen Messergebnisse mit denen von der Konfiguration vergleichen. Stellt er eine Abweichung fest korrigiert er mit einem bestimmten Wert gegen.
    Code:
    #include "asuro.h"
    int VARIABLE FÜR MESSWERT auf der Bahn
    int VARIABLE FÜR MESSWERT links daneben
    int VARIABLE FÜR MESSWERT rechts daneben
    int (main) void
    --------------------------------------------------------
    Wert AUF der Bahn messen....
        in variable einfügen
    
    Wert LINKS neben der Bahn messen...
        in Variable einfügen
    --------------------------------------------------------
    Wert Rechts neben der Bahn messen...
        in Variable einfügen
    --------------------------------------------------------
    
    Jetzt losfahren und aktuelle Helligkeit messen
    Bei Abweichung entsprechend Gegenlenken (evtl. kann man sich eine Formel aus den Messergebnissen zusammen bauen)
    Ich hoffe jemand hat eine Idee wie man das umsetzten kann, leider habe ich nicht die Programmier Kenntnisse um das um zu setzten, hab zwar angefangen aber naja....

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.782
    Blog-Einträge
    8
    Hallo

    Ganz wichtig finde ich eine kleine Verzögerung nach dem Einschalten der FrontLED, weil auch LEDs nicht schlagartig hell werden. Zusätzlich sollte man mehrfach einlesen um "Ausreiserwerte" zu eliminieren:

    Code:
    #include "asuro.h"
    
    // PrintChar-Funktion nach izaseba (mit int-Parameter)
    void PrintChar(unsigned int x)
       {
          char ergebnis[]  = {'0','0','0','0'};
    		while (x >=1000){
          ergebnis[0]++;
          x -=1000;
          }
    		while (x >=100){
          ergebnis[1]++;
          x -=100;
          }
          while (x >= 10) {
          ergebnis[2]++;
          x -=10;
          }
          ergebnis[3] +=x;
          SerWrite(ergebnis,4);
       }
    
    int main(void)
    {
    	unsigned int werte[2], data[2];
    
    	Init();
    	FrontLED(ON);
    	Sleep(100);
    	while(1)
    	{
    		LineData(data);
    		werte[0]=data[0];
    		werte[1]=data[1];
    		LineData(data);
    		werte[0]=(werte[0]+data[0])/2;
    		werte[1]=(werte[1]+data[1])/2;
    		PrintChar(werte[0]);
    		SerWrite("-", 1);
    		PrintChar(werte[1]);
    		SerWrite("\n\r", 2);
    
    		werte[0]=500;
    		while(werte[0]--) Sleep(72);
    	}
    	return(0);
    }
    (ungetestet)

    Ausgabe von Linienwerten: http://www.roboternetz.de/community/...ata()-auslesen
    Noch mehr Werte: http://www.roboternetz.de/community/...l=1#post246414

    Vielleicht reicht dir das schon für erste Versuche.

    Gruß

    mic

    [Edit]Diagramm für getunte LineLED:
    http://www.roboternetz.de/phpBB2/alb...hp?pic_id=1381
    Mit der orginalen Led sind die Werte bedeutend kleiner. Ein Vorteil hoher Werte wurde allerdings bisher noch nicht beschrieben ;)
    Geändert von radbruch (17.05.2011 um 17:06 Uhr)

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    33
    Beiträge
    2.382
    also ich habe einfach defferenziell gemessen (ohne pause beim ein und ausschalten, da verstreicht genügend Zeit bis der das setup für den ADC hinter sich gebracht hat)
    quasi LED-An, messen, LED-Aus, messen, Differenz bilden (dunkel = niedrige Differenz, hell = hohe Differenz) . So ist man sogar gegen Fremdlicht geschützt (bis zu einem gewissen Grad), aber aufpassen, es könnten auch negative Differenzen auftauchen, wenn z.B. bei fast schwarzem Untergrund ein Fremdlicht im falschen Moment stört, also immer 'signed int' zum rechnen nehmen!
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    17.05.2011
    Beiträge
    15
    Vielen Dank für die Hilfe. Für erste Test reicht es schon aus.

    Damit nicht wieder ein neuer Thread entsteht poste ich hier mal noch eine Frage:
    Mich würde interessieren, wie die Umwandlung vom Quellcode in eine -hex Datei funktioniert.
    Ich weiß dass das mit diversen Tools geht, mich interessiert was dahinter steckt, also wie der Code in hexadezimale umgewandelt wird und
    wie der Prozessor vom Asuro das dann ausliest. Hoffentlich kann mir da jemand helfen

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Aus einem Quellcode (=text) Maschinencode zu erzeugen (in hex = binär), ist die Lieblingsbeschäftigung jedweden Compilers.
    Ich glaub aber, dass du eigentlich die Umwandlung bzw. Ausgabe dieses binär-codes in eine ".HEX" File meinst.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    17.05.2011
    Beiträge
    15
    Ja,
    die Umwandlung von dem Code in eine .hex Datei interessiert mich.

  7. #7
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Im Grunde werden das einfach Zeilen im lesbaren ASCII ( printf("%02.2X", ....
    Adresse / ---- data-bytes--- / Prüfsumme

    die details hab ich einmal gebraucht, weil ich für meine "HexHacker" diese Hex-Dateien einlesen wollte, danach aber ist das alles verblasst. Müsste ich nachsehen.

    Zum Umwandeln nehm' ich den PonyProg, der kost' nix.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    17.05.2011
    Beiträge
    15
    Sorry aber leider komm ich nicht ganz dahinter was du meinst...
    Hättest du eine Idee, nach was man da am besten googeln kann? Habe es selber schon versucht
    war nur leider nie das richtige dabei.

  9. #9
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    da ist z.B. das Hex-Format beschrieben:
    http://www.rn-wissen.de/index.php/HEX-Datei#Internes
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    17.05.2011
    Beiträge
    15
    Also wenn ich das alles richtig verstanden habe dann funktioniert die Umwandlung von dem Sourcecode in eine .hex Datei
    indem er für jedes ASCII Zeichen einen bestimmten Hexadezimalcode schreibt oder?

    Aber wäre das dann nicht total unsinnig? Ich meine wenn jedes Zeichen in ein Hexcode umgewndelt werden muss würde doch die .hex Datei am Ende
    doch (im Verhältnis gesehen) riesen groß werden oder?

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Quellcode aus RP6 auslesen
    Von Mex78 im Forum Robby RP6
    Antworten: 2
    Letzter Beitrag: 01.11.2010, 18:16
  2. LDR Quellcode
    Von Jada im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 03.06.2010, 20:26
  3. Quellcode für Geschwindigkeitsmessung
    Von Tanja1986 im Forum C - Programmierung (GCC u.a.)
    Antworten: 17
    Letzter Beitrag: 12.10.2008, 13:53
  4. Quellcode Richtig??
    Von ELW 2 im Forum PIC Controller
    Antworten: 12
    Letzter Beitrag: 15.02.2008, 21:24
  5. Bootloader 1.3 quellcode???
    Von raid_ox im Forum Asuro
    Antworten: 41
    Letzter Beitrag: 10.11.2007, 12:25

Stichworte

Berechtigungen

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