- fchao-Sinus-Wechselrichter AliExpress         
Seite 6 von 7 ErsteErste ... 4567 LetzteLetzte
Ergebnis 51 bis 60 von 66

Thema: projekt: asuro sucht selbständig seine ladestation

  1. #51
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo inka,

    ich sehe gerade, das auch die Belegung der PCF8574 Pins in der AsuroLib anders ist, als für das LCD aus dem AsuroBuch II.
    Deswegen muß auch die lcd.h geändert werden:

    Code:
    ////// PCF8574p PINS
    
    #define LD4			4				// Pin to Data Bus 4
    #define LD5			5				// Pin to Data Bus 5
    #define LD6			6				// Pin to Data Bus 6
    #define LD7			7				// Pin to Data Bus 7
    
    #define LRS			0				// Pin to RS Pin (Register Select)
    #define LRW			1				// Pin to Read/Write Pin
    #define LEN			2				// Pin to Enable Pin
    #define LBL			3				// Backlight Pin
    Die LCD Funktionen der AsuroLib sind leider aller vor Erscheinen des Asuro Buches entstanden.

  2. #52
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hi m.a.r.vi.n.

    jetzt gehts, zumindest das was ich bisher ausprobiert habe...

    danke
    gruß inka

  3. #53
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hi allerseits,
    die ausgabe der spannung auf dem LCD display funktioniert nun
    jetzt habe ich eine bitte:
    gibt es vielleicht etwas genauere erklärungen zu den folgenden LCD-funktionen?

    in der docu 2.7.1 fand ich nicht viel mehr als in den beiden dateien lcd.c und lcd.h, leider sind mir aus den funktionen allein die bedeutungen einzelner begriffe nicht klar...
    Für andere befehle wurden fast immer schöne beispiele angegeben, gibt es sowas zu dem LCD auch?
    Code:
    void InitLCD(void)
    
    ist soweit klar, funktioniert bei mir auch offensichtlich.
    -------------------------
    void BacklightLCD(unsigned char state)
    parameter sollten wohl ON/OFF sein, funktioniert bei mir nicht...
    ----------------------------
    void SetCursorLCD(unsigned char cursor, unsigned char line)
    LCD-ausgabe wird wohl mit cursor/line auf position gesetzt...
    ---------------------------------
    void CommandLCD(unsigned char command)
    welche commands?
    ----------------------------
    void ClearLCD(void)
    ist klar...
    -------------------------------
    void WriteLCD(unsigned char data)
    wie könnte der unsigned char denn aussehen?
    char a=46 gibt einen "." aus?
    -------------------------------
    void PrintLCD(char *string, unsigned char wrap)
    wrap steht wohl für zeilenumbruch? ON/OFF?
    *string?
    -------------------------------
    void PrintSetLCD(unsigned char cursor, unsigned char line, char *string)
    LCD wird auf position cursor/line gesetzt, *string?
    -------------------------------
    void PrintIntLCD(int value)
    wie könnte int value aussehen?
    -----------------------------
    void PrintAlignLCD(unsigned char alignment, unsigned char line, char *string)
    alignment, line sind klar *string?
    gruß inka

  4. #54
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo inka,

    ja, die Doku der LCD Funktionen ist noch lückenhaft.
    Im examples Ordner gibt es auch das Beispielprojekt (I2CLCD). Dort sieht man zumindest, was bei den einzelnen Funktionen so passiert.

  5. #55
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hi m.a.r.v.i.n,
    hat das schon jemand ausprobiert? Die datei lässt sich flashen, beim einschalten ändert die status-led die farbe von gelb auf grün, aber sonst passiert nix
    oder war es so gemeint, dass man sich den code anschauen kann?

    hhuuurrrraaa!!!
    die hintergrundbeleuchtung lässt sich tatsächlich abschlaten, wenn man auf den trichter kommt, dass eine 1 eigentlich eine 0 ist:

    BacklightLCD(1);

    da kann ich nur mit dem kopf schütteln...
    gruß inka

  6. #56
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo inka,
    oder war es so gemeint, dass man sich den code anschauen kann?
    Eigentlich beides. Den Code um zu sehen wie man die Funktionen anwendet, und auf dem Display sollte man verfolgen, wie das ganze dann aussieht.

    Das Testprojekt funktioniert natürlich auch mit dem LCD aus dem Asuro Buch 2, mit den oben genannten Änderungen.

    Wie das ganze aussieht, kann man in einem kleinen Video verfolgen:
    http://www.asurowiki.de/pmwiki/uploa.../asuro-lcd.wmv

  7. #57
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    hi m.a.r.v.i.n,
    so weit so gut, danke, ich werde die verschiedenen funktionen nun testen. Noch eine frage:
    die taster auf der LCD platine werden mit hilfe in der lcd.h definierten makros abgefragt:
    ---------------------------------
    // Makros für die drei Taster

    #define LCD_KEY_YELLOW (PIND&(1<<PD6))
    #define LCD_KEY_RED (PIND&(1<<PD2))
    #define LCD_KEY_BLUE (PINB&(1<<PB3))
    -------------------------------
    so stehen die makros in der ursprünglichen lcd.h. Wenn ich sie so wie sie sind in die neue datei übertrage, gibt es bei z.b.
    -------------------------------
    while(!LCD_KEY_RED);
    while(LCD_KEY_RED);
    -----------------------------
    keine reaktion. Ich habe ein hinweis in den anderen dateien auf diese makros gesucht, aber leider nicht gefunden... Stimmen die makros noch so? Oder müssen sie bei der neuen lib noch irgendwo eingetragen werden?
    gruß inka

  8. #58
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo inka,

    damit die Taster vom LCD Modul funktionieren, müssen die entsprechenden Prozessor Pins auch als Input definiert werden.
    In der lcd_init Funktion müßte man dazu folgende Zeilen einfügen.

    Code:
    	TCCR2 = (1 << WGM21) | (1 << CS20);   //  OC2 PIN deaktivieren, aber 36kHz Timer weiterlaufen lassen (z.B. für Sleep(void) )
    
    	DDRD &= ~((1<<PD2)|(1<<PD6));		// roten und gelben Taster als Eingang definieren
    	DDRB &= ~(1<<PB3);				// blauen Taster als Eingang definieren
    Nachteil dabei ist. Die IR Kommunikation und die rote Status LED funktionieren damit nicht mehr.

  9. #59
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    danke marvin,

    ist es auch möglich diese aktivierung der prozessorpinns immer vor der ausgabe am display, besser gesagt in dem moment, wo die ausgabe erwartet wird, also immer wieder nach der berechnung der werte zu aktivieren, um diese dann unmittelbar nach der ausgabe wieder zurück zu ändern? Verstehst du was ich meine, oder habe ich das zu verdreht ausgedrückt? Müssen die zeilen bestandteil der initialisierung des displays sein, oedr geht das auch separat davon?
    gruß inka

  10. #60
    Erfahrener Benutzer Roboter Genie Avatar von m.a.r.v.i.n
    Registriert seit
    24.07.2005
    Ort
    Berlin
    Beiträge
    1.247
    Hallo inka,

    ich verstehe schon was du meinst. Dazu müßte man eine Funktion ähnlich der PollSwitch Funktion mit folgenden Aufgaben bauen:

    * Taster Pins auf Input schalten
    * Taster abfragen
    * Taster Pins auf Output schalten
    * Tasterwert zurückgeben

Seite 6 von 7 ErsteErste ... 4567 LetzteLetzte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress