Example Protocol Serial-PC-Communication for NUClight ToDo: make it better:-)

Dependencies:   mbed DS1820

Committer:
fpucher
Date:
Tue Feb 04 11:33:51 2020 +0000
Revision:
0:da28608fbcaf
Example Protocol Serial-PC-Communication for NUClight ToDo: make it better:-)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fpucher 0:da28608fbcaf 1 // BULME Graz,
fpucher 0:da28608fbcaf 2 // by F. Wolf 01.11.2019
fpucher 0:da28608fbcaf 3 /*
fpucher 0:da28608fbcaf 4 PIN-OUT-NUClight
fpucher 0:da28608fbcaf 5 NUCLEO-L432KC
fpucher 0:da28608fbcaf 6 RGB-rot D1|-------| VIn
fpucher 0:da28608fbcaf 7 RGB-gruen D0| | GND
fpucher 0:da28608fbcaf 8 NRST| | RST
fpucher 0:da28608fbcaf 9 GND| | 5V0
fpucher 0:da28608fbcaf 10 LED1 <-D2| | A7
fpucher 0:da28608fbcaf 11 LED2 <-D3| | A6 -> LED7
fpucher 0:da28608fbcaf 12 SDA (I2C) (MPU6050 gyro) <- D4| | A5
fpucher 0:da28608fbcaf 13 SCL (I2C) (MPU6050 gyro) <- D5| | A4
fpucher 0:da28608fbcaf 14 LED3 <-D6| | A3 -> POTI
fpucher 0:da28608fbcaf 15 nc D7| | A2 -> Taster
fpucher 0:da28608fbcaf 16 nc D8| | A1 -> Taster
fpucher 0:da28608fbcaf 17 LED4 D9| | A0 -> DS18B20
fpucher 0:da28608fbcaf 18 RGB-blau <- D10| | ARF
fpucher 0:da28608fbcaf 19 LED5 <- D11| | 3V0
fpucher 0:da28608fbcaf 20 LED6 <- D12|-------| D13 -> LED8
fpucher 0:da28608fbcaf 21 */
fpucher 0:da28608fbcaf 22 #include "mbed.h"
fpucher 0:da28608fbcaf 23 #include "DS1820.h" // library Zoltan Hudak
fpucher 0:da28608fbcaf 24
fpucher 0:da28608fbcaf 25 #define STR_MAX 10
fpucher 0:da28608fbcaf 26 DigitalOut led1(LED1);
fpucher 0:da28608fbcaf 27 DigitalOut led2(D3);
fpucher 0:da28608fbcaf 28 DigitalOut led3(D6);
fpucher 0:da28608fbcaf 29 DigitalOut led4(D9);
fpucher 0:da28608fbcaf 30
fpucher 0:da28608fbcaf 31 Serial pc(USBTX, USBRX);
fpucher 0:da28608fbcaf 32 DS1820 ds1820(A0);
fpucher 0:da28608fbcaf 33
fpucher 0:da28608fbcaf 34 char str[STR_MAX];
fpucher 0:da28608fbcaf 35 char str2[STR_MAX];
fpucher 0:da28608fbcaf 36 int index=0;
fpucher 0:da28608fbcaf 37
fpucher 0:da28608fbcaf 38 int main()
fpucher 0:da28608fbcaf 39 {
fpucher 0:da28608fbcaf 40 float fwert = 12.23;
fpucher 0:da28608fbcaf 41 float twert = 22.5;
fpucher 0:da28608fbcaf 42 char key1[] = "1";
fpucher 0:da28608fbcaf 43 char key2[] = "2";
fpucher 0:da28608fbcaf 44 char key3[] = "3";
fpucher 0:da28608fbcaf 45 char key4[] = "D";
fpucher 0:da28608fbcaf 46 char keyR[] = "RD";
fpucher 0:da28608fbcaf 47 char keyW[] = "FWR";
fpucher 0:da28608fbcaf 48 char keyX[] = "IXX";
fpucher 0:da28608fbcaf 49 char keyZ[] = "TA";
fpucher 0:da28608fbcaf 50
fpucher 0:da28608fbcaf 51 if (ds1820.begin()) {
fpucher 0:da28608fbcaf 52 ds1820.startConversion();
fpucher 0:da28608fbcaf 53 twert = ds1820.read();
fpucher 0:da28608fbcaf 54 } else {
fpucher 0:da28608fbcaf 55 twert = 22.5;
fpucher 0:da28608fbcaf 56 }
fpucher 0:da28608fbcaf 57 while (1) {
fpucher 0:da28608fbcaf 58 led1 = !led1;
fpucher 0:da28608fbcaf 59 pc.scanf("%s", str);
fpucher 0:da28608fbcaf 60 if(!strcmp(str, key1)) {
fpucher 0:da28608fbcaf 61 //led1=!led1;
fpucher 0:da28608fbcaf 62 } else if(!strcmp(str, key2)) {
fpucher 0:da28608fbcaf 63 led2=!led2;
fpucher 0:da28608fbcaf 64 } else if(!strcmp(str, key3)) {
fpucher 0:da28608fbcaf 65 led3=!led3;
fpucher 0:da28608fbcaf 66 } else if(!strcmp(str, key4)) {
fpucher 0:da28608fbcaf 67 led4=!led4;
fpucher 0:da28608fbcaf 68 } else if(!strcmp(str, keyR)) {
fpucher 0:da28608fbcaf 69 //led4=1;
fpucher 0:da28608fbcaf 70 snprintf(str2, STR_MAX, "%f", fwert);
fpucher 0:da28608fbcaf 71 pc.printf("%s\n\r", str2);
fpucher 0:da28608fbcaf 72 } else if(!strcmp(str, keyX)) {
fpucher 0:da28608fbcaf 73 //led4=0;
fpucher 0:da28608fbcaf 74 pc.printf("%d\n", 7);
fpucher 0:da28608fbcaf 75 } else if(!strcmp(str, keyW)) {
fpucher 0:da28608fbcaf 76 //led4=0;
fpucher 0:da28608fbcaf 77 pc.printf("%f\n", fwert);
fpucher 0:da28608fbcaf 78 } else if(!strcmp(str, keyZ)) {
fpucher 0:da28608fbcaf 79 //led4=0;
fpucher 0:da28608fbcaf 80 pc.printf("%f\n", twert);
fpucher 0:da28608fbcaf 81 }
fpucher 0:da28608fbcaf 82 }
fpucher 0:da28608fbcaf 83 }