Programm zur Darstellung der Lage eines Objektes im Raum mit Hilfe eines Beschleunigungssensores, 4 LED's und einem LCD-Display.

Dependencies:   TextLCD mbed

Revision:
20:094cdb790dcb
Parent:
17:0b9e7a05b203
--- a/LCD.cpp	Tue Jul 12 14:49:28 2016 +0000
+++ b/LCD.cpp	Fri Jul 29 14:58:49 2016 +0000
@@ -3,55 +3,68 @@
 * Zweck:        Beinhaltet alle Funktionen zur Ausgabe von Informationen
                 auf dem LCD-Display, sowie Funktionen zum Debuggen des Projektes
 * Author:       Simon Rutzen, Nils Kemmer
-* Changes:      keine
+* Changes:      
+    19.05.16    Erstellung File und Funktion vLCDSet und Einbinden des Files TextLCD.h
+    23.05.16    vLCDSetDebug eingefügt + °-Zeichen in Anzeige eingefügt
+    24.05.16    Anzeige printf Display neu strukturiert
+    27.05.16    Anzeige printf Display nochmals neu strukturiert endgültig
+                Funktionen kommentiert
+    05.06.16    Typänderung von WinkelData von word auf signed short int
+    28.06.16    DebugFunktion zum Anzeigen der Spannungswerte des a-Sensors
+    30.06.16    initLCD eingefügt zur Anzeige Begrüßungstext beim Anschalten
+    29.07.16    Anpassung an Programmierrichtlinie-Dokument und letzte endgültige
+                Kontrolle Simon Rutzen
 ***********************************************************************************/
 
 /* Includes */
 #include "LCD.h"
 
 /* Objekt zum Steuern des Bildschirmes */
-TextLCD olcd(PA_9, PC_7, PB_5, PB_4, PB_10, PA_8, TextLCD::LCD20x2); // rs, e, d4-d7
+TextLCD oLCD(PA_9, PC_7, PB_5, PB_4, PB_10, PA_8, TextLCD::LCD20x2); // rs, e, d4-d7
 
 /************************************************************************************
-* void vLCDSet(word wWinkelX, word wWinkelY)
+* void LCD_vLCDSet(word wWinkelX, word wWinkelY)
 * Zweck:    Funktion zur Darstellung der aktuellen X- und Y-Lage (in °)
             des Beschleunigungssensores auf dem LCD-Display
 * Parameter:
-    wWinkelX: aktueller Winkel bezogen auf die X-Achse des Beschleunigungssensores
-    wWinkelY: aktueller Winkel bezogen auf die Y-Achse des Beschleunigungssensores
+    wWinkelX:  aktueller Winkel bezogen auf die X-Achse des Beschleunigungssensores
+    wWinkelY:  aktueller Winkel bezogen auf die Y-Achse des Beschleunigungssensores
     bStateLCD: Zustandsvariabel, Anzeigen der Winkel bei Normallage (0) oder Anzeigen
-               der Textnachricht Überkopflage ohne Winkelangaben.
+               der Textnachricht Überkopflage ohne Winkelangaben (1).
 * return Parameter:
     keine
 *************************************************************************************/
-void vLCDSet(int16 wWinkelX, int16 wWinkelY, byte bStateLCD){
+void LCD_vLCDSet(int16 wWinkelX, int16 wWinkelY, byte bStateLCD){
     /* Bildschirm bereinigen*/
-    olcd.cls();
+    oLCD.cls();
     
     /* Einstellen des Anzeigemodus */
     switch(bStateLCD){
+        
         case 0:{
             /* Überschrift in erster Zeile darstellen */
-            olcd.locate(0,0);
-            olcd.printf("Lage:");
+            oLCD.locate(0,0);
+            oLCD.printf("Lage:");
         
     
             /* aktuelle Winkel darstellen in ° */
-            olcd.locate(0,1);
-            olcd.printf("X:%i\337 Y:%i\337",wWinkelX,wWinkelY);    // \337 entspricht °-Zeichen
+            oLCD.locate(0,1);
+            oLCD.printf("X:%i\337 Y:%i\337",wWinkelX,wWinkelY);    // \337 entspricht °-Zeichen
             }
             break;
+            
         case 1:{
             /* Anzeigen der Überkopflage des Sensores */
-            olcd.locate(0,0);
-            olcd.printf("!Ueberkopflage!");
+            oLCD.locate(0,0);
+            oLCD.printf("!Ueberkopflage!");
             }
+            
         default: break;
         }
 }    
 
 /************************************************************************************
-* void vLCDDebug(signed short int wWinkelX, signed short int wWinkelY, signed short int wWinkelZ)
+* void LCD_vLCDDebug(signed short int wWinkelX, signed short int wWinkelY, signed short int wWinkelZ)
 * Zweck:    Debugfunktion zum Anzeigen der aktuellen Messwerte des Beschleunigungssensores
             zwecks Kalibrierung der einzelnen Nullpunkte der Achsen
 * Parameter:
@@ -62,33 +75,33 @@
 * return Parameter:
     keine
 *************************************************************************************/
-void vLCDDebug(int16 wWinkelX, int16 wWinkelY, int16 wWinkelZ){
+void LCD_vLCDDebug(int16 wWinkelX, int16 wWinkelY, int16 wWinkelZ){
     /* Bildschirm bereinigen */
-    olcd.cls();
+    oLCD.cls();
     
     /* Anzeigen der einzelnen Parameter, oben X und Y, unten Z */
-    olcd.locate(0,0);
-    olcd.printf("X:%i Y:%i",wWinkelX,wWinkelY);   
-    olcd.locate(0,1);
-    olcd.printf("Z:%i",wWinkelZ); 
+    oLCD.locate(0,0);
+    oLCD.printf("X:%i Y:%i",wWinkelX,wWinkelY);   
+    oLCD.locate(0,1);
+    oLCD.printf("Z:%i",wWinkelZ); 
     }
     
 /************************************************************************************
-* void initLCD()
+* void LCD_initLCD()
 * Zweck:    Anzeigen des Initialtextes zum Programmstart.
 * Parameter:
     keine
 * return Parameter:
     keine
 *************************************************************************************/    
-void initLCD(){
+void LCD_vinitLCD(){
     /* Löschen des Bildschirmes */
-    olcd.cls();
+    oLCD.cls();
     
     /* Anzeigen des Initialtextes */
-    olcd.locate(3,0);
-    olcd.printf("Lagesensor");
+    oLCD.locate(3,0);
+    oLCD.printf("Lagesensor");
     
-    olcd.locate(1,1);
-    olcd.printf("Nils und Simon");
+    oLCD.locate(1,1);
+    oLCD.printf("Nils und Simon");
     }
\ No newline at end of file