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

Dependencies:   TextLCD mbed

LCD.cpp

Committer:
Schreeker
Date:
2016-06-28
Revision:
11:5861bc23022a
Parent:
9:38d287593320
Child:
14:2543a798b4a1

File content as of revision 11:5861bc23022a:

/********************************************************************************** 
* File name:    LCD.cpp
* 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
***********************************************************************************/

/* 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

/************************************************************************************
* void 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
* return Parameter:
    keine
*************************************************************************************/
void vLCDSet(signed short int wWinkelX, signed short int wWinkelY){
    /* Bildschirm bereinigen*/
    olcd.cls();
    
    /* Überschrift in erster Zeile darstellen */
    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
}    

/************************************************************************************
* void 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:
    wWinkelX: aktueller Winkel bezogen auf die X-Achse des Beschleunigungssensores
    wWinkelY: aktueller Winkel bezogen auf die Y-Achse des Beschleunigungssensores
    wWinkelZ: aktueller Winkel bezogen auf die Y-Achse des Beschleunigungssensores
    Hinweis: Alle Winkelwerte sind Spannungswerte des Sensores mit Faktor 10000 multipliziert!
* return Parameter:
    keine
*************************************************************************************/
void vLCDDebug(signed short int wWinkelX, signed short int wWinkelY, signed short int wWinkelZ){
    /* Bildschirm bereinigen */
    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); 
    }