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

Dependencies:   TextLCD mbed

Committer:
Schreeker
Date:
Fri Jul 29 14:58:49 2016 +0000
Revision:
20:094cdb790dcb
Parent:
19:51747c0ab062
Anpassung an Programmierrichtlinie Dokument, sowie letzte Kontrolle und Funktionstest. Alles Ok! Codestatus endg?ltig! Simon Rutzen

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Schreeker 0:2a6b63a19ae5 1 /**********************************************************************************
Schreeker 0:2a6b63a19ae5 2 * File name: main.cpp
Schreeker 0:2a6b63a19ae5 3 * Zweck: Beinhaltet das Hauptprogramm. Es werden zyklisch die Daten des Be-
Schreeker 20:094cdb790dcb 4 schleunigungssensores ausgelesen, umgerechnet in Winkel, die LED's
Schreeker 20:094cdb790dcb 5 auf Basis der X-,Y- und Z-Winkel angesteuert und die Winkel auf dem
Schreeker 20:094cdb790dcb 6 LCD-Display angezeigt oder die Überkopflage angezeigt.
Schreeker 20:094cdb790dcb 7
Schreeker 20:094cdb790dcb 8 !Hinweis: Es wird die Ungarische Notation verwendet!
Schreeker 20:094cdb790dcb 9
Schreeker 0:2a6b63a19ae5 10 * Author: Simon Rutzen, Nils Kemmer
Schreeker 20:094cdb790dcb 11 * Changes:
Schreeker 20:094cdb790dcb 12 19.05.16 Erstellung und Einbinden von mbed.h, cdef.h und LCD.h
Schreeker 20:094cdb790dcb 13 23.05.16 Sensor.h + deren Funktionen eingefügt in Hauptprogramm (auch von LCD.h)
Schreeker 20:094cdb790dcb 14 24.05.16 Ablauf des Hauptprogrammes geplant und Kommentar verfasst
Schreeker 20:094cdb790dcb 15 25.05.16 Funktion wait aus mbed.h eingefügt wegen LCD-Anzeige
Schreeker 20:094cdb790dcb 16 27.05.16 Kommentierung des Funktionablaufes
Schreeker 20:094cdb790dcb 17 28.05.16 Erweiterung mit Debug-Funktionen von LCD.h und Sensor.h
Schreeker 20:094cdb790dcb 18 28.06.16 Funktion initLED eingefügt
Schreeker 20:094cdb790dcb 19 30.06.16 Funktion initLCD eingefügt
Schreeker 20:094cdb790dcb 20 29.07.16 Anpassung an Programmierrichtlinie-Dokument und letzte endgültige
Schreeker 20:094cdb790dcb 21 Kontrolle Simon Rutzen
Schreeker 0:2a6b63a19ae5 22 ***********************************************************************************/
Schreeker 0:2a6b63a19ae5 23
Schreeker 0:2a6b63a19ae5 24 /* Includes */
Schreeker 0:2a6b63a19ae5 25 #include "mbed.h"
Schreeker 0:2a6b63a19ae5 26 #include "LCD.h"
Schreeker 0:2a6b63a19ae5 27 #include "cdef.h"
NilsKemmer 2:cf8b98404b66 28 #include "Sensor.h"
Schreeker 12:7c9c5a541380 29 #include "LED.h"
NilsKemmer 2:cf8b98404b66 30
Schreeker 20:094cdb790dcb 31 /*Structs aus Sensor.cpp bzw. Sensor.h*/
Schreeker 20:094cdb790dcb 32 extern struct stWinkelData stWinkelData;
Schreeker 20:094cdb790dcb 33 extern struct stSensData stSensData;
Schreeker 0:2a6b63a19ae5 34
Schreeker 0:2a6b63a19ae5 35 /* Hauptprogramm */
Schreeker 0:2a6b63a19ae5 36 int main(){
Schreeker 15:462c8c89fe35 37 /* Variabeln */
Schreeker 15:462c8c89fe35 38 byte bStateLCD = 0;
Schreeker 15:462c8c89fe35 39
Schreeker 14:2543a798b4a1 40 /* Initialisierung (LCD Anzeige + Blinkende LED's */
Schreeker 20:094cdb790dcb 41 LCD_vinitLCD();
Schreeker 20:094cdb790dcb 42 LED_vinitLED();
Schreeker 12:7c9c5a541380 43
Schreeker 0:2a6b63a19ae5 44 while(1){
Schreeker 7:882edb5f9466 45 /* Auslesen des Beschleunigungssensores */
Schreeker 20:094cdb790dcb 46 Sensor_vgetSensData(&stSensData);
Schreeker 11:5861bc23022a 47
Schreeker 11:5861bc23022a 48 /* Berechnung der Spannungswerte aus den Messdaten für Debugzwecke */
Schreeker 20:094cdb790dcb 49 //Sensor_vDebugData(&stSensData, &stWinkelData);
Schreeker 11:5861bc23022a 50
Schreeker 7:882edb5f9466 51 /* Berechnung der Winkel aus Messdaten */
Schreeker 20:094cdb790dcb 52 Sensor_vcalcData(&stSensData, &stWinkelData);
Schreeker 11:5861bc23022a 53
Schreeker 7:882edb5f9466 54 /* Einstellen der LED's*/
Schreeker 20:094cdb790dcb 55 bStateLCD = LED_bsetLED(stWinkelData.i16WinkelX, stWinkelData.i16WinkelY, stWinkelData.i16SpannungZ);
Schreeker 11:5861bc23022a 56
Schreeker 7:882edb5f9466 57 /* Einstellen des LCD-Displays*/
Schreeker 20:094cdb790dcb 58 LCD_vLCDSet(stWinkelData.i16WinkelX, stWinkelData.i16WinkelY, bStateLCD);
Schreeker 20:094cdb790dcb 59 //LCD_vLCDDebug(stWinkelData.i16WinkelX, stWinkelData.i16WinkelY, stWinkelData.i16SpannungZ);
Schreeker 11:5861bc23022a 60 /* Pause */
Schreeker 19:51747c0ab062 61 wait_ms(100);
Schreeker 0:2a6b63a19ae5 62 }
Schreeker 0:2a6b63a19ae5 63 return 0;
Schreeker 0:2a6b63a19ae5 64 }