-         

Ergebnis 1 bis 4 von 4

Thema: Fotometer & MeterDemo

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.12.2006
    Ort
    Eberbach
    Beiträge
    199

    Fotometer & MeterDemo

    Anzeige

    Hallo,

    hier zur grafischen Ausgabe der Fotosensorwerte ein Fotometer (siehe hier), welches auch als Odometer (siehe hier) angepaßt werden könnte.

    So sieht ein Output mit numerischer Ausgabe (abschaltbar) der Werte aus (Terminalemulation auf ANSI stellen!):
    Code:
    + ------- ------- ------- -------+
    |0      256     512     768      |
    |                              # |987
    |                          #     |848
    +--------------------------------+
    Und hier ist das Fotometer (für Asuro Library 2.70rc3):
    Code:
    #include <asuro.h>
    
    char ticks1024[]="+ ------- ------- ------- -------+\r\n"\
                     "|0      256     512     768      |\r\n"\
                     "|#                               |\r\n"\
                     "|#                               |\r\n"\
                     "+--------------------------------+\r\n";
    
    int ol,or;
    
    void CSI(void) { UartPutc(0x1B); UartPutc('['); }
    void CLR(void) { CSI(); SerPrint("2J"); }
    void GTO(int row, int col) 
    { 
      CSI(); 
      PrintInt(row); UartPutc(';'); 
      PrintInt(col); UartPutc('H'); 
    }
    
    void display1024(unsigned left, unsigned right, int numbers)
    {
      if (numbers) {
        GTO(3,35); PrintInt(left); SerPrint("     ");
        GTO(4,35); PrintInt(right); SerPrint("     ");
      }
    
      left/=32;  
      if (left>31)  left=31;
      if (left!=ol) { 
        GTO(3,2+ol); UartPutc(' '); 
        GTO(3,2+left); UartPutc('#'); 
        ol=left;
      }
      
      right/=32;
      if (right>31) right=31;
      if (right!=or) {
        GTO(4,2+or); UartPutc(' ');
        GTO(4,2+right); UartPutc('#');
        or=right;
      }
    }
    
    void head1024(void)
    {
      CLR();
    
      SerPrint(ticks1024);
    
      ol=or=0;
    }
    
    int main(int argc, char *argv[])
    {
      unsigned int lineData[2];
    
      Init();
      FrontLED(ON);
      
      head1024();
    
      while (1) 
      {
        LineData(lineData);
    
        display1024(lineData[LEFT],lineData[RIGHT],1); 
      }
      
      return 0;
    }
    Das MeterDemo.hex-Attachment veranschaulicht den Performance-Einfluß ohne und mit numerischer Werteausgabe (Endlosdemo).
    Angehängte Dateien Angehängte Dateien

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.03.2007
    Ort
    VIGO
    Beiträge
    158
    erst hat er mir werte angelegt wie du oben zeigts und rechts zwei striche jezt aber nur VLVLVLVLVLVLVL

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.03.2007
    Ort
    VIGO
    Beiträge
    158
    jezt lauft er wieder der fotometer hier ist meine anzeige rechts die striche blinken
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken anzeige.jpg  

  4. #4
    Moderator Robotik Einstein Avatar von damaltor
    Registriert seit
    28.09.2006
    Ort
    Jena
    Alter
    31
    Beiträge
    3.905
    VLVLVLVL bedeutet das der akku leer ist... Voltage Low. dabei flackert die statusled.
    kleinschreibung ist cool!

Berechtigungen

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