-         

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

Thema: Asuro soll die Helligkeitswerte über Hyper terminal ausgeben

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.11.2010
    Ort
    Österreich
    Alter
    23
    Beiträge
    173

    Asuro soll die Helligkeitswerte über Hyper terminal ausgeben

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Weis jemand was ich in den roten bereich rein schreiben soll damit Asuro die aktuelle Helligkeit von data[0] ausgibt


    SerWrite("---------------",15);

    Es wäre sehr hilfreich zu wissen wie groß der Wert auf holzboden ...... ist


    Ich habe es jetzt so gemacht aber es ist so umständlich


    #include "asuro.h"

    int main(void)
    {

    int x=0,LANG=0,z=0;

    unsigned int data[2];
    Init();

    FrontLED(ON);




    while( 1 )
    {

    LineData(data);
    if ( data[0] > 10 )
    BackLED(ON,OFF); //BackLED > 10
    else
    BackLED(OFF,OFF);



    if ( data[0] > 30 )
    BackLED(OFF,ON); //BackLED > 30
    else
    BackLED(OFF,OFF);


    if ( data[0] > 50 )
    StatusLED(RED); //RED > 50
    else
    StatusLED(OFF);


    if ( data[0] > 100 )
    StatusLED(YELLOW); //GELB > 100
    else
    StatusLED(OFF);


    if ( data[0] > 150)
    StatusLED(GREEN); //GRÜN > 150
    else
    StatusLED(OFF);

    if ( data[0] > 150)
    StatusLED(GREEN); //GRÜN > 150
    else
    StatusLED(OFF);



    }
    return 0;
    }

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    20.04.2008
    Ort
    Bremen
    Alter
    27
    Beiträge
    85
    Hi,

    Das Problem dabei ist, das data[0] einen int-Wert zurück liefert, aber SerWrite zum Übertragen einen char-Wert benötigt.

    Ich hab das damals mit der C-Funktion "itoa" gelöst, die den int-Wert in ein char-Wert umwandelt.
    Meine Funktion sah dann ungefähr so aus:
    Code:
    int LiniensensorDiagnose (void)
    {
       unsigned int data[2];
    	char data0[5], data1[5];
       int t;
    
    	StatusLED (GREEN);
    	FrontLED (ON);
    
    
    	while (1)
    	{
    		LineData (data);
    		
    		itoa (data[0], data0, 5);
    		itoa (data[1], data1, 5);
    		
    		SerWrite (data0, 4);
    		SerWrite (" links\n\r", 8);
    		
    		SerWrite (data1, 4);
    		SerWrite (" rechts\n\r", 9);
    		
          for (t=0; t<100; t++)
          {
    		   Sleep (72);
          }
    	}
    }
    Bei irgendwelchen Fehlern wäre ich sehr dankbar mich drauf hinzuweisen

    beste Grüße
    the.speciali
    Wer den Himmel auf Erden sucht hat im Erdkundeunterricht geschlafen!

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.11.2010
    Ort
    Österreich
    Alter
    23
    Beiträge
    173
    Danke

    da kommen sehr viele Fehler meldungen und Warnungen

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.11.2010
    Ort
    Österreich
    Alter
    23
    Beiträge
    173
    #include "asuro.h"

    hasst du am anfang vergessen

    und itoa kennt er nicht als variabelname

    aber wieso?

    lg

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    20.04.2008
    Ort
    Bremen
    Alter
    27
    Beiträge
    85
    Hmm du hast es nur rüber kopiert? Und ein Fehler hab ich noch gemacht. Der itoa Befehl steckt in der stdlib die muss man natürlich mit einbinden.

    Jetzt sollte das rüber kopieren auch funktionieren
    Code:
    #include "asuro.h"
    #include "stdlib.h"
    
    int main(void)
    { 
       unsigned int data[2];
       char data0[5], data1[5];
       int t;
    
       StatusLED (GREEN);
       FrontLED (ON);
    
    
       while (1)
       {
          LineData (data);
          
          itoa (data[0], data0, 5);
          itoa (data[1], data1, 5);
          
          SerWrite (data0, 4);
          SerWrite (" links\n\r", 8);
          
          SerWrite (data1, 4);
          SerWrite (" rechts\n\r", 9);
          
          for (t=0; t<100; t++)
          {
             Sleep (72);
          }
       }
    }
    Wer den Himmel auf Erden sucht hat im Erdkundeunterricht geschlafen!

  6. #6

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.11.2010
    Ort
    Österreich
    Alter
    23
    Beiträge
    173
    Ja stimmt aber ich habe auch geschaut wo der Fehler sein könnte

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.11.2010
    Ort
    Österreich
    Alter
    23
    Beiträge
    173
    eine Frage noch wieso leuchtet das FrontLED nicht

    lg

  9. #9
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.781
    Blog-Einträge
    8
    Init(); vergessen...

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

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.11.2010
    Ort
    Österreich
    Alter
    23
    Beiträge
    173
    ja genau danke

    was ich auch nicht verstehe ist auf der Anleitung seteht dass der WERT 0 hell ist und 1023 ganz dunkel beide werte können nicht erreicht werden

    aber

    wenn ich sie Sensoren zum fenster halte habe ich den wert von ca. 1000
    soll aber eher 0 sein weil es hell ist oder

    Täsche ich mich ?

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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