
Programm zur Darstellung der Lage eines Objektes im Raum mit Hilfe eines Beschleunigungssensores, 4 LED's und einem LCD-Display.
LCD.cpp@11:5861bc23022a, 2016-06-28 (annotated)
- Committer:
- Schreeker
- Date:
- Tue Jun 28 19:05:15 2016 +0000
- Revision:
- 11:5861bc23022a
- Parent:
- 9:38d287593320
- Child:
- 14:2543a798b4a1
Hinzuf?gen der Funktionen vDebugData und vLCDDebug. Erstere gibt Spannungswerte der Achsen mit Faktor 10000 multipliziert zur?ck, zweitere zeigt diese Werte an f?r Kalibrierung der Nullage. Simon Rutzen
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Schreeker | 0:2a6b63a19ae5 | 1 | /********************************************************************************** |
Schreeker | 0:2a6b63a19ae5 | 2 | * File name: LCD.cpp |
Schreeker | 0:2a6b63a19ae5 | 3 | * Zweck: Beinhaltet alle Funktionen zur Ausgabe von Informationen |
Schreeker | 0:2a6b63a19ae5 | 4 | auf dem LCD-Display, sowie Funktionen zum Debuggen des Projektes |
Schreeker | 0:2a6b63a19ae5 | 5 | * Author: Simon Rutzen, Nils Kemmer |
Schreeker | 0:2a6b63a19ae5 | 6 | * Changes: keine |
Schreeker | 0:2a6b63a19ae5 | 7 | ***********************************************************************************/ |
Schreeker | 0:2a6b63a19ae5 | 8 | |
Schreeker | 0:2a6b63a19ae5 | 9 | /* Includes */ |
Schreeker | 0:2a6b63a19ae5 | 10 | #include "LCD.h" |
Schreeker | 0:2a6b63a19ae5 | 11 | |
Schreeker | 0:2a6b63a19ae5 | 12 | /* Objekt zum Steuern des Bildschirmes */ |
Schreeker | 0:2a6b63a19ae5 | 13 | TextLCD olcd(PA_9, PC_7, PB_5, PB_4, PB_10, PA_8, TextLCD::LCD20x2); // rs, e, d4-d7 |
Schreeker | 0:2a6b63a19ae5 | 14 | |
Schreeker | 0:2a6b63a19ae5 | 15 | /************************************************************************************ |
Schreeker | 0:2a6b63a19ae5 | 16 | * void vLCDSet(word wWinkelX, word wWinkelY) |
Schreeker | 0:2a6b63a19ae5 | 17 | * Zweck: Funktion zur Darstellung der aktuellen X- und Y-Lage (in °) |
Schreeker | 0:2a6b63a19ae5 | 18 | des Beschleunigungssensores auf dem LCD-Display |
Schreeker | 0:2a6b63a19ae5 | 19 | * Parameter: |
Schreeker | 0:2a6b63a19ae5 | 20 | wWinkelX: aktueller Winkel bezogen auf die X-Achse des Beschleunigungssensores |
Schreeker | 0:2a6b63a19ae5 | 21 | wWinkelY: aktueller Winkel bezogen auf die Y-Achse des Beschleunigungssensores |
Schreeker | 0:2a6b63a19ae5 | 22 | * return Parameter: |
Schreeker | 0:2a6b63a19ae5 | 23 | keine |
Schreeker | 0:2a6b63a19ae5 | 24 | *************************************************************************************/ |
Schreeker | 9:38d287593320 | 25 | void vLCDSet(signed short int wWinkelX, signed short int wWinkelY){ |
Schreeker | 5:c0d6d490dd5b | 26 | /* Bildschirm bereinigen*/ |
Schreeker | 5:c0d6d490dd5b | 27 | olcd.cls(); |
Schreeker | 7:882edb5f9466 | 28 | |
Schreeker | 0:2a6b63a19ae5 | 29 | /* Überschrift in erster Zeile darstellen */ |
Schreeker | 0:2a6b63a19ae5 | 30 | olcd.locate(0,0); |
Schreeker | 0:2a6b63a19ae5 | 31 | olcd.printf("Lage:"); |
Schreeker | 0:2a6b63a19ae5 | 32 | |
Schreeker | 0:2a6b63a19ae5 | 33 | /* aktuelle Winkel darstellen in ° */ |
Schreeker | 0:2a6b63a19ae5 | 34 | olcd.locate(0,1); |
Schreeker | 7:882edb5f9466 | 35 | olcd.printf("X:%i\337 Y:%i\337",wWinkelX,wWinkelY); // \337 entspricht °-Zeichen |
Schreeker | 11:5861bc23022a | 36 | } |
Schreeker | 11:5861bc23022a | 37 | |
Schreeker | 11:5861bc23022a | 38 | /************************************************************************************ |
Schreeker | 11:5861bc23022a | 39 | * void vLCDDebug(signed short int wWinkelX, signed short int wWinkelY, signed short int wWinkelZ) |
Schreeker | 11:5861bc23022a | 40 | * Zweck: Debugfunktion zum Anzeigen der aktuellen Messwerte des Beschleunigungssensores |
Schreeker | 11:5861bc23022a | 41 | zwecks Kalibrierung der einzelnen Nullpunkte der Achsen |
Schreeker | 11:5861bc23022a | 42 | * Parameter: |
Schreeker | 11:5861bc23022a | 43 | wWinkelX: aktueller Winkel bezogen auf die X-Achse des Beschleunigungssensores |
Schreeker | 11:5861bc23022a | 44 | wWinkelY: aktueller Winkel bezogen auf die Y-Achse des Beschleunigungssensores |
Schreeker | 11:5861bc23022a | 45 | wWinkelZ: aktueller Winkel bezogen auf die Y-Achse des Beschleunigungssensores |
Schreeker | 11:5861bc23022a | 46 | Hinweis: Alle Winkelwerte sind Spannungswerte des Sensores mit Faktor 10000 multipliziert! |
Schreeker | 11:5861bc23022a | 47 | * return Parameter: |
Schreeker | 11:5861bc23022a | 48 | keine |
Schreeker | 11:5861bc23022a | 49 | *************************************************************************************/ |
Schreeker | 11:5861bc23022a | 50 | void vLCDDebug(signed short int wWinkelX, signed short int wWinkelY, signed short int wWinkelZ){ |
Schreeker | 11:5861bc23022a | 51 | /* Bildschirm bereinigen */ |
Schreeker | 11:5861bc23022a | 52 | olcd.cls(); |
Schreeker | 11:5861bc23022a | 53 | |
Schreeker | 11:5861bc23022a | 54 | /* Anzeigen der einzelnen Parameter, oben X und Y, unten Z */ |
Schreeker | 11:5861bc23022a | 55 | olcd.locate(0,0); |
Schreeker | 11:5861bc23022a | 56 | olcd.printf("X:%i Y:%i",wWinkelX,wWinkelY); |
Schreeker | 11:5861bc23022a | 57 | olcd.locate(0,1); |
Schreeker | 11:5861bc23022a | 58 | olcd.printf("Z:%i",wWinkelZ); |
Schreeker | 11:5861bc23022a | 59 | } |