Просмотр исходного кода

Methodenbeschreibung fertiggestellt

Tobias Müller 6 лет назад
Родитель
Сommit
e59ae036bf
2 измененных файлов с 305 добавлено и 52 удалено
  1. 305 52
      README.md
  2. BIN
      README.pdf

+ 305 - 52
README.md

@@ -203,13 +203,19 @@ Damit Methoden einer Klasse verwendet werden können, muss zunächst ein Objekt
     * Beispiel 1:
 
         ```arduino
+        //Einbinden der LCD-Shield Bibliothek 
+        #include <HSA_LCD_Shield.h>
+
         // Erstelle Objekt der Klasse mit Standardeinstellungen.
-        HSA_LCD_Shield Display();
+        HSA_LCD_Shield Display;
         ```
 
     * Beispiel 2:
 
         ```arduino
+        //Einbinden der LCD-Shield Bibliothek 
+        #include <HSA_LCD_Shield.h>
+
         // Erstelle Objekt der Klasse für LCD-Shield Version 5 und Standardeinstellungen
         // für LEDs und Taster.
         HSA_LCD_Shield Display(LCD_VERSION_5);
@@ -218,6 +224,9 @@ Damit Methoden einer Klasse verwendet werden können, muss zunächst ein Objekt
     * Beispiel 3:
 
         ```arduino
+        //Einbinden der LCD-Shield Bibliothek 
+        #include <HSA_LCD_Shield.h>
+
         // Erstelle Objekt der Klasse ohne Initialisierung der Taster und LEDs
         // und mit Standardeinstellungen für die LCD-Shield Version.
         HSA_LCD_Shield Display(CONFIG_L0B0);
@@ -225,6 +234,9 @@ Damit Methoden einer Klasse verwendet werden können, muss zunächst ein Objekt
     * Beispiel 4:
 
         ```arduino
+        //Einbinden der LCD-Shield Bibliothek 
+        #include <HSA_LCD_Shield.h>
+
         // Erstelle Objekt der Klasse für LCD-Shield Version 5, ohne Initialisierung der
         // LEDs aber mit Initialisierung der Taster.
         HSA_LCD_Shield Display(LCD_VERSION_5, CONFIG_L0B1);
@@ -233,6 +245,9 @@ Damit Methoden einer Klasse verwendet werden können, muss zunächst ein Objekt
     * Beispiel 5:
 
         ```arduino
+        //Einbinden der LCD-Shield Bibliothek 
+        #include <HSA_LCD_Shield.h>
+
         // Erstelle Objekt der Klasse durch Vererbung mit Standardeinstellungen.
         HSA_LCD_Shield Display = HSA_LCD_Shield();
         ```
@@ -243,7 +258,7 @@ Damit Methoden einer Klasse verwendet werden können, muss zunächst ein Objekt
     <u>Definition:</u>
 
     ```arduino
-    ~<Objekt>(void);
+    <Objekt>.~HSA_LCD_Shield(void);
     ```
 
     <u>Beschreibung:</u>
@@ -253,14 +268,23 @@ Damit Methoden einer Klasse verwendet werden können, muss zunächst ein Objekt
     <u>Beispiel:</u>
 
     ```arduino
+    //Einbinden der LCD-Shield Bibliothek 
+    #include <HSA_LCD_Shield.h>
+
     // Erstelle Objekt der Klasse mit Standardeinstellungen.
-    HSA_LCD_Shield Display();
+    HSA_LCD_Shield Display;
+
+     void setup(void) {
+        // Führe andere Anweisungen aus!!
+        // ...
+
+        // Entferne Objekt der Klasse wieder.
+        Display.~HSA_LCD_Shield();
+     }
 
-    // Führe andere Anweisungen aus!!
-    // ...
+     void loop(void) {
 
-    // Entferne Objekt der Klasse wieder.
-    ~Display();
+     }
     ```
 
 <div id='Methoden'/>
@@ -304,6 +328,7 @@ zur Verfügung.
     <u>Rückgabewert</u>
 
     `bool`:
+
     * `false`: Es ist ein Fehler bei der Konfiguration aufgetreten. Überprüfen Sie die übergebenen Parameter bei der Objekterstellung. 
     * `true`: Die Konfiguration war erfolgreich.
 
@@ -311,8 +336,11 @@ zur Verfügung.
     <u>Beispiel:</u>
 
     ```arduino
+    //Einbinden der LCD-Shield Bibliothek 
+    #include <HSA_LCD_Shield.h>
+
     // Erstelle Objekt der Klasse mit Standardeinstellungen.
-    HSA_LCD_Shield Display();
+    HSA_LCD_Shield Display;
 
     void setup(void) {
         // Initialisiere serielle Kommunikation mit einer Baudrate von 9600
@@ -323,6 +351,9 @@ zur Verfügung.
         else Serial.println("Konfiguration nicht erfolgreich!");
     }
 
+    void loop(void) {
+         
+    }
     ```
 
 <div id='returnVersion'/>
@@ -346,8 +377,11 @@ zur Verfügung.
     <u>Beispiel:</u>
 
     ```arduino
+    //Einbinden der LCD-Shield Bibliothek 
+    #include <HSA_LCD_Shield.h>
+
     // Erstelle Objekt der Klasse mit Standardeinstellungen.
-    HSA_LCD_Shield Display();
+    HSA_LCD_Shield Display;
 
     void setup(void) {
         // Initialisiere serielle Kommunikation mit einer Baudrate von 9600
@@ -355,9 +389,13 @@ zur Verfügung.
 
         // Ausgabe der LCD-Shield Versionsnummer
         Serial.print("Es wird die LCD-Shield Version ");
-        Serial.print(Display.returnVersion(),DEZ);
+        Serial.print(Display.returnVersion(),DEC);
         Serial.println(" verwendet.");
     }
+
+    void loop(void) {
+         
+    }
     ```
 
 <div id='returnConfig'/>
@@ -381,8 +419,11 @@ zur Verfügung.
     <u>Beispiel:</u>
 
     ```arduino
+    //Einbinden der LCD-Shield Bibliothek 
+    #include <HSA_LCD_Shield.h>
+
     // Erstelle Objekt der Klasse mit Standardeinstellungen.
-    HSA_LCD_Shield Display();
+    HSA_LCD_Shield Display;
 
     void setup(void) {
         // Initialisiere serielle Kommunikation mit einer Baudrate von 9600
@@ -393,6 +434,10 @@ zur Verfügung.
         Serial.print(Display.returnConfig());
         Serial.println("\" verwendet.");
     }
+
+    void loop(void) {
+         
+    }
     ```
 
 <div id='returnAddress'/>
@@ -417,8 +462,11 @@ zur Verfügung.
     <u>Beispiel:</u>
 
     ```arduino
+    //Einbinden der LCD-Shield Bibliothek 
+    #include <HSA_LCD_Shield.h>
+
     // Erstelle Objekt der Klasse mit Standardeinstellungen.
-    HSA_LCD_Shield Display();
+    HSA_LCD_Shield Display;
 
     void setup(void) {
         // Initialisiere serielle Kommunikation mit einer Baudrate von 9600
@@ -429,6 +477,10 @@ zur Verfügung.
         Serial.print(Display.returnAddress(),HEX);
         Serial.println(".");
     }
+
+    void loop(void) {
+         
+    }
     ```
 
 <div id='lcdBacklight'/>
@@ -438,7 +490,7 @@ zur Verfügung.
     <u>Definition:</u>
 
     ```arduino
-    void HSA_LCD_Shield.lcdBacklight(bool <state>);
+    bool HSA_LCD_Shield.lcdBacklight(bool <state>);
     ```
 
     <u>Beschreibung:</u>
@@ -452,26 +504,46 @@ zur Verfügung.
     * `HIGH` oder `true`: schaltet die LCD-Hintergrundbeleuchtung ein
     * `LOW` oder `false`: schaltet die LCD-Hintergrundbeleuchtung aus
 
+    <u>Rückgabewert</u>
+
+    `bool`:
+    
+    * `false`: LCD-Backlight nicht konfiguriert
+    * `true`: LCD-Backlight erfolgreich angesteuert
+
     <u>Beispiel:</u>
 
     ```arduino
+    //Einbinden der LCD-Shield Bibliothek 
+    #include <HSA_LCD_Shield.h>
+
     // Erstelle Objekt der Klasse mit Standardeinstellungen.
-    HSA_LCD_Shield Display();
+    HSA_LCD_Shield Display;
 
     void setup(void) {
+        // Initialisiere serielle Kommunikation mit einer Baudrate von 9600
+        Serial.begin(9600);
+
         // Initialisiere LEDs/Taster und LC-Display mit der standard I²C-Adresse
         Display.begin();
 
         // LCD-Backlight 6 mal mit 2 Hz blinken lassen
         for(int i = 0x00; i < 0x06; i++) {
-            Display.lcdBacklight(HIGH);
-            delay(0xFA);
-            Display.lcdBacklight(LOW);
-            delay(0xFA);
+            if(Display.lcdBacklight(HIGH))
+                Serial.println("LCD-Backlight eingeschaltet.");
+            delay(250);
+            if(Display.lcdBacklight(LOW))
+                Serial.println("LCD-Backlight ausgeschaltet.");
+            delay(250);
         }
 
         // LCD-Backlight dauerhaft einschalten
-        Display.lcdBacklight(HIGH);
+        if(Display.lcdBacklight(HIGH))
+             Serial.println("LCD-Backlight eingeschaltet.");
+    }
+
+    void loop(void) {
+         
     }
     ```
 
@@ -491,10 +563,15 @@ zur Verfügung.
 
     <u>Parameter:</u>
 
-    `<led>`:
+    * `<led>`:
     
-    * `LED_RED`: die rote LED wird angesteuert
-    * `LED_GREEN`: die grüne LED wird angesteuert
+        * `LED_RED`: die rote LED wird angesteuert
+        * `LED_GREEN`: die grüne LED wird angesteuert
+
+    * `<state>`: 
+
+        * `HIGH` oder `true`: schaltet die LED ein
+        * `LOW` oder `false`: schaltet die LED aus
 
     <u>Rückgabewert</u>
 
@@ -506,23 +583,37 @@ zur Verfügung.
     <u>Beispiel:</u>
 
     ```arduino
+    //Einbinden der LCD-Shield Bibliothek 
+    #include <HSA_LCD_Shield.h>
+
     // Erstelle Objekt der Klasse mit Standardeinstellungen.
-    HSA_LCD_Shield Display();
+    HSA_LCD_Shield Display;
 
     void setup(void) {
+        // Initialisiere serielle Kommunikation mit einer Baudrate von 9600
+        Serial.begin(9600);
+    
         // Initialisiere LEDs/Taster und LC-Display mit der standard I²C-Adresse
         Display.begin();
 
-        // LCD-Backlight 6 mal mit 2 Hz blinken lassen
-        for(int i = 0x00; i < 0x06; i++) {
-            Display.lcdBacklight(HIGH);
-            delay(0xFA);
-            Display.lcdBacklight(LOW);
-            delay(0xFA);
+        // LED grün und rot 10 mal abwechselnd mit
+        // 1 Hz blinken lassen
+        for(int i = 0x00; i < 0x0A; i++) {
+            if(Display.controlLED(LED_GREEN,HIGH)) 
+            Serial.println("LED gruen eingeschaltet.");
+            if(Display.controlLED(LED_RED,LOW)) 
+            Serial.println("LED rot ausgeschaltet.\n");  
+            delay(500);
+            if(Display.controlLED(LED_GREEN,LOW)) 
+            Serial.println("LED gruen ausgeschaltet.");
+            if(Display.controlLED(LED_RED,true)) 
+            Serial.println("LED rot eingeschaltet.\n");  
+            delay(500);
         }
+    }
 
-        // LCD-Backlight dauerhaft einschalten
-        Display.lcdBacklight(HIGH);
+    void loop(void) {
+        
     }
     ```
 
@@ -538,20 +629,49 @@ zur Verfügung.
 
     <u>Beschreibung:</u>
 
-
+    Mit dieser Methode kann der Status der LEDs auf dem LCD-Shield abgefragt werden. Die LEDs müssen erfolgreich mit der Methode `HSA_LCD_Shield.begin()` initialisiert worden sein.
 
     <u>Parameter:</u>
 
-
+    `<led>`:
+    
+    * `LED_RED`: die rote LED wird angesteuert
+    * `LED_GREEN`: die grüne LED wird angesteuert
 
     <u>Rückgabewert</u>
 
-
+    `bool`:
+    
+    * `false`: LED ist ausgeschaltet, unbekannt oder nicht initialisiert 
+    * `true`: LED ist eingeschaltet
 
     <u>Beispiel:</u>
 
     ```arduino
+    //Einbinden der LCD-Shield Bibliothek 
+    #include <HSA_LCD_Shield.h>
+
+    // Erstelle Objekt der Klasse mit Standardeinstellungen.
+    HSA_LCD_Shield Display;
+
+    void setup(void) {
+        // Initialisiere serielle Kommunikation mit einer Baudrate von 9600
+        Serial.begin(9600);
+    
+        // Initialisiere LEDs/Taster und LC-Display mit der standard I²C-Adresse
+        Display.begin();
+
+        // Schalte grüne LED ein
+        Display.controlLED(LED_GREEN,HIGH);
 
+        // Frage Status der grünen LED ab
+        if(Display.getLED(LED_GREEN))
+        Serial.println("gruene LED ist eingeschaltet.");  
+    }
+
+    void loop(void) {
+        
+    }
     ```
 
 <div id='getButton'/>
@@ -561,25 +681,58 @@ zur Verfügung.
     <u>Definition:</u>
 
     ```arduino
-    bool HSA_LCD_Shield.getButton(byte <address>);
+    byte HSA_LCD_Shield.getButton(void);
     ```
 
     <u>Beschreibung:</u>
 
+    Mit dieser Methode kann der Status der Taster auf dem LCD-Shield abgefragt werden. Die Taster müssen erfolgreich mit der Methode `HSA_LCD_Shield.begin()` initialisiert worden sein.
 
-
-    <u>Parameter:</u>
-
-
+    Eine Tastenentprellung findet nicht statt. 
 
     <u>Rückgabewert</u>
 
-
+    `byte`:
+    
+    * `0x00` bzw. `false`: kein oder mehr als ein Taster betätigt oder Taster nicht initialisiert
+    * `0x01` bzw. `BUTTON_UP`: Taster `UP` betätigt
+    * `0x02` bzw. `BUTTON_RIGHT`: Taster `RIGHT` betätigt
+    * `0x03` bzw. `BUTTON_DOWN`: Taster `DOWN` betätigt
+    * `0x04` bzw. `BUTTON_LEFT`: Taster `LEFT` betätigt
 
     <u>Beispiel:</u>
 
     ```arduino
+    //Einbinden der LCD-Shield Bibliothek 
+    #include <HSA_LCD_Shield.h>
+
+    // Erstelle Objekt der Klasse mit Standardeinstellungen.
+    HSA_LCD_Shield Display;
 
+    void setup(void) {
+        // Initialisiere serielle Kommunikation mit einer Baudrate von 9600
+        Serial.begin(9600);
+    
+        // Initialisiere LEDs/Taster und LC-Display mit der standard I²C-Adresse
+        Display.begin();  
+    }
+
+    void loop(void) {
+        // überwache Tasterzustand
+        if(Display.getButton() == BUTTON_UP)
+            Serial.println("Taster \'UP\' betaetigt.");
+        if(Display.getButton() == BUTTON_RIGHT)
+            Serial.println("Taster \'RIGHT\' betaetigt.");
+        if(Display.getButton() == BUTTON_DOWN)
+            Serial.println("Taster \'DOWN\' betaetigt.");
+        if(Display.getButton() == BUTTON_LEFT)
+            Serial.println("Taster \'LEFT\' betaetigt.");
+        if(Display.getButton() == false)
+            Serial.println("Kein Taster betaetigt.");
+
+        // Pause von 500 ms zwischen den Abfragen
+        delay(500); 
+    }
     ```
 
 <div id='writeRow'/>
@@ -588,26 +741,74 @@ zur Verfügung.
 
     <u>Definition:</u>
 
+    Schreibe in alle Zeilen:
+
     ```arduino
-    bool HSA_LCD_Shield.writeRow(byte <address>);
+    bool HSA_LCD_Shield.writeRow(const char* <text>);
     ```
 
-    <u>Beschreibung:</u>
+    Schreibe in eine Zeile:
 
+    ```arduino
+    bool HSA_LCD_Shield.writeRow(byte <row>, const char* <text>);
+    ```
+    
+    <u>Beschreibung:</u>
 
+    Mit dieser Methode werden Texte (Strings) auf dem LC-Display geschrieben. Es kann dabei gewählt werden, ob in einer gezielten Zeile oder über alle Zeilen hinweg geschrieben werden soll. Dabei werden die entsprechenden Zeilen komplett überschrieben. Das LC-Display muss erfolgreich mit der Methode `HSA_LCD_Shield.begin()` initialisiert worden sein.
 
     <u>Parameter:</u>
 
+    * `<text>` *(String)*: Textnachricht, die auf dem LC-Display geschrieben werden soll
 
+    * `<row>`:
 
-    <u>Rückgabewert</u>
+        * `0x01`: Zeile 1 neu schreiben
+        * `0x02`: Zeile 2 neu schreiben
+        * `0x03`: Zeile 3 neu schreiben
+        * `0x04`: Zeile 4 neu schreiben
 
+   <u>Rückgabewert</u>
 
+    `bool`:
+    
+    * `false`: LC-Display nicht initialisiert oder Zeilennummer unbekannt
+    * `true`: Textnachricht erfolgreich auf LC-Display geschrieben
 
     <u>Beispiel:</u>
 
     ```arduino
+    //Einbinden der LCD-Shield Bibliothek 
+    #include <HSA_LCD_Shield.h>
+
+    // Erstelle Objekt der Klasse mit Standardeinstellungen.
+    HSA_LCD_Shield Display;
+
+    void setup(void) {
+        // Initialisiere serielle Kommunikation mit einer Baudrate von 9600
+        Serial.begin(9600);
+        
+        // Initialisiere LEDs/Taster und LC-Display mit der standard I²C-Adresse
+        Display.begin();
+
+        // LCD-Backlight dauerhaft einschalten
+        Display.lcdBacklight(HIGH);
 
+        // "Hallo Welt" auf dem LC-Display schreiben
+        if(Display.writeRow("Hallo Welt"))
+            Serial.println("Text auf LC-Display geschrieben.");
+
+        // Warte 5s
+        delay(5000);
+
+        // "Hallo Welt" in die 3. Zeile auf dem LC-Display schreiben
+        if(Display.writeRow(0x03,"Hallo Welt"))  
+            Serial.println("Text auf LC-Display geschrieben.");
+    }
+
+    void loop(void) {
+        
+    }
     ```
 
 <div id='writeXY'/>
@@ -617,25 +818,62 @@ zur Verfügung.
     <u>Definition:</u>
 
     ```arduino
-    bool HSA_LCD_Shield.writeXY(byte <address>);
+    bool HSA_LCD_Shield.writeXY(byte <row>, byte <column>, const char* <text>);
     ```
 
     <u>Beschreibung:</u>
 
-
+    Mit dieser Methode werden Texte (Strings) auf dem LC-Display in Abhängigkeit der ausgewählten Zeile/Spalte geschrieben. Das LC-Display muss erfolgreich mit der Methode `HSA_LCD_Shield.begin()` initialisiert worden sein.
 
     <u>Parameter:</u>
 
+    * `<text>` *(String)*: Textnachricht, die auf dem LC-Display geschrieben werden soll
 
+    * `<row>`: Auswahl der Zeile (`0x01` bis `0x04`)
 
-    <u>Rückgabewert</u>
+    * `<column>`: Auswahl der Spalte (`0x01` bis `0x0A`)
 
+   <u>Rückgabewert</u>
 
+    `bool`:
+    
+    * `false`: LC-Display nicht initialisiert oder Zeilen-/Spaltennummer unbekannt
+    * `true`: Textnachricht erfolgreich auf LC-Display geschrieben
 
     <u>Beispiel:</u>
 
     ```arduino
+    //Einbinden der LCD-Shield Bibliothek 
+    #include <HSA_LCD_Shield.h>
+
+    // Erstelle Objekt der Klasse mit Standardeinstellungen.
+    HSA_LCD_Shield Display;
+
+    void setup(void) {
+        // Initialisiere serielle Kommunikation mit einer Baudrate von 9600
+        Serial.begin(9600);
+
+        // Initialisiere LEDs/Taster und LC-Display mit der standard I²C-Adresse
+        Display.begin();
 
+        // LCD-Backlight dauerhaft einschalten
+        Display.lcdBacklight(HIGH);
+
+        // schreibe "Hallo" auf dem LC-Display in Zeile 1/Spalte 1
+        if(Display.writeXY(0x02, 0x01, "Hallo"))
+            Serial.println("Text auf LC-Display geschrieben.");
+
+        // Warte 5s
+        delay(5000);
+
+        // schreibe "Hallo" auf dem LC-Display in Zeile 2/Spalte 7
+        if(Display.writeXY(0x02, 0x07, "Welt")) 
+            Serial.println("Text auf LC-Display geschrieben."); 
+    }
+
+    void loop(void) {
+        
+    }
     ```
 
 <div id='clearDisplay'/>
@@ -652,13 +890,26 @@ zur Verfügung.
 
     Diese Methode löscht alle Zeichen auf den LC-Display. Methode `HSA_LCD_Shield.begin()` muss erfolgreich ausgeführt worden sein. 
 
+    <u>Rückgabewert</u>
+
+    `bool`:
+    
+    * `false`: LC-Display nicht konfiguriert
+    * `true`: LC-Display erfolgreich gelöscht
+
     <u>Beispiel:</u>
 
     ```arduino
+    //Einbinden der LCD-Shield Bibliothek 
+    #include <HSA_LCD_Shield.h>
+
     // Erstelle Objekt der Klasse mit Standardeinstellungen.
-    HSA_LCD_Shield Display();
+    HSA_LCD_Shield Display;
 
     void setup(void) {
+        // Initialisiere serielle Kommunikation mit einer Baudrate von 9600
+        Serial.begin(9600);
+
         // Initialisiere LEDs/Taster und LC-Display mit der standard I²C-Adresse
         Display.begin();
 
@@ -667,11 +918,13 @@ zur Verfügung.
     }
 
     void loop(void) {
-        // "Hallo Welt" auf dem LC-Display mit 0,5 Hz blinken lassen
-        Display.writeRow(0x01, "Hallo Welt");
-        delay(0x03E8);
-        Display.clearDisplay();
-        delay(0x03E8);
+        // "Hallo Welt" auf dem LC-Display mit 1 Hz blinken lassen
+        if(Display.writeRow(0x01, "Hallo Welt"))
+            Serial.println("Text auf LC-Display geschrieben.");
+        delay(500);
+        if(Display.clearDisplay())
+            Serial.println("Text auf LC-Display geloescht.");
+        delay(500);
     }
     ```