a

Dependencies:   LM75B mbed

Committer:
bulmenwt
Date:
Wed Jan 28 07:52:24 2015 +0000
Revision:
0:c96b6773ab09
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bulmenwt 0:c96b6773ab09 1 /*M0-BOARD LPC11U24 VERSION 1.0 WF 01_2015
bulmenwt 0:c96b6773ab09 2 BULME Graz / Elektronik
bulmenwt 0:c96b6773ab09 3 RGB - LED
bulmenwt 0:c96b6773ab09 4 Datei: WF_RGB_Ampel/main.cpp
bulmenwt 0:c96b6773ab09 5 */
bulmenwt 0:c96b6773ab09 6
bulmenwt 0:c96b6773ab09 7 #include "mbed.h"
bulmenwt 0:c96b6773ab09 8 PwmOut g(p5); // Definition LED grün, PWM
bulmenwt 0:c96b6773ab09 9 PwmOut b(p34); // Definition LED blau, PWM
bulmenwt 0:c96b6773ab09 10 PwmOut r(p36); // Definition LED rot, PWM
bulmenwt 0:c96b6773ab09 11
bulmenwt 0:c96b6773ab09 12 // Definition der Taster (Switches)
bulmenwt 0:c96b6773ab09 13 DigitalIn sw1(P0_15); // SW1 -> sein IO Pin ist laut Schaltplan der P0_15
bulmenwt 0:c96b6773ab09 14 DigitalIn sw2(P0_10); // Die Pins werden hier mit DigitalIn belegt !
bulmenwt 0:c96b6773ab09 15 DigitalIn sw3(P0_23); // Die Pins werden hier mit DigitalIn belegt !
bulmenwt 0:c96b6773ab09 16
bulmenwt 0:c96b6773ab09 17 // definition der Zustände
bulmenwt 0:c96b6773ab09 18 typedef enum { a_rot, a_blau, a_gruen, temp} state_t ;
bulmenwt 0:c96b6773ab09 19 state_t state = a_rot;
bulmenwt 0:c96b6773ab09 20
bulmenwt 0:c96b6773ab09 21 // Funktions-Prototype
bulmenwt 0:c96b6773ab09 22 void farbe(int gruen, int blau, int rot);
bulmenwt 0:c96b6773ab09 23 void stateMachine();
bulmenwt 0:c96b6773ab09 24
bulmenwt 0:c96b6773ab09 25 int main()
bulmenwt 0:c96b6773ab09 26 {
bulmenwt 0:c96b6773ab09 27 farbe(1,1,0);
bulmenwt 0:c96b6773ab09 28 while(1)
bulmenwt 0:c96b6773ab09 29 {
bulmenwt 0:c96b6773ab09 30 if (sw1==1) {
bulmenwt 0:c96b6773ab09 31 stateMachine();
bulmenwt 0:c96b6773ab09 32 }
bulmenwt 0:c96b6773ab09 33 }
bulmenwt 0:c96b6773ab09 34 }
bulmenwt 0:c96b6773ab09 35
bulmenwt 0:c96b6773ab09 36 // Function farbe definieren
bulmenwt 0:c96b6773ab09 37 void farbe(int gruen, int blau, int rot)
bulmenwt 0:c96b6773ab09 38 {
bulmenwt 0:c96b6773ab09 39 g=gruen; // LED gruen
bulmenwt 0:c96b6773ab09 40 b=blau; // LED blau
bulmenwt 0:c96b6773ab09 41 r=rot; // LED rot
bulmenwt 0:c96b6773ab09 42 }
bulmenwt 0:c96b6773ab09 43
bulmenwt 0:c96b6773ab09 44 // Function Zustnadsmaschine
bulmenwt 0:c96b6773ab09 45 void stateMachine()
bulmenwt 0:c96b6773ab09 46 {
bulmenwt 0:c96b6773ab09 47 switch( state ) {
bulmenwt 0:c96b6773ab09 48 case a_rot:
bulmenwt 0:c96b6773ab09 49 farbe(1,1,0);
bulmenwt 0:c96b6773ab09 50 wait(2);
bulmenwt 0:c96b6773ab09 51 state = a_blau;
bulmenwt 0:c96b6773ab09 52 //break;
bulmenwt 0:c96b6773ab09 53
bulmenwt 0:c96b6773ab09 54 case a_blau:
bulmenwt 0:c96b6773ab09 55 farbe(1,0,1);
bulmenwt 0:c96b6773ab09 56 wait(2);
bulmenwt 0:c96b6773ab09 57 state = a_gruen;
bulmenwt 0:c96b6773ab09 58 //break;
bulmenwt 0:c96b6773ab09 59
bulmenwt 0:c96b6773ab09 60 case a_gruen:
bulmenwt 0:c96b6773ab09 61 farbe(0,1,1);
bulmenwt 0:c96b6773ab09 62 wait(2);
bulmenwt 0:c96b6773ab09 63 state = a_rot;
bulmenwt 0:c96b6773ab09 64 //break;
bulmenwt 0:c96b6773ab09 65
bulmenwt 0:c96b6773ab09 66 case temp:
bulmenwt 0:c96b6773ab09 67 farbe(1,1,0);
bulmenwt 0:c96b6773ab09 68 break;
bulmenwt 0:c96b6773ab09 69
bulmenwt 0:c96b6773ab09 70 }
bulmenwt 0:c96b6773ab09 71 }