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:
Tue Jul 12 14:49:28 2016 +0000
Revision:
19:51747c0ab062
Parent:
17:0b9e7a05b203
Child:
20:094cdb790dcb
if-Bedingung der Ueberkopflage erweitert mit X und Y Winkel, damit bei >80 Grad Ueberkopflage eintritt. ZDaten weiterhin notwendig fuer Ueberkopflagedetektion. Periode PWM auf 10 ms verringert wegen flimmern. 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 0:2a6b63a19ae5 4 schleunigungssensores ausgelesen, umgerechnet in Winkel, LED auf
Schreeker 0:2a6b63a19ae5 5 Basis der X-,Y- und Z-Winkel angesteuert und die Winkel auf dem
Schreeker 0:2a6b63a19ae5 6 LCD-Display angezeigt.
Schreeker 0:2a6b63a19ae5 7 * Author: Simon Rutzen, Nils Kemmer
Schreeker 0:2a6b63a19ae5 8 * Changes: keine
Schreeker 0:2a6b63a19ae5 9 ***********************************************************************************/
Schreeker 0:2a6b63a19ae5 10
Schreeker 0:2a6b63a19ae5 11 /* Includes */
Schreeker 0:2a6b63a19ae5 12 #include "mbed.h"
Schreeker 0:2a6b63a19ae5 13 #include "LCD.h"
Schreeker 0:2a6b63a19ae5 14 #include "cdef.h"
NilsKemmer 2:cf8b98404b66 15 #include "Sensor.h"
Schreeker 12:7c9c5a541380 16 #include "LED.h"
NilsKemmer 2:cf8b98404b66 17
NilsKemmer 2:cf8b98404b66 18 /*Structs*/
Schreeker 5:c0d6d490dd5b 19 extern struct WinkelData stWinkelData;
Schreeker 5:c0d6d490dd5b 20 extern struct SensData stSensData;
Schreeker 0:2a6b63a19ae5 21
Schreeker 0:2a6b63a19ae5 22 /* Hauptprogramm */
Schreeker 0:2a6b63a19ae5 23 int main(){
Schreeker 15:462c8c89fe35 24 /* Variabeln */
Schreeker 15:462c8c89fe35 25 byte bStateLCD = 0;
Schreeker 15:462c8c89fe35 26
Schreeker 14:2543a798b4a1 27 /* Initialisierung (LCD Anzeige + Blinkende LED's */
Schreeker 14:2543a798b4a1 28 initLCD();
Schreeker 12:7c9c5a541380 29 initLED();
Schreeker 12:7c9c5a541380 30
Schreeker 0:2a6b63a19ae5 31 while(1){
Schreeker 7:882edb5f9466 32 /* Auslesen des Beschleunigungssensores */
Schreeker 5:c0d6d490dd5b 33 vgetSensData(&stSensData);
Schreeker 11:5861bc23022a 34
Schreeker 11:5861bc23022a 35 /* Berechnung der Spannungswerte aus den Messdaten für Debugzwecke */
Schreeker 14:2543a798b4a1 36 //vDebugData(&stSensData, &stWinkelData);
Schreeker 11:5861bc23022a 37
Schreeker 7:882edb5f9466 38 /* Berechnung der Winkel aus Messdaten */
Schreeker 14:2543a798b4a1 39 vcalcData(&stSensData, &stWinkelData);
Schreeker 11:5861bc23022a 40
Schreeker 7:882edb5f9466 41 /* Einstellen der LED's*/
Schreeker 16:9b20d24aae18 42 bStateLCD = setLED(stWinkelData.i16WinkelX, stWinkelData.i16WinkelY, stWinkelData.i16SpannungZ);
Schreeker 11:5861bc23022a 43
Schreeker 7:882edb5f9466 44 /* Einstellen des LCD-Displays*/
Schreeker 15:462c8c89fe35 45 vLCDSet(stWinkelData.i16WinkelX, stWinkelData.i16WinkelY, bStateLCD);
Schreeker 16:9b20d24aae18 46 //vLCDDebug(stWinkelData.i16WinkelX, stWinkelData.i16WinkelY, stWinkelData.i16SpannungZ);
Schreeker 11:5861bc23022a 47 /* Pause */
Schreeker 19:51747c0ab062 48 wait_ms(100);
Schreeker 0:2a6b63a19ae5 49 }
Schreeker 0:2a6b63a19ae5 50 return 0;
Schreeker 0:2a6b63a19ae5 51 }