M

Dependencies:   mbed

Committer:
EmilMcDuck
Date:
Mon Feb 17 18:36:39 2014 +0000
Revision:
0:24bb4548ade6
rfd

Who changed what in which revision?

UserRevisionLine numberNew contents of line
EmilMcDuck 0:24bb4548ade6 1 #include "mbed.h"
EmilMcDuck 0:24bb4548ade6 2 #include <string>
EmilMcDuck 0:24bb4548ade6 3
EmilMcDuck 0:24bb4548ade6 4 // Funktionen erstellen
EmilMcDuck 0:24bb4548ade6 5 int changeCompBehaviorWithButton(DigitalIn btn, DigitalOut out);
EmilMcDuck 0:24bb4548ade6 6 int flashLedBus(BusOut myled);
EmilMcDuck 0:24bb4548ade6 7 int setLedBrightness(float brightness, PwmOut out);
EmilMcDuck 0:24bb4548ade6 8 float getTemperature();
EmilMcDuck 0:24bb4548ade6 9
EmilMcDuck 0:24bb4548ade6 10 char cmd[2];
EmilMcDuck 0:24bb4548ade6 11
EmilMcDuck 0:24bb4548ade6 12 // Output Array
EmilMcDuck 0:24bb4548ade6 13 BusOut myled(P1_13,P1_12,P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1);
EmilMcDuck 0:24bb4548ade6 14 DigitalIn sw1(P0_10);
EmilMcDuck 0:24bb4548ade6 15 DigitalIn sw2(P0_15);
EmilMcDuck 0:24bb4548ade6 16 DigitalIn sw3(P0_23);
EmilMcDuck 0:24bb4548ade6 17 DigitalIn sw4(P1_16);
EmilMcDuck 0:24bb4548ade6 18
EmilMcDuck 0:24bb4548ade6 19 PwmOut rgb_green(p5);
EmilMcDuck 0:24bb4548ade6 20 PwmOut rgb_blue(p34);
EmilMcDuck 0:24bb4548ade6 21 PwmOut rgb_red(p36);
EmilMcDuck 0:24bb4548ade6 22
EmilMcDuck 0:24bb4548ade6 23 AnalogIn pot(p15);
EmilMcDuck 0:24bb4548ade6 24 AnalogIn ldr(p16);
EmilMcDuck 0:24bb4548ade6 25
EmilMcDuck 0:24bb4548ade6 26 DigitalOut led(LED1);
EmilMcDuck 0:24bb4548ade6 27
EmilMcDuck 0:24bb4548ade6 28 Serial pc(USBTX, USBRX);
EmilMcDuck 0:24bb4548ade6 29
EmilMcDuck 0:24bb4548ade6 30 I2C i2c(p28, p27);
EmilMcDuck 0:24bb4548ade6 31
EmilMcDuck 0:24bb4548ade6 32 const int addr = 0x90;
EmilMcDuck 0:24bb4548ade6 33 #define CONST 12
EmilMcDuck 0:24bb4548ade6 34
EmilMcDuck 0:24bb4548ade6 35 int main()
EmilMcDuck 0:24bb4548ade6 36 {
EmilMcDuck 0:24bb4548ade6 37 pc.printf("MBED Prgramm gestartet!\r\n");
EmilMcDuck 0:24bb4548ade6 38 while(1) {
EmilMcDuck 0:24bb4548ade6 39 pc.printf("Potentiometer: \t%.3f\r\n",pot.read());
EmilMcDuck 0:24bb4548ade6 40 pc.printf("LDR: \t\t%.3f\r\n",ldr.read());
EmilMcDuck 0:24bb4548ade6 41 pc.printf("Temperatur: \t%.2f\r\n",getTemperature());
EmilMcDuck 0:24bb4548ade6 42 pc.printf("Switch1: \t%d\r\n",sw1.read());
EmilMcDuck 0:24bb4548ade6 43 pc.printf("Switch2: \t%d\r\n",sw2.read());
EmilMcDuck 0:24bb4548ade6 44 pc.printf("Switch3: \t%d\r\n",sw3.read());
EmilMcDuck 0:24bb4548ade6 45 pc.printf("Switch4: \t%d\r\n",sw4.read());
EmilMcDuck 0:24bb4548ade6 46 pc.printf("+++++++++++++++++++++++++++++++++++++++++\r\n");
EmilMcDuck 0:24bb4548ade6 47 wait(1);
EmilMcDuck 0:24bb4548ade6 48 }
EmilMcDuck 0:24bb4548ade6 49
EmilMcDuck 0:24bb4548ade6 50 }
EmilMcDuck 0:24bb4548ade6 51
EmilMcDuck 0:24bb4548ade6 52 float getTemperature()
EmilMcDuck 0:24bb4548ade6 53 {
EmilMcDuck 0:24bb4548ade6 54 cmd[0] = 0x01;
EmilMcDuck 0:24bb4548ade6 55 cmd[1] = 0x00;
EmilMcDuck 0:24bb4548ade6 56 i2c.write(addr, cmd, 2);
EmilMcDuck 0:24bb4548ade6 57
EmilMcDuck 0:24bb4548ade6 58 wait(0.5);
EmilMcDuck 0:24bb4548ade6 59
EmilMcDuck 0:24bb4548ade6 60 cmd[0] = 0x00;
EmilMcDuck 0:24bb4548ade6 61 i2c.write(addr, cmd, 1);
EmilMcDuck 0:24bb4548ade6 62 i2c.read(addr, cmd, 2);
EmilMcDuck 0:24bb4548ade6 63
EmilMcDuck 0:24bb4548ade6 64 float tmp = (float((cmd[0]<<8)|cmd[1]) / 256.0);
EmilMcDuck 0:24bb4548ade6 65 return tmp;
EmilMcDuck 0:24bb4548ade6 66 }
EmilMcDuck 0:24bb4548ade6 67
EmilMcDuck 0:24bb4548ade6 68 int changeCompBehaviorWithButton(DigitalIn btn, DigitalOut out)
EmilMcDuck 0:24bb4548ade6 69 {
EmilMcDuck 0:24bb4548ade6 70 if(btn) {
EmilMcDuck 0:24bb4548ade6 71 out = !out;
EmilMcDuck 0:24bb4548ade6 72 return false;
EmilMcDuck 0:24bb4548ade6 73 }
EmilMcDuck 0:24bb4548ade6 74 return true;
EmilMcDuck 0:24bb4548ade6 75 }
EmilMcDuck 0:24bb4548ade6 76
EmilMcDuck 0:24bb4548ade6 77 int setLedBrightness(float brightness, PwmOut out)
EmilMcDuck 0:24bb4548ade6 78 {
EmilMcDuck 0:24bb4548ade6 79 out.write(brightness);
EmilMcDuck 0:24bb4548ade6 80 return true;
EmilMcDuck 0:24bb4548ade6 81 }
EmilMcDuck 0:24bb4548ade6 82
EmilMcDuck 0:24bb4548ade6 83 int flashLedBus(BusOut myled)
EmilMcDuck 0:24bb4548ade6 84 {
EmilMcDuck 0:24bb4548ade6 85 int i;
EmilMcDuck 0:24bb4548ade6 86 myled=0x0001; // auf Led 1 wird HIGH geschrieben
EmilMcDuck 0:24bb4548ade6 87 wait(1); // eine Sekunde warten
EmilMcDuck 0:24bb4548ade6 88 myled=0x0003; // auf Led 2 wird HIGH geschrieben
EmilMcDuck 0:24bb4548ade6 89 wait(1);
EmilMcDuck 0:24bb4548ade6 90 myled=0x0006; // auf Led 3 wird HIGH geschrieben
EmilMcDuck 0:24bb4548ade6 91 wait(1);
EmilMcDuck 0:24bb4548ade6 92 myled=0x0018;
EmilMcDuck 0:24bb4548ade6 93 wait(1);
EmilMcDuck 0:24bb4548ade6 94 myled=0x0030;
EmilMcDuck 0:24bb4548ade6 95 wait(1);
EmilMcDuck 0:24bb4548ade6 96 myled=0x0060;
EmilMcDuck 0:24bb4548ade6 97 // Forschleife
EmilMcDuck 0:24bb4548ade6 98 for (i=1; i<12; i++) {
EmilMcDuck 0:24bb4548ade6 99 // << kleiner - >> größer ...als
EmilMcDuck 0:24bb4548ade6 100 myled=myled>>1;
EmilMcDuck 0:24bb4548ade6 101 wait(0.1);
EmilMcDuck 0:24bb4548ade6 102 }
EmilMcDuck 0:24bb4548ade6 103 return true;
EmilMcDuck 0:24bb4548ade6 104 }
EmilMcDuck 0:24bb4548ade6 105
EmilMcDuck 0:24bb4548ade6 106