M
main.cpp
- Committer:
- EmilMcDuck
- Date:
- 2014-02-17
- Revision:
- 0:24bb4548ade6
File content as of revision 0:24bb4548ade6:
#include "mbed.h" #include <string> // Funktionen erstellen int changeCompBehaviorWithButton(DigitalIn btn, DigitalOut out); int flashLedBus(BusOut myled); int setLedBrightness(float brightness, PwmOut out); float getTemperature(); char cmd[2]; // Output Array BusOut myled(P1_13,P1_12,P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1); DigitalIn sw1(P0_10); DigitalIn sw2(P0_15); DigitalIn sw3(P0_23); DigitalIn sw4(P1_16); PwmOut rgb_green(p5); PwmOut rgb_blue(p34); PwmOut rgb_red(p36); AnalogIn pot(p15); AnalogIn ldr(p16); DigitalOut led(LED1); Serial pc(USBTX, USBRX); I2C i2c(p28, p27); const int addr = 0x90; #define CONST 12 int main() { pc.printf("MBED Prgramm gestartet!\r\n"); while(1) { pc.printf("Potentiometer: \t%.3f\r\n",pot.read()); pc.printf("LDR: \t\t%.3f\r\n",ldr.read()); pc.printf("Temperatur: \t%.2f\r\n",getTemperature()); pc.printf("Switch1: \t%d\r\n",sw1.read()); pc.printf("Switch2: \t%d\r\n",sw2.read()); pc.printf("Switch3: \t%d\r\n",sw3.read()); pc.printf("Switch4: \t%d\r\n",sw4.read()); pc.printf("+++++++++++++++++++++++++++++++++++++++++\r\n"); wait(1); } } float getTemperature() { cmd[0] = 0x01; cmd[1] = 0x00; i2c.write(addr, cmd, 2); wait(0.5); cmd[0] = 0x00; i2c.write(addr, cmd, 1); i2c.read(addr, cmd, 2); float tmp = (float((cmd[0]<<8)|cmd[1]) / 256.0); return tmp; } int changeCompBehaviorWithButton(DigitalIn btn, DigitalOut out) { if(btn) { out = !out; return false; } return true; } int setLedBrightness(float brightness, PwmOut out) { out.write(brightness); return true; } int flashLedBus(BusOut myled) { int i; myled=0x0001; // auf Led 1 wird HIGH geschrieben wait(1); // eine Sekunde warten myled=0x0003; // auf Led 2 wird HIGH geschrieben wait(1); myled=0x0006; // auf Led 3 wird HIGH geschrieben wait(1); myled=0x0018; wait(1); myled=0x0030; wait(1); myled=0x0060; // Forschleife for (i=1; i<12; i++) { // << kleiner - >> größer ...als myled=myled>>1; wait(0.1); } return true; }