Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
LCD.cpp
00001 /********************************************************************************** 00002 * File name: LCD.cpp 00003 * Zweck: Beinhaltet alle Funktionen zur Ausgabe von Informationen 00004 auf dem LCD-Display, sowie Funktionen zum Debuggen des Projektes 00005 * Author: Simon Rutzen, Nils Kemmer 00006 * Changes: 00007 19.05.16 Erstellung File und Funktion vLCDSet und Einbinden des Files TextLCD.h 00008 23.05.16 vLCDSetDebug eingefügt + °-Zeichen in Anzeige eingefügt 00009 24.05.16 Anzeige printf Display neu strukturiert 00010 27.05.16 Anzeige printf Display nochmals neu strukturiert endgültig 00011 Funktionen kommentiert 00012 05.06.16 Typänderung von WinkelData von word auf signed short int 00013 28.06.16 DebugFunktion zum Anzeigen der Spannungswerte des a-Sensors 00014 30.06.16 initLCD eingefügt zur Anzeige Begrüßungstext beim Anschalten 00015 29.07.16 Anpassung an Programmierrichtlinie-Dokument und letzte endgültige 00016 Kontrolle Simon Rutzen 00017 ***********************************************************************************/ 00018 00019 /* Includes */ 00020 #include "LCD.h" 00021 00022 /* Objekt zum Steuern des Bildschirmes */ 00023 TextLCD oLCD(PA_9, PC_7, PB_5, PB_4, PB_10, PA_8, TextLCD::LCD20x2); // rs, e, d4-d7 00024 00025 /************************************************************************************ 00026 * void LCD_vLCDSet(word wWinkelX, word wWinkelY) 00027 * Zweck: Funktion zur Darstellung der aktuellen X- und Y-Lage (in °) 00028 des Beschleunigungssensores auf dem LCD-Display 00029 * Parameter: 00030 wWinkelX: aktueller Winkel bezogen auf die X-Achse des Beschleunigungssensores 00031 wWinkelY: aktueller Winkel bezogen auf die Y-Achse des Beschleunigungssensores 00032 bStateLCD: Zustandsvariabel, Anzeigen der Winkel bei Normallage (0) oder Anzeigen 00033 der Textnachricht Überkopflage ohne Winkelangaben (1). 00034 * return Parameter: 00035 keine 00036 *************************************************************************************/ 00037 void LCD_vLCDSet(int16 wWinkelX, int16 wWinkelY, byte bStateLCD){ 00038 /* Bildschirm bereinigen*/ 00039 oLCD.cls(); 00040 00041 /* Einstellen des Anzeigemodus */ 00042 switch(bStateLCD){ 00043 00044 case 0:{ 00045 /* Überschrift in erster Zeile darstellen */ 00046 oLCD.locate(0,0); 00047 oLCD.printf("Lage:"); 00048 00049 00050 /* aktuelle Winkel darstellen in ° */ 00051 oLCD.locate(0,1); 00052 oLCD.printf("X:%i\337 Y:%i\337",wWinkelX,wWinkelY); // \337 entspricht °-Zeichen 00053 } 00054 break; 00055 00056 case 1:{ 00057 /* Anzeigen der Überkopflage des Sensores */ 00058 oLCD.locate(0,0); 00059 oLCD.printf("!Ueberkopflage!"); 00060 } 00061 00062 default: break; 00063 } 00064 } 00065 00066 /************************************************************************************ 00067 * void LCD_vLCDDebug(signed short int wWinkelX, signed short int wWinkelY, signed short int wWinkelZ) 00068 * Zweck: Debugfunktion zum Anzeigen der aktuellen Messwerte des Beschleunigungssensores 00069 zwecks Kalibrierung der einzelnen Nullpunkte der Achsen 00070 * Parameter: 00071 wWinkelX: aktueller Winkel bezogen auf die X-Achse des Beschleunigungssensores 00072 wWinkelY: aktueller Winkel bezogen auf die Y-Achse des Beschleunigungssensores 00073 wWinkelZ: aktueller Winkel bezogen auf die Y-Achse des Beschleunigungssensores 00074 Hinweis: Alle Winkelwerte sind Spannungswerte des Sensores mit Faktor 10000 multipliziert! 00075 * return Parameter: 00076 keine 00077 *************************************************************************************/ 00078 void LCD_vLCDDebug(int16 wWinkelX, int16 wWinkelY, int16 wWinkelZ){ 00079 /* Bildschirm bereinigen */ 00080 oLCD.cls(); 00081 00082 /* Anzeigen der einzelnen Parameter, oben X und Y, unten Z */ 00083 oLCD.locate(0,0); 00084 oLCD.printf("X:%i Y:%i",wWinkelX,wWinkelY); 00085 oLCD.locate(0,1); 00086 oLCD.printf("Z:%i",wWinkelZ); 00087 } 00088 00089 /************************************************************************************ 00090 * void LCD_initLCD() 00091 * Zweck: Anzeigen des Initialtextes zum Programmstart. 00092 * Parameter: 00093 keine 00094 * return Parameter: 00095 keine 00096 *************************************************************************************/ 00097 void LCD_vinitLCD(){ 00098 /* Löschen des Bildschirmes */ 00099 oLCD.cls(); 00100 00101 /* Anzeigen des Initialtextes */ 00102 oLCD.locate(3,0); 00103 oLCD.printf("Lagesensor"); 00104 00105 oLCD.locate(1,1); 00106 oLCD.printf("Nils und Simon"); 00107 }
Generated on Mon Jul 18 2022 08:31:20 by
1.7.2